[clang] [CIR][RISCV][NFC] Add CIRGenBuiltinRISCV file to support RISCV builtins codegen (PR #186050)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 12 10:01:06 PDT 2026
================
@@ -0,0 +1,103 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This contains code to emit RISC-V Builtin calls as CIR or a function call
+// to be later resolved.
+//
+//===----------------------------------------------------------------------===//
+
+#include "CIRGenFunction.h"
+#include "clang/Basic/TargetBuiltins.h"
+
+using namespace clang;
+using namespace clang::CIRGen;
+
+std::optional<mlir::Value>
+CIRGenFunction::emitRISCVBuiltinExpr(unsigned builtinID, const CallExpr *e) {
+ switch (builtinID) {
----------------
andykaylor wrote:
```suggestion
if (builtinID == Builtin::BI__builtin_cpu_supports ||
builtinID == Builtin::BI__builtin_cpu_init ||
builtinID == Builtin::BI__builtin_cpu_is) {
cgm.errorNYI(e->getSourceRange(),
std::string("unimplemented RISC-V builtin call: ") +
getContext().BuiltinInfo.getName(builtinID));
return mlir::Value{};
}
switch (builtinID) {
```
https://github.com/llvm/llvm-project/pull/186050
More information about the cfe-commits
mailing list