This fixes a regression caused by r256282.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
| lib/Target/AMDGPU/AMDGPUInstructions.td | ||
|---|---|---|
| 391 ↗ | (On Diff #43502) | I think this def should be untouched because it is used to FLAT for real flat address. |
| lib/Target/AMDGPU/CIInstructions.td | ||
| 265 ↗ | (On Diff #43502) | Do you think we should use "mubuf_load" here? With FlatForGlobal ON, we actually disabled SelectMUBUF. As a result, we should select FLAT for mubuf here. |
| lib/Target/AMDGPU/SIInstrInfo.td | ||
| 149 ↗ | (On Diff #43502) | This def here is a little confusion because it may have side effect for the general case where FlatForGlobal is OFF. |
| lib/Target/AMDGPU/AMDGPUInstructions.td | ||
|---|---|---|
| 391 ↗ | (On Diff #43502) | I didn't remove this, I just moved it into SIInstrInfo.td. It's a GCN specific definition, so I think that is a better place for it. |
| lib/Target/AMDGPU/CIInstructions.td | ||
| 259–262 ↗ | (On Diff #43502) | Yes. |
| 265 ↗ | (On Diff #43502) | flat_load matches an additional address space "FlatAddress". |
| lib/Target/AMDGPU/SIInstrInfo.td | ||
| 149 ↗ | (On Diff #43502) | I'm not sure what you mean here. |
| lib/Target/AMDGPU/AMDGPUInstructions.td | ||
|---|---|---|
| 391 ↗ | (On Diff #43502) | The relocation is fine. But I can not understand the redefinition of flat_load. |
| lib/Target/AMDGPU/CIInstructions.td | ||
| 265 ↗ | (On Diff #43502) | Do you think FlatAddress should be matched here? |
| lib/Target/AMDGPU/SIInstrInfo.td | ||
| 149 ↗ | (On Diff #43502) | If isGlobalLoad is true, then flat_load is true. This statement is valid only when FlatForGlobal is set. |
| lib/Target/AMDGPU/CIInstructions.td | ||
|---|---|---|
| 259–262 ↗ | (On Diff #43502) | Actually, constant extloads already work. I've added test cases for this. |
| lib/Target/AMDGPU/AMDGPUInstructions.td | ||
|---|---|---|
| 391 ↗ | (On Diff #43559) | The new definition will match loads in the global and constant address space. The previous definition only matched loads in the flat ("generic" in OpenCL) address space. |
| lib/Target/AMDGPU/CIInstructions.td | ||
| 265 ↗ | (On Diff #43559) | Those patterns are redundant now. I will remove them. |
| lib/Target/AMDGPU/SIInstrInfo.td | ||
| 149 ↗ | (On Diff #43559) | These functions only look at the the address space of the load instruction. FlatForGlobal has no effect on them. |
| lib/Target/AMDGPU/CIInstructions.td | ||
|---|---|---|
| 265 ↗ | (On Diff #43559) | I looked at this more closely and they actually aren't redundant, because they match flat address space on Kaveri without HSA. |
| lib/Target/AMDGPU/CIInstructions.td | ||
|---|---|---|
| 265 ↗ | (On Diff #43559) | what was redundant is here: |
LGTM
| lib/Target/AMDGPU/SIInstrInfo.td | ||
|---|---|---|
| 147–148 ↗ | (On Diff #43573) | global should be tested first since it is more common |