aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorSameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>2023-08-18 13:48:01 +0530
committerSameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>2023-08-20 21:14:46 +0530
commitef38e6d97f482284262172491b6c13b1b9db95b4 (patch)
tree1094aa86c2cbcefa42567eb96bb9d0e8185ce8ab /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentd6a1388d6fba33da1e3a99589d5f26cfb2cf4d23 (diff)
downloadllvm-ef38e6d97f482284262172491b6c13b1b9db95b4.zip
llvm-ef38e6d97f482284262172491b6c13b1b9db95b4.tar.gz
llvm-ef38e6d97f482284262172491b6c13b1b9db95b4.tar.bz2
[GlobalISel] introduce MIFlag::NoConvergent
Some opcodes in MIR are defined to be convergent by the target by setting IsConvergent in the corresponding TD file. For example, in AMDGPU, the opcodes G_SI_CALL and G_INTRINSIC* are marked as convergent. But this is too conservative, since calls to functions that do not execute convergent operations should not be marked convergent. This information is available in LLVM IR. The new flag MIFlag::NoConvergent now allows the IR translator to mark an instruction as not performing any convergent operations. It is relevant only on occurrences of opcodes that are marked isConvergent in the target. Differential Revision: https://reviews.llvm.org/D157475
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions