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
Unit Tests
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?