BuildMI automatically adds the implicit operands of the
instruction. This meant we couldn''t set the dead flag on
dead implicit defs in that case.
Fix it by introducing an opcode to mark a given implicit
def as dead.
Fixes #64565
Paths
| Differential D157515
[GlobalISel] Also set dead flags of implicit defs added by BuildMI ClosedPublic Authored by Pierre-vh on Aug 9 2023, 8:09 AM.
Details Summary BuildMI automatically adds the implicit operands of the Fix it by introducing an opcode to mark a given implicit Fixes #64565
Diff Detail
Event TimelinePierre-vh marked 3 inline comments as done. Comment ActionsUse implicit op idx I don't use the true op idx because it's hard (impossible?) to tell from TableGen, considering we can have complex renderers & such. This revision is now accepted and ready to land.Aug 10 2023, 2:43 PM This revision was landed with ongoing or failed builds.Aug 10 2023, 11:38 PM Closed by commit rG490a867f16c0: [GlobalISel] Also set dead flags of implicit defs added by BuildMI (authored by Pierre-vh). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 549257 llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-arith-extended-reg.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-arith-shifted-reg.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-binop.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-ptr-add.mir
llvm/test/CodeGen/AArch64/GlobalISel/sext-inreg-ldrow-16b.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-abs.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-build-vector-trunc.v2s16.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fabs.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fneg.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-select.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
llvm/test/CodeGen/X86/GlobalISel/select-ashr-scalar.mir
llvm/test/CodeGen/X86/GlobalISel/select-blsi.mir
llvm/test/CodeGen/X86/GlobalISel/select-blsr.mir
llvm/test/CodeGen/X86/GlobalISel/select-brcond.mir
llvm/test/CodeGen/X86/GlobalISel/select-cmp.mir
llvm/test/CodeGen/X86/GlobalISel/select-constant.mir
llvm/test/CodeGen/X86/GlobalISel/select-leaf-constant.mir
llvm/test/CodeGen/X86/GlobalISel/select-lshr-scalar.mir
llvm/test/CodeGen/X86/GlobalISel/select-phi.mir
llvm/test/CodeGen/X86/GlobalISel/select-shl-scalar.mir
llvm/test/CodeGen/X86/GlobalISel/x86_64-select-zext.mir
llvm/test/CodeGen/X86/switch-bit-test-unreachable-default.ll
llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-condbr.mir.expected
llvm/utils/TableGen/GlobalISelMatchTable.cpp
|
Alternatively could give the operand index directly, it should know