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. |