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 | ||
|---|---|---|
| 564 | 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 | ||
|---|---|---|
| 564 | my bad, sorry | |
LGTM
| llvm/include/llvm/Transforms/IPO/Attributor.h | ||
|---|---|---|
| 566 | nit: //LIGetter -> /* LIGetter*/ | |
| llvm/include/llvm/Transforms/IPO/Attributor.h | ||
|---|---|---|
| 566 | 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?