[Mlir-commits] [clang] [mlir] [CIR] Implement 'noreturn' attribute for functions/calls. (PR #177978)

Erich Keane llvmlistbot at llvm.org
Tue Jan 27 11:00:33 PST 2026


================
@@ -2036,6 +2041,7 @@ void CIRToLLVMFuncOpLowering::lowerFuncAttributes(
         attr.getName() == func.getDsoLocalAttrName() ||
         attr.getName() == func.getInlineKindAttrName() ||
         attr.getName() == func.getSideEffectAttrName() ||
+        attr.getName() == CIRDialect::getNoReturnAttrName() ||
----------------
erichkeane wrote:

Hmm.... I agree this is a little awkward in a few ways unfortunately.  IMO, LLVM-IR seems to be leaning towards most attributes being added/encoded, at least as much as is in LLVM as these 'builtin' attributes.  So I think their balance for that makes sense.

As far as here, `noreturn` is a bit on the border.  It is one that I don't expect to emit very often/regularly, and I would like us to find a pretty reasonable balance there at one point.  IF we find ourselves looking noreturn up a lot, I'd be completely in agreement/favor of 'promoting' it though.

I think the extra-attrs is a bit of a waste when that functionality is already sorta built in to MLIR, as it is here.



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


More information about the Mlir-commits mailing list