This makes it pass under the NPM.
The legacy PM pass ran passes on SCCs in a different order, causing
argpromotion to not trigger on @bar().
Details
Details
- Reviewers
rnk - Commits
- rG245d71bae5a9: [test] Simplify pr33641_remove_arg_dbgvalue.ll
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
The legacy PM pass ran passes on SCCs in a different order, causing
argpromotion to not trigger on @bar().
I see, so DSE would run, then bar would become unreferenced, and then there would be no reason to promote arguments?
llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll | ||
---|---|---|
23 | I think it's generally good practice to keep around some CHECK lines for context, like this define @bar line. It helps to make the test more robust to future modifications that add code later with more dbg.values that might match this CHECK here. |
Comment Actions
Actually, the legacy PM first ran passes on @foo(), then @bar() arbitrarily since it doesn't keep track of function references, only direct calls. In the NPM, it sees the reference of @bar() in @foo(), so properly first runs passes on @bar() then @foo().
I think it's generally good practice to keep around some CHECK lines for context, like this define @bar line. It helps to make the test more robust to future modifications that add code later with more dbg.values that might match this CHECK here.