Skip to content

Commit 75f9e83

Browse files
[AArch64] Add -aarch64-insert-extract-base-cost
The new flag -aarch64-insert-extract-base-cost can be used to set the value of AArch64Subtarget::getVectorInsertExtractBaseCost(), for the purposes of experimentation. Differential Revision: https://reviews.llvm.org/D124835
1 parent ba6c8d4 commit 75f9e83

File tree

3 files changed

+175
-21
lines changed

3 files changed

+175
-21
lines changed

llvm/lib/Target/AArch64/AArch64Subtarget.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@ static cl::opt<bool>
5252
static cl::opt<bool> UseAA("aarch64-use-aa", cl::init(true),
5353
cl::desc("Enable the use of AA during codegen."));
5454

55+
static cl::opt<unsigned> OverrideVectorInsertExtractBaseCost(
56+
"aarch64-insert-extract-base-cost",
57+
cl::desc("Base cost of vector insert/extract element"), cl::Hidden);
58+
59+
unsigned AArch64Subtarget::getVectorInsertExtractBaseCost() const {
60+
if (OverrideVectorInsertExtractBaseCost.getNumOccurrences() > 0)
61+
return OverrideVectorInsertExtractBaseCost;
62+
return VectorInsertExtractBaseCost;
63+
}
64+
5565
AArch64Subtarget &AArch64Subtarget::initializeSubtargetDependencies(
5666
StringRef FS, StringRef CPUString, StringRef TuneCPUString) {
5767
// Determine default and user-specified characteristics

llvm/lib/Target/AArch64/AArch64Subtarget.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,7 @@ class AArch64Subtarget final : public AArch64GenSubtargetInfo {
210210
}
211211

212212
unsigned getMaxInterleaveFactor() const { return MaxInterleaveFactor; }
213-
unsigned getVectorInsertExtractBaseCost() const {
214-
return VectorInsertExtractBaseCost;
215-
}
213+
unsigned getVectorInsertExtractBaseCost() const;
216214
unsigned getCacheLineSize() const override { return CacheLineSize; }
217215
unsigned getPrefetchDistance() const override { return PrefetchDistance; }
218216
unsigned getMinPrefetchStride(unsigned NumMemAccesses,

0 commit comments

Comments
 (0)