[llvm] 83fbe56 - [AArch64LoopIdiomTransform] Simplify GEP construction (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 4 00:21:56 PDT 2024
Author: Nikita Popov
Date: 2024-06-04T09:18:54+02:00
New Revision: 83fbe56f28d8aa4e4da9eea2a37bdc94141bf409
URL: https://github.com/llvm/llvm-project/commit/83fbe56f28d8aa4e4da9eea2a37bdc94141bf409
DIFF: https://github.com/llvm/llvm-project/commit/83fbe56f28d8aa4e4da9eea2a37bdc94141bf409.diff
LOG: [AArch64LoopIdiomTransform] Simplify GEP construction (NFC)
Added:
Modified:
llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp b/llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
index a9bd8d877fb2e..8ae3f014d45e0 100644
--- a/llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
+++ b/llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
@@ -586,15 +586,13 @@ Value *AArch64LoopIdiomTransform::expandFindMismatch(
Type *SVELoadType = ScalableVectorType::get(Builder.getInt8Ty(), 16);
Value *Passthru = ConstantInt::getNullValue(SVELoadType);
- Value *SVELhsGep = Builder.CreateGEP(LoadType, PtrA, SVEIndexPhi);
- if (GEPA->isInBounds())
- cast<GetElementPtrInst>(SVELhsGep)->setIsInBounds(true);
+ Value *SVELhsGep =
+ Builder.CreateGEP(LoadType, PtrA, SVEIndexPhi, "", GEPA->isInBounds());
Value *SVELhsLoad = Builder.CreateMaskedLoad(SVELoadType, SVELhsGep, Align(1),
LoopPred, Passthru);
- Value *SVERhsGep = Builder.CreateGEP(LoadType, PtrB, SVEIndexPhi);
- if (GEPB->isInBounds())
- cast<GetElementPtrInst>(SVERhsGep)->setIsInBounds(true);
+ Value *SVERhsGep =
+ Builder.CreateGEP(LoadType, PtrB, SVEIndexPhi, "", GEPB->isInBounds());
Value *SVERhsLoad = Builder.CreateMaskedLoad(SVELoadType, SVERhsGep, Align(1),
LoopPred, Passthru);
@@ -670,14 +668,12 @@ Value *AArch64LoopIdiomTransform::expandFindMismatch(
// Load bytes from each array and compare them.
Value *GepOffset = Builder.CreateZExt(IndexPhi, I64Type);
- Value *LhsGep = Builder.CreateGEP(LoadType, PtrA, GepOffset);
- if (GEPA->isInBounds())
- cast<GetElementPtrInst>(LhsGep)->setIsInBounds(true);
+ Value *LhsGep =
+ Builder.CreateGEP(LoadType, PtrA, GepOffset, "", GEPA->isInBounds());
Value *LhsLoad = Builder.CreateLoad(LoadType, LhsGep);
- Value *RhsGep = Builder.CreateGEP(LoadType, PtrB, GepOffset);
- if (GEPB->isInBounds())
- cast<GetElementPtrInst>(RhsGep)->setIsInBounds(true);
+ Value *RhsGep =
+ Builder.CreateGEP(LoadType, PtrB, GepOffset, "", GEPB->isInBounds());
Value *RhsLoad = Builder.CreateLoad(LoadType, RhsGep);
Value *MatchCmp = Builder.CreateICmpEQ(LhsLoad, RhsLoad);
More information about the llvm-commits
mailing list