Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Analysis not updated after running a CallGraphSCCPass. #4106

Open Quuxplusone opened 15 years ago

Quuxplusone commented 15 years ago
Bugzilla Link PR3703
Status NEW
Importance P normal
Reported by Julien Lerouge (jlerouge@apple.com)
Reported on 2009-03-02 17:51:10 -0800
Last modified on 2009-09-01 13:38:43 -0700
Version unspecified
Hardware PC All
CC clattner@nondot.org, llvm-bugs@lists.llvm.org, tonic@nondot.org
Fixed by commit(s)
Attachments Hello.cpp (2101 bytes, application/octet-stream)
Blocks
Blocked by
See also
Created attachment 2643
Testcase to reproduce the problem.

The attached Hello.cpp file illustrates my problem. Replace the original
Hello.cpp on the LLVM tree with that one, build and then run (assuming you are
on Darwin):

$ ./Debug/bin/opt --debug-pass=Structure --load LLVMHello.dylib -mysccpass -
hello -f -o t2.bc t.bc
Pass Arguments:  -myanalysis -basiccg -mysccpass -hello -preverify -domtree -
verify
Target Data Layout
  ModulePass Manager
    My Analysis
    Basic CallGraph Construction
    Call Graph SCC Pass Manager
      My SCCPass
    Hello World Pass
    FunctionPass Manager
      Preliminary module verification
      Dominator Tree Construction
      Module Verifier
    Bitcode Writer
 -- Done running MyAnalysis
 -- Done running MySCCPass
 -- Done running Hello

As you can see above, MyAnalysis is not re-run after MySCCPass, even though
MySCCPass is not marking the analysis as beeing preserved. I was expecting it
would be re-run so Hello can start with a valid analysis.

Thanks,
Julien
Quuxplusone commented 15 years ago

Attached Hello.cpp (2101 bytes, application/octet-stream): Testcase to reproduce the problem.

Quuxplusone commented 15 years ago

Devang,

Any idea about this bug?

Quuxplusone commented 15 years ago

It is a pass manager bug, similar to 3601.

Quuxplusone commented 15 years ago

Bug 3601 is now fixed, is this also fixed?