Lines Matching +defs:function +defs:builtin

61 /// MLIR operations, or as a call to a runtime function or LLVM intrinsic.
68 /// is searched for an implementation and, if a runtime function is found,
849 // Set fir.runtime attribute to distinguish the function that
856 // TODO: we should also mark as many libm function as possible
862 // The function with the same name already exists.
869 // A function with the same name might have been declared
872 // call, but we have no other options. Type cast the function to match
876 loc, llvm::Twine("function signature mismatch for '") +
1431 // This helper class computes a "distance" between two function types.
1570 /// If exact match for the given types is found, then the function
1572 /// Otherwise, the function returns nullptr.
1624 /// Helpers to get function type from arguments and result type.
1686 loc, "A character's buffer type cannot be a function type.");
1717 const std::string builtin = "__builtin_";
1718 llvm::StringRef name = specificName.starts_with(builtin)
1719 ? specificName.drop_front(builtin.size())
1858 assert(resultType && "expect intrinsic function");
2045 /// suitable for function names.
2092 llvm_unreachable("more than one result value for function");
2105 mlir::func::FuncOp function = builder.getNamedFunction(wrapperName);
2106 if (!function) {
2108 function = builder.createFunction(loc, wrapperName, funcType);
2109 function->setAttr("fir.intrinsic", builder.getUnitAttr());
2110 fir::factory::setInternalLinkage(function);
2111 function.addEntryBlock();
2113 // Create local context to emit code into the newly created function
2114 // This new function is not linked to a source file location, only
2117 function, builder.getKindMap(), builder.getMLIRSymbolTable());
2119 localBuilder->setInsertionPointToStart(&function.front());
2124 for (mlir::BlockArgument bArg : function.front().getArguments()) {
2141 "expect one result for intrinsic function wrapper type");
2149 assert(function.getFunctionType() == funcType &&
2152 return function;
2802 // the runtime function.
2887 // the runtime function.
3424 // Result type is used for picking appropriate runtime function.
3632 // function form
6838 // code-gen for the function form of RENAME
8262 /// intrinsic function.
8311 // One option is to generate internal function with inlined