This patch removes -fixed-abi check for indirect calls
and also adds queue-ptr which is required for indirect calls to work.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/Target/AMDGPU/SIISelLowering.cpp | ||
|---|---|---|
| 2961 | Calling specific attention to this: | |
| llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
|---|---|---|
| 42–46 | Why bother with the alloca/addrspacecast? This ends up getting optimized to LDS anyway | |
| llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
|---|---|---|
| 42–46 | specifically denote typical sequence of instructions generated by frontend | |
| llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
|---|---|---|
| 42–46 | What the frontend initially emits is less important unless we for some reason would break it. This should use the minimum IR to exercise the feature | |
| llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
|---|---|---|
| 42–46 | But we have many tests which covers minimum IR. We don't have any which covers typical pattern generated by frontend. | |
| llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
|---|---|---|
| 42–46 | But this isn't what you are testing. The IR should be the minimum set required to reproduce the issue you are attempting to fix | |
Calling specific attention to this:
For AMDPAL, do we want indirect functions to work *only* when -fixed-abi is provided?
What are the cases for which we want to error out?