This commit was made to settle this issue on GitHub.
I added analysis getters for LoopInfo, DominatorTree, and PostDominatorTree. And I added a test to show an improvement of the deduction of dereferenceable attribute.
Details
Diff Detail
Event Timeline
llvm/include/llvm/Transforms/IPO/Attributor.h | ||
---|---|---|
566 | Maybe I misunderstood something, but isn't this supposed to return existing analysis results instead of creating new ones? |
llvm/include/llvm/Transforms/IPO/Attributor.h | ||
---|---|---|
566 | my bad, sorry |
LGTM
llvm/include/llvm/Transforms/IPO/Attributor.h | ||
---|---|---|
568 | nit: //LIGetter -> /* LIGetter*/ |
llvm/include/llvm/Transforms/IPO/Attributor.h | ||
---|---|---|
568 | I'm sorry for not following the standards. I fixed them. |
We have no other test changes? Unfortunate.
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | TBH, I'm confused why this works. this test is only run in the old pass manager which doesn't support querying analysis passes (from the Attributor). Where am I wrong? |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | That makes sense. I tested locally and it doesn't pass, maybe I miss something too though. |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | Sorry, I have missed this test uses OPM. It doesn't pass locally. |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | Could be that he didn't re-run the tests, since it should have worked with previous diff that didn't use AnalysisGetter. |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | FWIW, the solution here is to verify this works in the new pass manager ;), hence add a run line and different check lines for the new PM |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | yes, add a new RUN line. You can take a look at align.ll for example |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | I added it. I don't know what kind of name is appropriate for the label, so I use the default prefix. |
One Nit, LGTM (assuming it passes all tests).
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | Make the prefix ATTRIBUTOR_CGSCC_NPM |
llvm/test/Transforms/Attributor/dereferenceable-2.ll | ||
---|---|---|
400 | I changed the prefix. |
I want to upstream but to attribute this to you I need "Firstname Lastname <email>" from you
Maybe I misunderstood something, but isn't this supposed to return existing analysis results instead of creating new ones?