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–44 ↗ | (On Diff #338586) | Why bother with the alloca/addrspacecast? This ends up getting optimized to LDS anyway |
llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
---|---|---|
42–44 ↗ | (On Diff #338586) | specifically denote typical sequence of instructions generated by frontend |
llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll | ||
---|---|---|
42–44 ↗ | (On Diff #338586) | 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–44 ↗ | (On Diff #338586) | 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–44 ↗ | (On Diff #338586) | 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?