Passing AliasAnalysis results instead of nullptr appears to work just fine.
A couple new-pass-manager tests updated to align with new order of analyses.
Details
Diff Detail
- Build Status
Buildable 13087 Build 13087: arc lint + arc unit
Event Timeline
LGTM. It'd be great to add an instcombine test that uses new PM and requires AA to optimize as well. Can be in a follow-up commit if needed.
lib/Transforms/InstCombine/InstructionCombining.cpp | ||
---|---|---|
3289 | Chandler, may be you can answer this question: why do we need to preserve BasicAA if we already preserved AAManager? |
lib/Transforms/InstCombine/InstructionCombining.cpp | ||
---|---|---|
3289 | The AA manager just brokers access to the various different alias analyses. You still need to preserve the analyses themselves. Now that the invalidation support is fully wired up, we could probably remove the need to explicitly preserve the AAManager and just have it remain preserved automatically if all of the AAs are preserved. But it isn't a big deal. The only cost to invalidating the AAManager is that we have to go and look up the N different alias analyses for the next pass. |
Chandler, may be you can answer this question: why do we need to preserve BasicAA if we already preserved AAManager?