[llvm] [InstCombine] Fold align assume into load's !align metadata if possible. (PR #123247)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 16 14:39:24 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff d49a2d2bc9c65c787bfa04ac8ece614da48a8cd5 192a04992bf7c52370e4e912f80c19b29a43edeb --extensions cpp,h -- llvm/include/llvm/Transforms/InstCombine/InstCombine.h llvm/lib/Passes/PassBuilder.cpp llvm/lib/Passes/PassBuilderPipelines.cpp llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp llvm/lib/Transforms/InstCombine/InstCombineInternal.h llvm/lib/Transforms/InstCombine/InstructionCombining.cpp llvm/lib/Transforms/Scalar/EarlyCSE.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Passes/PassBuilderPipelines.cpp b/llvm/lib/Passes/PassBuilderPipelines.cpp
index 9c17c938a6..1b7e37dcbd 100644
--- a/llvm/lib/Passes/PassBuilderPipelines.cpp
+++ b/llvm/lib/Passes/PassBuilderPipelines.cpp
@@ -1318,8 +1318,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
     // dead (or speculatable) control flows or more combining opportunities.
     ExtraPasses.addPass(EarlyCSEPass());
     ExtraPasses.addPass(CorrelatedValuePropagationPass());
-    ExtraPasses.addPass(
-        InstCombinePass(InstCombineOptions()));
+    ExtraPasses.addPass(InstCombinePass(InstCombineOptions()));
     LoopPassManager LPM;
     LPM.addPass(LICMPass(PTO.LicmMssaOptCap, PTO.LicmMssaNoAccForPromotionCap,
                          /*AllowSpeculation=*/true));
@@ -1330,8 +1329,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
                                         /*UseBlockFrequencyInfo=*/true));
     ExtraPasses.addPass(
         SimplifyCFGPass(SimplifyCFGOptions().convertSwitchRangeToICmp(true)));
-    ExtraPasses.addPass(
-        InstCombinePass());
+    ExtraPasses.addPass(InstCombinePass());
     FPM.addPass(std::move(ExtraPasses));
   }
 
@@ -1354,8 +1352,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
 
   if (IsFullLTO) {
     FPM.addPass(SCCPPass());
-    FPM.addPass(
-        InstCombinePass(InstCombineOptions()));
+    FPM.addPass(InstCombinePass(InstCombineOptions()));
     FPM.addPass(BDCEPass());
   }
 
@@ -1370,8 +1367,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
   FPM.addPass(VectorCombinePass());
 
   if (!IsFullLTO) {
-    FPM.addPass(
-        InstCombinePass(InstCombineOptions()));
+    FPM.addPass(InstCombinePass(InstCombineOptions()));
     // Unroll small loops to hide loop backedge latency and saturate any
     // parallel execution resources of an out-of-order processor. We also then
     // need to clean up redundancies and loop invariant code.
@@ -1397,8 +1393,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
   }
 
   FPM.addPass(InferAlignmentPass());
-  FPM.addPass(
-      InstCombinePass(InstCombineOptions()));
+  FPM.addPass(InstCombinePass(InstCombineOptions()));
 
   // This is needed for two reasons:
   //   1. It works around problems that instcombine introduces, such as sinking
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
index 856b9242c7..c07e46c36a 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
@@ -3239,8 +3239,8 @@ Instruction *InstCombinerImpl::visitCallInst(CallInst &CI) {
             LLVMContext::MD_align,
             MDNode::get(II->getContext(), ValueAsMetadata::getConstant(
                                               Builder.getInt64(RK.ArgValue))));
-          MDNode *MD = MDNode::get(II->getContext(), {});
-          LI->setMetadata(LLVMContext::MD_noundef, MD);
+        MDNode *MD = MDNode::get(II->getContext(), {});
+        LI->setMetadata(LLVMContext::MD_noundef, MD);
 
         auto *New = CallBase::removeOperandBundle(II, OBU.getTagID());
         return New;

``````````

</details>


https://github.com/llvm/llvm-project/pull/123247


More information about the llvm-commits mailing list