[PATCH] D128904: Bug fix "GC relocate is incorrectly tied to the statepoint"
Artur Pilipenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 1 20:12:12 PDT 2022
apilipenko added inline comments.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp:173
+ const Value *Statepoint = Relocate->getStatepoint();
+ if (isa<UndefValue>(Statepoint))
+ return None;
----------------
Assert `isa<GCStatepointInst, UndefValue>(Statepoint)`
================
Comment at: llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp:1202
+ const Value *SI = CI.getStatepoint();
+
+ if (isa<UndefValue>(SI))
----------------
Assert `isa<GCStatepointInst, UndefValue>(SI)`
================
Comment at: llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp:1230
+ const Value *Statepoint = Relocate.getStatepoint();
+
+ if (isa<UndefValue>(Statepoint))
----------------
Assert `isa<GCStatepointInst, UndefValue>(SI)`
================
Comment at: llvm/lib/IR/Verifier.cpp:5164
auto Token = Call.getArgOperand(0);
- Check(isa<GCStatepointInst>(Token),
+ Check(isa<GCStatepointInst>(Token) || isa<UndefValue>(Token),
"gc relocate is incorrectly tied to the statepoint", Call, Token);
----------------
isa<GCStatepointInst, UndefValue>(Token)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128904/new/
https://reviews.llvm.org/D128904
More information about the llvm-commits
mailing list