Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | ||
---|---|---|
83 ↗ | (On Diff #144402) | Why do we need to do this at all? The standard pass pipeline adds this? |
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp | ||
483 ↗ | (On Diff #144402) | Also needs to consider LT.second? |
lib/Target/AMDGPU/SIISelLowering.cpp | ||
6614–6635 ↗ | (On Diff #144402) | This is a separate patch |
6635 ↗ | (On Diff #144402) | Needs a default |
Added op_sel clauses.
Addressed other comments.
lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | ||
---|---|---|
83 ↗ | (On Diff #144402) | Right, the standard pass pipeline adds this. I thought it's a good practice to check the desired instructions directly for a lit-test. Without this switch, I will have to feed the vecotized testcase. |
86 ↗ | (On Diff #144402) | SLP is a common optimizer, it does not need to be run as a target optimizer. I added this switch so that SLP can be run with llc. This allows checking the machine instructions directly for a scalar testcase as opposed to a vectorized testcase. |
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp | ||
483 ↗ | (On Diff #144402) | We don't want to consider the number of vector elements(LT.second) since we only care about the vectorization cost here. |
lib/Target/AMDGPU/SIISelLowering.cpp | ||
6635 ↗ | (On Diff #144402) | I am not sure whether I understand your comment here. This is an auxiliary patch for enabling slp-reduction and it is easy to see the motivation of this patch when it's combined with SLP-reduction. Without this patch enabling SLP-reduction could cause performance regression. The current tests cover this piece of code. |
test/CodeGen/AMDGPU/reduction.ll | ||
6 ↗ | (On Diff #144402) | Added. |