aboutsummaryrefslogtreecommitdiff
path: root/tools/gccld/GenerateCode.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-11-16 18:59:20 +0000
committerChris Lattner <sabre@nondot.org>2004-11-16 18:59:20 +0000
commit429a9cbc2e29d82e6897ad2a57c69ef5c4bec142 (patch)
tree920fb4c1cf81962138923329579adc081baeb59f /tools/gccld/GenerateCode.cpp
parent39a83dc37cfc59bee8def2230fa4956267da6042 (diff)
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
Diffstat (limited to 'tools/gccld/GenerateCode.cpp')
-rw-r--r--tools/gccld/GenerateCode.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/tools/gccld/GenerateCode.cpp b/tools/gccld/GenerateCode.cpp
index df34700725..e604921a90 100644
--- a/tools/gccld/GenerateCode.cpp
+++ b/tools/gccld/GenerateCode.cpp
@@ -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());