summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-04-10 20:37:47 +0000
committerChris Lattner <sabre@nondot.org>2002-04-10 20:37:47 +0000
commitf8b90ee366cb3030b4d60a7dc4a911ffbdbe7fd7 (patch)
tree584979760736460a71a62dfd4c17097c43d0b5fd /tools
parent6a1f6940a189ea144bdd5efde53325f68c6ae330 (diff)
downloadllvm-f8b90ee366cb3030b4d60a7dc4a911ffbdbe7fd7.tar.gz
llvm-f8b90ee366cb3030b4d60a7dc4a911ffbdbe7fd7.tar.bz2
llvm-f8b90ee366cb3030b4d60a7dc4a911ffbdbe7fd7.tar.xz
* The cleangcc pass is broken into two parts, we only want to
FunctionResolvingPass one. * We run it *after* the symbol stripping pass so that -strip can be pipelined with the constant merging pass or something else if desired. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2226 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/gccld/gccld.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp
index 66d1afb4f3..11595f7d22 100644
--- a/tools/gccld/gccld.cpp
+++ b/tools/gccld/gccld.cpp
@@ -120,7 +120,7 @@ int main(int argc, char **argv) {
}
}
- // In addition to just parsing the input from GCC, we also want to spiff it up
+ // In addition to just linking the input from GCC, we also want to spiff it up
// a little bit. Do this now.
//
PassManager Passes;
@@ -130,13 +130,6 @@ int main(int argc, char **argv) {
//
Passes.add(createConstantMergePass());
- // Often if the programmer does not specify proper prototypes for the
- // functions they are calling, they end up calling a vararg version of the
- // function that does not get a body filled in (the real function has typed
- // arguments). This pass merges the two functions, among other things.
- //
- Passes.add(createCleanupGCCOutputPass());
-
// 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.
@@ -144,6 +137,13 @@ int main(int argc, char **argv) {
if (Strip)
Passes.add(createSymbolStrippingPass());
+ // Often if the programmer does not specify proper prototypes for the
+ // functions they are calling, they end up calling a vararg version of the
+ // function that does not get a body filled in (the real function has typed
+ // arguments). This pass merges the two functions.
+ //
+ Passes.add(createFunctionResolvingPass());
+
// Now that composite has been compiled, scan through the module, looking for
// a main function. If main is defined, mark all other functions internal.
//