[LLVMbugs] [Bug 3323] New: AliasAnalysis pass removed before function pass can use it

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Jan 14 02:54:49 PST 2009


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

           Summary: AliasAnalysis pass removed before function pass can use
                    it
           Product: libraries
           Version: 2.3
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: hvdieren at elis.ugent.be
                CC: hvdieren at elis.ugent.be, llvmbugs at cs.uiuc.edu


The following command line suggests that the LICM pass can use the Andersens
Alias Analysis (for instance) to do its alias analysis:

$ opt -debug-pass=Structure -disable-opt -basicaa -anders-aa -licm in.bc -f -o
out.bc

But as the output shows, the AndersensAA, which is a ModulePass, is destroyed
before the FunctionPasses are run!

Pass Arguments:  -anders-aa -domtree -loops -loopsimplify -domfrontier
-scalar-evolution -licm -preverify -domtree -verify
Target Data Layout
Basic Alias Analysis (default AA impl)
  ModulePass Manager
    Andersen's Interprocedural Alias Analysis
--    Andersen's Interprocedural Alias Analysis
    FunctionPass Manager
      Dominator Tree Construction
      Natural Loop Construction
      Canonicalize natural loops
      Dominance Frontier Construction
      Scalar Evolution Analysis
      Loop Pass Manager
        Loop Invariant Code Motion
--        Loop Invariant Code Motion
--      Canonicalize natural loops
--      Basic Alias Analysis (default AA impl)
--      Natural Loop Construction
--      Dominator Tree Construction
--      Dominance Frontier Construction
--      Scalar Evolution Analysis
      Preliminary module verification
      Dominator Tree Construction
      Module Verifier
--      Preliminary module verification
--      Dominator Tree Construction
--      Module Verifier
    Bitcode Writer
--    Bitcode Writer

The problem is thus that FunctionPasses (and other finer-grain passes) can
never benefit from detailed AliasAnalysis passes, which are invariably
ModulePasses.


-- 
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