[clang] [llvm] [WebAssembly] Represent reference types as TargetExtType (PR #203165)

Hood Chatham via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 10:49:27 PDT 2026


================
@@ -230,9 +230,26 @@ static bool dontUseFastISelFor(const Function &Fn) {
   // Debug info on those is reliant on good Argument lowering, and FastISel is
   // not capable of lowering the entire function. Mixing the two selectors tend
   // to result in poor lowering of Arguments.
-  return any_of(Fn.args(), [](const Argument &Arg) {
-    return Arg.hasAttribute(Attribute::AttrKind::SwiftAsync);
-  });
+  if (any_of(Fn.args(), [](const Argument &Arg) {
+        return Arg.hasAttribute(Attribute::AttrKind::SwiftAsync);
+      }))
+    return true;
+
+  // A WebAssembly funcref call is expressed in IR as a call through the pointer
----------------
hoodmane wrote:

Okay you are right it wasn't much of an issue to implement FastISel lowering. I also deleted that code block you pointed out, the condition was indeed never triggering anymore.

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


More information about the llvm-commits mailing list