[clang] [CIR] Add alignment support for global, store, and load ops (PR #141163)

via cfe-commits cfe-commits at lists.llvm.org
Thu May 22 16:51:28 PDT 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 HEAD~1 HEAD --extensions h,c,cpp -- clang/test/CIR/CodeGen/align-load.c clang/test/CIR/CodeGen/align-store.c clang/test/CIR/CodeGen/alignment.c clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h clang/include/clang/CIR/MissingFeatures.h clang/lib/CIR/CodeGen/CIRGenBuilder.h clang/lib/CIR/CodeGen/CIRGenExpr.cpp clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp clang/lib/CIR/CodeGen/CIRGenFunction.cpp clang/lib/CIR/CodeGen/CIRGenModule.cpp clang/lib/CIR/CodeGen/CIRGenStmt.cpp clang/lib/CIR/Dialect/IR/CIRTypes.cpp clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp clang/test/CIR/CodeGen/array.cpp clang/test/CIR/CodeGen/basic.c clang/test/CIR/CodeGen/basic.cpp clang/test/CIR/CodeGen/binassign.c clang/test/CIR/CodeGen/binop.cpp clang/test/CIR/CodeGen/call.cpp clang/test/CIR/CodeGen/cast.cpp clang/test/CIR/CodeGen/cmp.cpp clang/test/CIR/CodeGen/comma.c clang/test/CIR/CodeGen/compound_assign.cpp clang/test/CIR/CodeGen/forrange.cpp clang/test/CIR/CodeGen/if.cpp clang/test/CIR/CodeGen/local-vars.cpp clang/test/CIR/CodeGen/loop.cpp clang/test/CIR/CodeGen/namespace.cpp clang/test/CIR/CodeGen/nullptr-init.cpp clang/test/CIR/CodeGen/pointers.cpp clang/test/CIR/CodeGen/struct.c clang/test/CIR/CodeGen/struct.cpp clang/test/CIR/CodeGen/switch.cpp clang/test/CIR/CodeGen/switch_flat_op.cpp clang/test/CIR/CodeGen/unary.cpp clang/test/CIR/CodeGen/union.c clang/test/CIR/CodeGen/union.cpp clang/test/CIR/CodeGen/vector-ext.cpp clang/test/CIR/CodeGen/vector.cpp clang/test/CIR/CodeGenOpenACC/combined.cpp clang/test/CIR/CodeGenOpenACC/data.c clang/test/CIR/CodeGenOpenACC/init.c clang/test/CIR/CodeGenOpenACC/kernels.c clang/test/CIR/CodeGenOpenACC/loop.cpp clang/test/CIR/CodeGenOpenACC/parallel.c clang/test/CIR/CodeGenOpenACC/serial.c clang/test/CIR/CodeGenOpenACC/set.c clang/test/CIR/CodeGenOpenACC/shutdown.c clang/test/CIR/CodeGenOpenACC/wait.c clang/test/CIR/Lowering/array.cpp clang/test/CIR/Lowering/local-vars.cpp clang/test/CIR/Lowering/unary-expr-or-type-trait.cpp
``````````

</details>

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

``````````diff
diff --git a/clang/lib/CIR/CodeGen/CIRGenBuilder.h b/clang/lib/CIR/CodeGen/CIRGenBuilder.h
index 5e56aa9e7..e53f5e920 100644
--- a/clang/lib/CIR/CodeGen/CIRGenBuilder.h
+++ b/clang/lib/CIR/CodeGen/CIRGenBuilder.h
@@ -286,7 +286,8 @@ public:
     uint64_t alignment = addr.getAlignment().getQuantity();
     if (alignment)
       align = getI64IntegerAttr(alignment);
-    return create<cir::LoadOp>(loc, addr.getPointer(), /*isDeref=*/false, align);
+    return create<cir::LoadOp>(loc, addr.getPointer(), /*isDeref=*/false,
+                               align);
   }
 
   cir::StoreOp createStore(mlir::Location loc, mlir::Value val, Address dst,
diff --git a/clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp b/clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
index ea354845f..b375bcf2f 100644
--- a/clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
@@ -162,8 +162,7 @@ void AggExprEmitter::emitArrayInit(Address destPtr, cir::ArrayType arrayTy,
 
     // TODO(CIR): Replace this part later with cir::DoWhileOp
     for (unsigned i = numInitElements; i != numArrayElements; ++i) {
-      cir::LoadOp currentElement =
-          builder.createLoad(loc, tmpAddr);
+      cir::LoadOp currentElement = builder.createLoad(loc, tmpAddr);
 
       // Emit the actual filler expression.
       const LValue elementLV = cgf.makeAddrLValue(

``````````

</details>


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


More information about the cfe-commits mailing list