[llvm] [WIP] ABI Lowering Library (PR #140112)

via llvm-commits llvm-commits at lists.llvm.org
Mon May 26 14:40:06 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,cpp -- llvm/include/llvm/ABI/QualTypeMapper.h llvm/include/llvm/ABI/Types.h llvm/lib/ABI/QualTypeMapper.cpp
``````````

</details>

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

``````````diff
diff --git a/llvm/include/llvm/ABI/QualTypeMapper.h b/llvm/include/llvm/ABI/QualTypeMapper.h
index 75aeaa07a..f408325da 100644
--- a/llvm/include/llvm/ABI/QualTypeMapper.h
+++ b/llvm/include/llvm/ABI/QualTypeMapper.h
@@ -8,51 +8,45 @@
 #include <llvm/ADT/DenseMap.h>
 
 namespace llvm {
-	namespace abi {
+namespace abi {
 
-		class QualTypeMapper {
-			private:
-				clang::ASTContext &ASTCtx;
-				TypeBuilder Builder;
+class QualTypeMapper {
+private:
+  clang::ASTContext &ASTCtx;
+  TypeBuilder Builder;
 
-				// llvm::DenseMap<clang::QualType	, const Type*> TypeCache;
+  // llvm::DenseMap<clang::QualType	, const Type*> TypeCache;
 
-				const Type *convertBuiltinType(const clang::BuiltinType *BT);
-				const Type *convertPointerType(const clang::PointerType *PT);
-				const Type *convertArrayType(const clang::ArrayType *AT);
-				const Type *convertVectorType(const clang::VectorType *VT);
-				const Type *convertRecordType(const clang::RecordType *RT);
-				const Type *convertFunctionType(const clang::FunctionProtoType *FT);
-				const Type *convertEnumType(const clang::EnumType *ET);
+  const Type *convertBuiltinType(const clang::BuiltinType *BT);
+  const Type *convertPointerType(const clang::PointerType *PT);
+  const Type *convertArrayType(const clang::ArrayType *AT);
+  const Type *convertVectorType(const clang::VectorType *VT);
+  const Type *convertRecordType(const clang::RecordType *RT);
+  const Type *convertFunctionType(const clang::FunctionProtoType *FT);
+  const Type *convertEnumType(const clang::EnumType *ET);
 
-				void computeRecordLayout(const clang::RecordDecl *RD,
-						llvm::SmallVectorImpl<FieldInfo> &Fields,
-						uint64_t &TotalSize, uint64_t &Alignment,
-						StructPacking &Packing);
+  void computeRecordLayout(const clang::RecordDecl *RD,
+                           llvm::SmallVectorImpl<FieldInfo> &Fields,
+                           uint64_t &TotalSize, uint64_t &Alignment,
+                           StructPacking &Packing);
 
+  uint64_t getTypeSize(clang::QualType QT) const;
+  uint64_t getTypeAlign(clang::QualType QT) const;
+  uint64_t getPointerSize() const;
+  uint64_t getPointerAlign() const;
 
-				uint64_t getTypeSize(clang::QualType QT) const;
-				uint64_t getTypeAlign(clang::QualType QT) const;
-				uint64_t getPointerSize() const;
-				uint64_t getPointerAlign() const;
+public:
+  explicit QualTypeMapper(clang::ASTContext &Ctx, BumpPtrAllocator &Alloc)
+      : ASTCtx(Ctx), Builder(Alloc) {}
 
+  const Type *convertType(clang::QualType QT);
 
-			public:
-				
-				explicit QualTypeMapper(clang::ASTContext &Ctx, BumpPtrAllocator &Alloc)
-					: ASTCtx(Ctx), Builder(Alloc) {}
+  // void clearCache() {TypeCache.clear();}
 
-				const Type *convertType(clang::QualType QT);
+  TypeBuilder getTypeBuilder() { return Builder; }
+};
 
-				// void clearCache() {TypeCache.clear();}
-
-				TypeBuilder getTypeBuilder() {return Builder;}
-
-		};
-
-
-
-	} // namespace abi
+} // namespace abi
 } // namespace llvm
 
 #endif // !LLVM_ABI_QUALTYPE_MAPPER_H
diff --git a/llvm/include/llvm/ABI/Types.h b/llvm/include/llvm/ABI/Types.h
index 441d65220..e99bee35a 100644
--- a/llvm/include/llvm/ABI/Types.h
+++ b/llvm/include/llvm/ABI/Types.h
@@ -3,11 +3,11 @@
 
 #include "llvm/ADT/APFloat.h"
 #include "llvm/ADT/ArrayRef.h"
-#include <llvm/IR/CallingConv.h>
 #include "llvm/Support/Alignment.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/TypeSize.h"
 #include <cstdint>
+#include <llvm/IR/CallingConv.h>
 
 namespace llvm {
 namespace abi {
@@ -68,7 +68,8 @@ private:
 
 public:
   IntegerType(uint64_t BitWidth, Align Align, bool Signed)
-      : Type(TypeKind::Integer, TypeSize::getFixed(BitWidth), Align), IsSigned(Signed) {}
+      : Type(TypeKind::Integer, TypeSize::getFixed(BitWidth), Align),
+        IsSigned(Signed) {}
 
   bool isSigned() const { return IsSigned; }
 
@@ -79,12 +80,13 @@ public:
 
 class FloatType : public Type {
 private:
-	const fltSemantics *Semantics;
+  const fltSemantics *Semantics;
 
 public:
   FloatType(const fltSemantics &FloatSemantics, Align Align)
-      : Type(TypeKind::Float, TypeSize::getFixed(APFloat::getSizeInBits(FloatSemantics)), Align)
-  , Semantics(&FloatSemantics){}
+      : Type(TypeKind::Float,
+             TypeSize::getFixed(APFloat::getSizeInBits(FloatSemantics)), Align),
+        Semantics(&FloatSemantics) {}
 
   static bool classof(const Type *T) { return T->getKind() == TypeKind::Float; }
 };
@@ -188,8 +190,6 @@ public:
   static bool classof(const Type *T) { return T->getKind() == TypeKind::Union; }
 };
 
-
-
 // API for creating ABI Types
 class TypeBuilder {
 private:
diff --git a/llvm/lib/ABI/QualTypeMapper.cpp b/llvm/lib/ABI/QualTypeMapper.cpp
index 2a72286c5..7677f5aef 100644
--- a/llvm/lib/ABI/QualTypeMapper.cpp
+++ b/llvm/lib/ABI/QualTypeMapper.cpp
@@ -1,4 +1,5 @@
-//===-- llvm/ABI/QualTypeMapper.cpp - QualType to ABI Mapping ---------------===//
+//===-- llvm/ABI/QualTypeMapper.cpp - QualType to ABI Mapping
+//---------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,13 +7,11 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This File contains the logic for converting clang::Qualtype to 
+// This File contains the logic for converting clang::Qualtype to
 // llvm::abi::Type for ABI Lowering
 //
 //===----------------------------------------------------------------------===//
 
-
 #include <llvm/ABI/QualTypeMapper.h>
 
-
 // TODO: Implementation of Qualtype -> abi::Type Mapping

``````````

</details>


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


More information about the llvm-commits mailing list