[llvm] [LLVM] Remove -enable-infer-alignment-pass flag (PR #111873)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 10 10:04:54 PDT 2024
https://github.com/aeubanks created https://github.com/llvm/llvm-project/pull/111873
This flag has been on for a while without any complaints.
>From 5760f00c72ba483166a1bf814533e40dd50c73e5 Mon Sep 17 00:00:00 2001
From: Arthur Eubanks <aeubanks at google.com>
Date: Thu, 10 Oct 2024 17:00:50 +0000
Subject: [PATCH] [LLVM] Remove -enable-infer-alignment-pass flag
This flag has been on for a while without any complaints.
---
llvm/lib/Passes/PassBuilderPipelines.cpp | 8 ++-----
.../InstCombineLoadStoreAlloca.cpp | 23 -------------------
2 files changed, 2 insertions(+), 29 deletions(-)
diff --git a/llvm/lib/Passes/PassBuilderPipelines.cpp b/llvm/lib/Passes/PassBuilderPipelines.cpp
index 8f151a99b11709..0167d1058c3ac1 100644
--- a/llvm/lib/Passes/PassBuilderPipelines.cpp
+++ b/llvm/lib/Passes/PassBuilderPipelines.cpp
@@ -300,8 +300,6 @@ extern cl::opt<std::string> UseCtxProfile;
namespace llvm {
extern cl::opt<bool> EnableMemProfContextDisambiguation;
-
-extern cl::opt<bool> EnableInferAlignmentPass;
} // namespace llvm
PipelineTuningOptions::PipelineTuningOptions() {
@@ -1250,8 +1248,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
FPM.addPass(LoopVectorizePass(
LoopVectorizeOptions(!PTO.LoopInterleaving, !PTO.LoopVectorization)));
- if (EnableInferAlignmentPass)
- FPM.addPass(InferAlignmentPass());
+ FPM.addPass(InferAlignmentPass());
if (IsFullLTO) {
// The vectorizer may have significantly shortened a loop body; unroll
// again. Unroll small loops to hide loop backedge latency and saturate any
@@ -1369,8 +1366,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
FPM.addPass(SROAPass(SROAOptions::PreserveCFG));
}
- if (EnableInferAlignmentPass)
- FPM.addPass(InferAlignmentPass());
+ FPM.addPass(InferAlignmentPass());
FPM.addPass(InstCombinePass());
// This is needed for two reasons:
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp b/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
index 0b51845ab5e257..93d183837d6f43 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
@@ -37,13 +37,6 @@ static cl::opt<unsigned> MaxCopiedFromConstantUsers(
cl::desc("Maximum users to visit in copy from constant transform"),
cl::Hidden);
-namespace llvm {
-cl::opt<bool> EnableInferAlignmentPass(
- "enable-infer-alignment-pass", cl::init(true), cl::Hidden, cl::ZeroOrMore,
- cl::desc("Enable the InferAlignment pass, disabling alignment inference in "
- "InstCombine"));
-}
-
/// isOnlyCopiedFromConstantMemory - Recursively walk the uses of a (derived)
/// pointer to an alloca. Ignore any reads of the pointer, return false if we
/// see any stores or other unknown uses. If we see pointer arithmetic, keep
@@ -1010,14 +1003,6 @@ Instruction *InstCombinerImpl::visitLoadInst(LoadInst &LI) {
if (Instruction *Res = combineLoadToOperationType(*this, LI))
return Res;
- if (!EnableInferAlignmentPass) {
- // Attempt to improve the alignment.
- Align KnownAlign = getOrEnforceKnownAlignment(
- Op, DL.getPrefTypeAlign(LI.getType()), DL, &LI, &AC, &DT);
- if (KnownAlign > LI.getAlign())
- LI.setAlignment(KnownAlign);
- }
-
// Replace GEP indices if possible.
if (Instruction *NewGEPI = replaceGEPIdxWithZero(*this, Op, LI))
return replaceOperand(LI, 0, NewGEPI);
@@ -1358,14 +1343,6 @@ Instruction *InstCombinerImpl::visitStoreInst(StoreInst &SI) {
if (combineStoreToValueType(*this, SI))
return eraseInstFromFunction(SI);
- if (!EnableInferAlignmentPass) {
- // Attempt to improve the alignment.
- const Align KnownAlign = getOrEnforceKnownAlignment(
- Ptr, DL.getPrefTypeAlign(Val->getType()), DL, &SI, &AC, &DT);
- if (KnownAlign > SI.getAlign())
- SI.setAlignment(KnownAlign);
- }
-
// Try to canonicalize the stored type.
if (unpackStoreToAggregate(*this, SI))
return eraseInstFromFunction(SI);
More information about the llvm-commits
mailing list