// arguments). This pass merges the two functions.
addPass(Passes, createFunctionResolvingPass());
- if (!DisableOptimizations) {
- if (Internalize) {
- // Now that composite has been compiled, scan through the module, looking
- // for a main function. If main is defined, mark all other functions
- // internal.
- addPass(Passes, createInternalizePass());
- }
+ if (Internalize) {
+ // Now that composite has been compiled, scan through the module, looking
+ // for a main function. If main is defined, mark all other functions
+ // internal.
+ addPass(Passes, createInternalizePass());
+ }
+ if (!DisableOptimizations) {
// Now that we internalized some globals, see if we can hack on them!
addPass(Passes, createGlobalOptimizerPass());
// keep one copy of each constant...
addPass(Passes, createConstantMergePass());
- // If the -s command line option was specified, strip the symbols out of the
- // resulting program to make it smaller. -s is a GCC option that we are
- // supporting.
- if (Strip)
- addPass(Passes, createSymbolStrippingPass());
-
// Propagate constants at call sites into the functions they call.
addPass(Passes, createIPConstantPropagationPass());
addPass(Passes, createGlobalDCEPass());
}
+ // If the -s command line option was specified, strip the symbols out of the
+ // resulting program to make it smaller. -s is a GCC option that we are
+ // supporting.
+ if (Strip)
+ addPass(Passes, createSymbolStrippingPass());
+
// Make sure everything is still good.
Passes.add(createVerifierPass());