[LLVMbugs] [Bug 7720] New: AliasAnalysis passes cannot be chained

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jul 27 05:12:02 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7720

           Summary: AliasAnalysis passes cannot be chained
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Interprocedural Analyses
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: asl at math.spbu.ru
                CC: llvmbugs at cs.uiuc.edu


Consider the following simple patch:
diff --git a/include/llvm/Support/StandardPasses.h
b/include/llvm/Support/StandardPasses.h
index b97ad29..3f3d970 100644
--- a/include/llvm/Support/StandardPasses.h
+++ b/include/llvm/Support/StandardPasses.h
@@ -129,6 +129,8 @@ namespace llvm {
     PM->add(createCFGSimplificationPass());     // Merge & remove BBs
     PM->add(createReassociatePass());           // Reassociate expressions
     PM->add(createLoopRotatePass());            // Rotate Loop
+    if (OptimizationLevel > 2)
+      PM->add(createGlobalsModRefPass());
     PM->add(createLICMPass());                  // Hoist loop invariants
     PM->add(createLoopUnswitchPass(OptimizeSize || OptimizationLevel < 3));
     PM->add(createInstructionCombiningPass());  

I'm seeing completely different behavior when createStandardModulePasses() is
called from opt and from llvm-gcc.

When running opt -O3 is run there are calls to GlobalsModRegAA::alias(), but
nothing from llvm-gcc -O3. The pass itself initializes fine in both cases.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list