Add G_BUILD_VECTOR and G_BUILD_VECTOR_TRUNC to the list of opcodes in
shouldCSEOpc. This simplifies the code generated for vector splats.
Details
- Reviewers
paquette aemerson foad arsenm - Group Reviewers
Restricted Project - Commits
- rG6ee4f253b2c4: [GlobalISel] Add G_BUILD_VECTOR[_TRUNC] to CSE
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-mulo-zero.mir | ||
|---|---|---|
| 91 | Well, my hypothesis is that: | |
| llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector-splat.mir | ||
| 1 | ||
| llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-mulo-zero.mir | ||
|---|---|---|
| 91 | There is a "copy_prop" combine that should do that, and AArch64PreLegalizerCombiner runs "all_combines", so I don't understand why it's not happening. | |
| llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-mulo-zero.mir | ||
|---|---|---|
| 91 | Oh, that's easy then, the test is run with --aarch64prelegalizercombinerhelper-only-enable-rule="mulo_by_0" :) | |
| llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-mulo-zero.mir | ||
|---|---|---|
| 91 | Thanks! I did not even know you could do that. | |
What happened here?