Skip to content

Commit 019394c

Browse files
committed
Attributor: Do not treat pointer vectors as valid for unsupported attributes
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 c760671 commit 019394c

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)