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

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 2 00:49:04 PDT 2025


================
@@ -17,19 +17,50 @@
 #include "llvm/ABI/ABIFunctionInfo.h"
 #include "llvm/ABI/Types.h"
 #include <cassert>
+#include <climits>
+#include <cstdint>
 
 namespace llvm {
 namespace abi {
 
+struct ABICompatInfo {
+  unsigned Version = UINT_MAX;
+
+  struct ABIFlags {
+    bool PassInt128VectorsInMem : 1;
+    bool ReturnCXXRecordGreaterThan128InMem : 1;
+    bool ClassifyIntegerMMXAsSSE : 1;
+    bool HonorsRevision98 : 1;
+
+    ABIFlags()
+        : PassInt128VectorsInMem(true),
+          ReturnCXXRecordGreaterThan128InMem(true),
+          ClassifyIntegerMMXAsSSE(true), HonorsRevision98(true) {}
+
+  } Flags;
----------------
nikic wrote:

I assume the idea here is that these flags get automatically initialized based on the version, with the option to manually overwrite them?

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


More information about the llvm-commits mailing list