[clang] [clang] Lower _BitInt(129+) to a different type in LLVM IR (PR #91364)

Harald van Dijk via cfe-commits cfe-commits at lists.llvm.org
Tue May 7 11:20:50 PDT 2024


================
@@ -1989,6 +1989,14 @@ llvm::Value *CodeGenFunction::EmitLoadOfScalar(Address Addr, bool Volatile,
     return EmitAtomicLoad(AtomicLValue, Loc).getScalarVal();
   }
 
+  if (const auto *BIT = Ty->getAs<BitIntType>()) {
+    if (BIT->getNumBits() > 128) {
----------------
hvdijk wrote:

For a number of bits >64, <=128, LLVM's `iN` type will have identical representation to Clang `_BitInt(N)` but different alignment. I think this is fine, I think nothing needs their alignment to match Clang's, but could you double-check to make sure you agree?

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


More information about the cfe-commits mailing list