[llvm-commits] CVS: llvm/tools/gccld/GenerateCode.cpp

Chris Lattner lattner at cs.uiuc.edu
Tue Jul 27 01:13:25 PDT 2004



Changes in directory llvm/tools/gccld:

GenerateCode.cpp updated: 1.29 -> 1.30

---
Log message:

Run DSE at link-time, and turn on an IP alias analysis by default in gccld!

The -disable-globalsmodref is temporary and will be removed eventually.


---
Diffs of the changes:  (+7 -1)

Index: llvm/tools/gccld/GenerateCode.cpp
diff -u llvm/tools/gccld/GenerateCode.cpp:1.29 llvm/tools/gccld/GenerateCode.cpp:1.30
--- llvm/tools/gccld/GenerateCode.cpp:1.29	Wed Jun 23 12:32:09 2004
+++ llvm/tools/gccld/GenerateCode.cpp	Tue Jul 27 03:13:15 2004
@@ -17,6 +17,7 @@
 #include "llvm/Module.h"
 #include "llvm/PassManager.h"
 #include "llvm/Analysis/LoadValueNumbering.h"
+#include "llvm/Analysis/Passes.h"
 #include "llvm/Analysis/Verifier.h"
 #include "llvm/Bytecode/WriteBytecodePass.h"
 #include "llvm/Target/TargetData.h"
@@ -37,6 +38,9 @@
   cl::opt<bool>
   DisableOptimizations("disable-opt",
                        cl::desc("Do not run any optimization passes"));
+  cl::opt<bool>
+  DisableGlobalsModRef("disable-globalsmodref", cl::Hidden,
+                      cl::desc("Turn on the more aggressive alias analysis"));
 }
 
 /// CopyEnv - This function takes an array of environment variables and makes a
@@ -196,11 +200,13 @@
     addPass(Passes, createScalarReplAggregatesPass()); // Break up allocas
 
     // Run a few AA driven optimizations here and now, to cleanup the code.
-    // Eventually we should put an IP AA in place here.
+    if (!DisableGlobalsModRef)
+      addPass(Passes, createGlobalsModRefPass());    // IP alias analysis
 
     addPass(Passes, createLICMPass());               // Hoist loop invariants
     addPass(Passes, createLoadValueNumberingPass()); // GVN for load instrs
     addPass(Passes, createGCSEPass());               // Remove common subexprs
+    addPass(Passes, createDeadStoreEliminationPass()); // Nuke dead stores
 
     // Cleanup and simplify the code after the scalar optimizations.
     addPass(Passes, createInstructionCombiningPass());





More information about the llvm-commits mailing list