[llvm] f1ff3a2 - [InstCombine] Rename TTI member for clarity (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 19 03:31:20 PDT 2024
Author: Nikita Popov
Date: 2024-09-19T12:31:11+02:00
New Revision: f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
URL: https://github.com/llvm/llvm-project/commit/f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
DIFF: https://github.com/llvm/llvm-project/commit/f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2.diff
LOG: [InstCombine] Rename TTI member for clarity (NFC)
There is already a comment on the member and documentation in the
InstCombine contributor guide, but also rename it to make add
an additional speed bump.
Added:
Modified:
llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/Transforms/InstCombine/InstCombiner.h b/llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
index 68d9ae862c1c23..3075b7ebae59e6 100644
--- a/llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
+++ b/llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
@@ -49,7 +49,7 @@ class LLVM_LIBRARY_VISIBILITY InstCombiner {
/// Only used to call target specific intrinsic combining.
/// It must **NOT** be used for any other purpose, as InstCombine is a
/// target-independent canonicalization transform.
- TargetTransformInfo &TTI;
+ TargetTransformInfo &TTIForTargetIntrinsicsOnly;
public:
/// Maximum size of array considered when transforming.
@@ -105,7 +105,7 @@ class LLVM_LIBRARY_VISIBILITY InstCombiner {
BlockFrequencyInfo *BFI, BranchProbabilityInfo *BPI,
ProfileSummaryInfo *PSI, const DataLayout &DL,
ReversePostOrderTraversal<BasicBlock *> &RPOT)
- : TTI(TTI), Builder(Builder), Worklist(Worklist),
+ : TTIForTargetIntrinsicsOnly(TTI), Builder(Builder), Worklist(Worklist),
MinimizeSize(MinimizeSize), AA(AA), AC(AC), TLI(TLI), DT(DT), DL(DL),
SQ(DL, &TLI, &DT, &AC, nullptr, /*UseInstrInfo*/ true,
/*CanUseUndef*/ true, &DC),
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index 1e606c51f72cdb..28c50136257e23 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -155,7 +155,7 @@ std::optional<Instruction *>
InstCombiner::targetInstCombineIntrinsic(IntrinsicInst &II) {
// Handle target specific intrinsics
if (II.getCalledFunction()->isTargetIntrinsic()) {
- return TTI.instCombineIntrinsic(*this, II);
+ return TTIForTargetIntrinsicsOnly.instCombineIntrinsic(*this, II);
}
return std::nullopt;
}
@@ -165,8 +165,8 @@ std::optional<Value *> InstCombiner::targetSimplifyDemandedUseBitsIntrinsic(
bool &KnownBitsComputed) {
// Handle target specific intrinsics
if (II.getCalledFunction()->isTargetIntrinsic()) {
- return TTI.simplifyDemandedUseBitsIntrinsic(*this, II, DemandedMask, Known,
- KnownBitsComputed);
+ return TTIForTargetIntrinsicsOnly.simplifyDemandedUseBitsIntrinsic(
+ *this, II, DemandedMask, Known, KnownBitsComputed);
}
return std::nullopt;
}
@@ -178,7 +178,7 @@ std::optional<Value *> InstCombiner::targetSimplifyDemandedVectorEltsIntrinsic(
SimplifyAndSetOp) {
// Handle target specific intrinsics
if (II.getCalledFunction()->isTargetIntrinsic()) {
- return TTI.simplifyDemandedVectorEltsIntrinsic(
+ return TTIForTargetIntrinsicsOnly.simplifyDemandedVectorEltsIntrinsic(
*this, II, DemandedElts, PoisonElts, PoisonElts2, PoisonElts3,
SimplifyAndSetOp);
}
@@ -186,7 +186,10 @@ std::optional<Value *> InstCombiner::targetSimplifyDemandedVectorEltsIntrinsic(
}
bool InstCombiner::isValidAddrSpaceCast(unsigned FromAS, unsigned ToAS) const {
- return TTI.isValidAddrSpaceCast(FromAS, ToAS);
+ // Approved exception for TTI use: This queries a legality property of the
+ // target, not an profitability heuristic. Ideally this should be part of
+ // DataLayout instead.
+ return TTIForTargetIntrinsicsOnly.isValidAddrSpaceCast(FromAS, ToAS);
}
Value *InstCombinerImpl::EmitGEPOffset(GEPOperator *GEP, bool RewriteGEP) {
More information about the llvm-commits
mailing list