File tree Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -609,15 +609,17 @@ bool CallBase::hasReadingOperandBundles() const {
609
609
// Implementation note: this is a conservative implementation of operand
610
610
// bundle semantics, where *any* non-assume operand bundle (other than
611
611
// ptrauth) forces a callsite to be at least readonly.
612
- return hasOperandBundlesOtherThan (
613
- {LLVMContext::OB_ptrauth, LLVMContext::OB_kcfi}) &&
612
+ return hasOperandBundlesOtherThan ({LLVMContext::OB_ptrauth,
613
+ LLVMContext::OB_kcfi,
614
+ LLVMContext::OB_convergencectrl}) &&
614
615
getIntrinsicID () != Intrinsic::assume;
615
616
}
616
617
617
618
bool CallBase::hasClobberingOperandBundles () const {
618
619
return hasOperandBundlesOtherThan (
619
620
{LLVMContext::OB_deopt, LLVMContext::OB_funclet,
620
- LLVMContext::OB_ptrauth, LLVMContext::OB_kcfi}) &&
621
+ LLVMContext::OB_ptrauth, LLVMContext::OB_kcfi,
622
+ LLVMContext::OB_convergencectrl}) &&
621
623
getIntrinsicID () != Intrinsic::assume;
622
624
}
623
625
Original file line number Diff line number Diff line change 4
4
define void @dead_readfirstlane_convergencetoken (<2 x i32 > %src ) convergent {
5
5
; CHECK-LABEL: define void @dead_readfirstlane_convergencetoken(
6
6
; CHECK-SAME: <2 x i32> [[SRC:%.*]]) #[[ATTR0:[0-9]+]] {
7
- ; CHECK-NEXT: [[T:%.*]] = tail call token @llvm.experimental.convergence.entry()
8
- ; CHECK-NEXT: [[VEC:%.*]] = call <2 x i32> @llvm.amdgcn.readfirstlane.v2i32(<2 x i32> [[SRC]]) [ "convergencectrl"(token [[T]]) ]
9
7
; CHECK-NEXT: ret void
10
8
;
11
9
%t = tail call token @llvm.experimental.convergence.entry ()
You can’t perform that action at this time.
0 commit comments