[LLVMbugs] [Bug 2034] New: module-level analysis invalidated but not re-run

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Feb 13 23:10:27 PST 2008


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

           Summary: module-level analysis invalidated but not re-run
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Scalar Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nicholas at mxc.ca
                CC: dpatel at apple.com, llvmbugs at cs.uiuc.edu


Here's an interesting one:

$ llvm-commit/Debug/bin/opt -anders-aa -instcombine -gvn b.bc
-debug-pass=Structure

Now before I get to the output, what's happening is that
  a) anders-aa registers all the Values up front
  b) instcombine folds together two GEPs (%tmp10 and %tmp11) creating a new one
(%tmp11) which anders-aa hasn't seen
  c) gvn queries anders-aa about the new %tmp11

instcombine is marked as preserving the CFG, but not any AA stuff, so really
anders-aa should be re-run before gvn gets to it. Here's the output:

Pass Arguments:  -anders-aa -instcombine -domtree -memdep -gvn -preverify
-domtree -verify
Target Data Layout
Basic Alias Analysis (default AA impl)
  ModulePass Manager
    Andersen's Interprocedural Alias Analysis
    FunctionPass Manager
      Combine redundant instructions
--      Combine redundant instructions
      Dominator Tree Construction
      Memory Dependence Analysis
      Global Value Numbering
--      Global Value Numbering
--      Dominator Tree Construction
--      Memory Dependence Analysis
      Preliminary module verification
      Dominator Tree Construction
      Module Verifier
--      Dominator Tree Construction
--      Module Verifier
--      Preliminary module verification
--    Andersen's Interprocedural Alias Analysis
--    Target Data Layout
        %tmp11 = getelementptr %struct.FULL* %tmp9, i32 0, i32 2, i32 0       
; <float**> [#uses=1]

opt: Andersens.cpp:497: unsigned
int<unnamed>::Andersens::getNode(llvm::Value*): Assertion `0 && "Value does not
have a node in the points-to graph!"' failed.
llvm-commit/Debug/bin/opt[0x85f97ee]
llvm-commit/Debug/bin/opt[0x85f9ab4]
[0xffffe500]
Aborted


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