Even with -disable-opt we should still internalize and strip if requested.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17903 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-11-16 18:59:20 +00:00
parent 39a83dc37c
commit 429a9cbc2e

View File

@ -153,14 +153,14 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
// 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());
@ -168,12 +168,6 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
// 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());
@ -214,6 +208,12 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
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());