================
@@ -738,7 +738,39 @@ def CIR_RecordType : CIR_Type<"Record", "record", [
}
void complete(llvm::ArrayRef<mlir::Type> members, bool packed,
- bool isPadded);
+ bool isPadded, bool triviallyCopyable = false,
----------------
adams381 wrote:
Named incomplete records haven't been completed with AST info yet, so
defaulting to false is conservative — if anything queries an incomplete record,
it won't incorrectly assume register passing is safe. Once complete() is called
from CIRGen, the correct value from canPassInRegisters() replaces the default.
Anonymous records (no name) default to true because they're synthetic
aggregates created by CIR passes, not CIRGen.
https://github.com/llvm/llvm-project/pull/188300
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits