Issue 183078
Summary `S_CBRANCH_G/I_FORK` and `S_CBRANCH_JOIN` Are Not Designated As Branches in the AMDGPU Backend
Labels new issue
Assignees
Reporter matinraayai
    `S_CBRANCH_G/I_FORK` and `S_CBRANCH_JOIN` according to the AMD ISA documentation are conditional branches using branch-stack; However, they are not modeled as branches:
https://github.com/llvm/llvm-project/blob/3e2fb2e7cb169b564dac2fe9cf37458bbe5a3b5c/llvm/lib/Target/AMDGPU/SOPInstructions.td#L865-L872
https://github.com/llvm/llvm-project/blob/3e2fb2e7cb169b564dac2fe9cf37458bbe5a3b5c/llvm/lib/Target/AMDGPU/SOPInstructions.td#L369-L371
https://github.com/llvm/llvm-project/blob/3e2fb2e7cb169b564dac2fe9cf37458bbe5a3b5c/llvm/lib/Target/AMDGPU/SOPInstructions.td#L1160-L1164

At the very least the `MCInstrInfo` of the instructions should reflect they are indeed a branch. It would be great if the `SIInstrInfo`'s branch calculation methods also were updated accordingly, but I understand there is not much need in the backend because it never gets emitted anyway.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to