[clang] [CIR] floating-point, pointer, and function types (PR #120484)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 20 10:28:35 PST 2024
================
@@ -18,6 +21,87 @@ mlir::MLIRContext &CIRGenTypes::getMLIRContext() const {
return *builder.getContext();
}
+/// Return true if the specified type in a function parameter or result position
+/// can be converted to a CIR type at this point. This boils down to being
+/// whether it is complete, as well as whether we've temporarily deferred
+/// expanding the type because we're in a recursive context.
+bool CIRGenTypes::isFuncParamTypeConvertible(clang::QualType type) {
+ // Some ABIs cannot have their member pointers represented in LLVM IR unless
+ // certain circumstances have been reached.
+ assert(!type->getAs<MemberPointerType>() && "NYI");
+
+ // If this isn't a tagged type, we can convert it!
----------------
erichkeane wrote:
If this includes llvm/clangir at 04d7dcf in it, rather than the current implementation, I think I'm OK without any asserts. I'll Approve, but conditional on that patch being included in this one.
https://github.com/llvm/llvm-project/pull/120484
More information about the cfe-commits
mailing list