Skip to content

Commit ac8bb73

Browse files
authored
Attributor: Do not treat pointer vectors as valid for unsupported attributes (#121149)
The memory attributes, noalias, and dereferenceable do not support vectors of pointers according to the IR verifier, so don't report them as valid.
1 parent 1ead155 commit ac8bb73

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

llvm/include/llvm/Transforms/IPO/Attributor.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3853,7 +3853,7 @@ struct AANoAlias
38533853

38543854
/// See AbstractAttribute::isValidIRPositionForInit
38553855
static bool isValidIRPositionForInit(Attributor &A, const IRPosition &IRP) {
3856-
if (!IRP.getAssociatedType()->isPtrOrPtrVectorTy())
3856+
if (!IRP.getAssociatedType()->isPointerTy())
38573857
return false;
38583858
return IRAttribute::isValidIRPositionForInit(A, IRP);
38593859
}
@@ -4220,7 +4220,7 @@ struct AADereferenceable
42204220

42214221
/// See AbstractAttribute::isValidIRPositionForInit
42224222
static bool isValidIRPositionForInit(Attributor &A, const IRPosition &IRP) {
4223-
if (!IRP.getAssociatedType()->isPtrOrPtrVectorTy())
4223+
if (!IRP.getAssociatedType()->isPointerTy())
42244224
return false;
42254225
return IRAttribute::isValidIRPositionForInit(A, IRP);
42264226
}
@@ -4364,7 +4364,7 @@ struct AANoCapture
43644364

43654365
/// See AbstractAttribute::isValidIRPositionForInit
43664366
static bool isValidIRPositionForInit(Attributor &A, const IRPosition &IRP) {
4367-
if (!IRP.getAssociatedType()->isPtrOrPtrVectorTy())
4367+
if (!IRP.getAssociatedType()->isPointerTy())
43684368
return false;
43694369
return IRAttribute::isValidIRPositionForInit(A, IRP);
43704370
}
@@ -4635,8 +4635,7 @@ struct AAMemoryBehavior
46354635

46364636
/// See AbstractAttribute::isValidIRPositionForInit
46374637
static bool isValidIRPositionForInit(Attributor &A, const IRPosition &IRP) {
4638-
if (!IRP.isFunctionScope() &&
4639-
!IRP.getAssociatedType()->isPtrOrPtrVectorTy())
4638+
if (!IRP.isFunctionScope() && !IRP.getAssociatedType()->isPointerTy())
46404639
return false;
46414640
return IRAttribute::isValidIRPositionForInit(A, IRP);
46424641
}

0 commit comments

Comments
 (0)