[clang] [CIR] Add math and builtin intrinsics support (PR #175233)

via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 13 14:10:12 PST 2026


================
@@ -1605,8 +1735,9 @@ RValue CIRGenFunction::emitBuiltinExpr(const GlobalDecl &gd, unsigned builtinID,
   case Builtin::BImove:
   case Builtin::BImove_if_noexcept:
   case Builtin::BIforward:
-  case Builtin::BIforward_like:
   case Builtin::BIas_const:
+    return RValue::get(emitLValue(e->getArg(0)).getPointer());
----------------
adams381 wrote:

This provides the actual implementation for `std::move`, `std::move_if_noexcept`, `std::forward`, and `std::as_const`. These builtins simply return a pointer to their argument - `emitLValue(e->getArg(0)).getPointer()` is the correct codegen matching OGCG behavior. Previously these were falling through to NYI.

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


More information about the cfe-commits mailing list