[llvm-commits] [llvm-gcc-4.2] r56145 - in /llvm-gcc-4.2/trunk/gcc: llvm-backend.cpp llvm-linker-hack.cpp

Duncan Sands baldrick at free.fr
Fri Sep 12 01:30:40 PDT 2008


Author: baldrick
Date: Fri Sep 12 03:30:40 2008
New Revision: 56145

URL: http://llvm.org/viewvc/llvm-project?rev=56145&view=rev
Log:
Give GlobalsModRef a whirl in the nightly testers.
I placed it just before GVN because that it is the
pass most likely to benefit from it.  Some quick
and dirty testing confirms that this is a decent
place for it.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
    llvm-gcc-4.2/trunk/gcc/llvm-linker-hack.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=56145&r1=56144&r2=56145&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Fri Sep 12 03:30:40 2008
@@ -30,6 +30,7 @@
 #include "llvm/PassManager.h"
 #include "llvm/ValueSymbolTable.h"
 #include "llvm/Analysis/LoopPass.h"
+#include "llvm/Analysis/Passes.h"
 #include "llvm/Analysis/Verifier.h"
 #include "llvm/Assembly/Writer.h"
 #include "llvm/Assembly/PrintModulePass.h"
@@ -429,6 +430,10 @@
     if (flag_unroll_loops)
       PM->add(createLoopUnrollPass());          // Unroll small loops
     PM->add(createInstructionCombiningPass());  // Clean up after the unroller
+    if (flag_unit_at_a_time) {
+      PM->add(createGlobalsModRefPass());       // Alias analysis of globals
+      PM->add(createMarkModRefPass());       // Mark functions readonly/readnone
+    }
     PM->add(createGVNPass());                   // Remove redundancies
     PM->add(createMemCpyOptPass());             // Remove memcpy / form memset
     PM->add(createSCCPPass());                  // Constant prop with SCCP

Modified: llvm-gcc-4.2/trunk/gcc/llvm-linker-hack.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-linker-hack.cpp?rev=56145&r1=56144&r2=56145&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-linker-hack.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-linker-hack.cpp Fri Sep 12 03:30:40 2008
@@ -22,6 +22,7 @@
 
 #include "llvm/Module.h"
 #include "llvm/ModuleProvider.h"
+#include "llvm/Analysis/Passes.h"
 #include "llvm/Analysis/Verifier.h"
 #include "llvm/Target/TargetMachineRegistry.h"
 #include "llvm/Transforms/Scalar.h"
@@ -85,6 +86,8 @@
   llvm::createMemCpyOptPass();
   llvm::createDeadTypeEliminationPass();
   llvm::createLoopDeletionPass();
+  llvm::createGlobalsModRefPass();
+  llvm::createMarkModRefPass();
 
   std::string Err;
   llvm::TargetMachineRegistry::getClosestStaticTargetForModule(*MP->getModule(),





More information about the llvm-commits mailing list