AMDGPUAtomicOptimizer updates the dominator tree whenever
it modified the control flow. Therefore preserving the
analysis similar to legacy PM.
Details
- Reviewers
arsenm yassingh foad - Group Reviewers
Restricted Project - Commits
- rG8e1e871e2ff1: [AMDGPU] Preserve dom-tree analysis in atomic optimizer.
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Time | Test | |
---|---|---|
60,100 ms | x64 debian > MLIR.Examples/standalone::test.toy | |
660 ms | x64 debian > lld.ELF::arm-data-relocs.s |
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp | ||
---|---|---|
150–152 | Nit: Can reverse the if condition to be more consistent with other passes. |
Why doesn’t this need an llc-pipeline or opt-pipeline update? Do we not have new PM pass testing?
Atomic optimizer pass is not configured with opt and llc uses legacy PM which already preserve this analysis. Therefore opt/llc pipeline doesn't need update. I think, There is no test for NewPM with pre-codegen (IR) passes.
We should have one. I thought we had an opt pipeline test but I don't see one, other targets do
I am not finding opt pipeline test for other targets. Can you please link it here. Interestingly, X86 and loongarch have filenames as opt-pipeline but these tests are invoking llc and not opt
So it was just delete and never replaced, as suggested should follow through with that. I also don't see why we wouldn't just duplicate the test per target
Nit: Can reverse the if condition to be more consistent with other passes.