================
@@ -1625,6 +1625,25 @@ class CIRGenFunction : public CIRGenTypeCache {
void instantiateIndirectGotoBlock();
+ /// Emit a simple LLVM intrinsic that takes N scalar arguments and whose
+ /// return type matches the type of the first argument. The intrinsic name is
+ /// used verbatim; any overload mangling (e.g. `.f32`, `.p1`) must be baked
+ /// into \p Name by the caller.
+ template <uint32_t N>
+ [[maybe_unused]] RValue
+ emitBuiltinWithOneOverloadedType(const CallExpr *E, llvm::StringRef Name) {
----------------
andykaylor wrote:
```suggestion
emitBuiltinWithOneOverloadedType(const CallExpr *e, llvm::StringRef
intrinName) {
```
Use CIR naming style, but also, because this function exists in both CIR and
classic codegen, I think it's important to make it clear that the second
parameter here is the intrinsic name, and not the value name (as it is in
classic codegen).
https://github.com/llvm/llvm-project/pull/199518
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits