23 #define GET_LLVM_INTRINSIC_FOR_GCC_BUILTIN
24 #include "AMDGPUGenIntrinsics.inc"
25 #undef GET_LLVM_INTRINSIC_FOR_GCC_BUILTIN
31 unsigned numTys)
const {
32 static const char *
const names[] = {
33 #define GET_INTRINSIC_NAME_TABLE
34 #include "AMDGPUGenIntrinsics.inc"
35 #undef GET_INTRINSIC_NAME_TABLE
42 "Invalid intrinsic ID");
50 if (!
StringRef(Name, Len).startswith(
"llvm."))
53 #define GET_FUNCTION_RECOGNIZER
54 #include "AMDGPUGenIntrinsics.inc"
55 #undef GET_FUNCTION_RECOGNIZER
68 #define GET_INTRINSIC_OVERLOAD_TABLE
69 #include "AMDGPUGenIntrinsics.inc"
70 #undef GET_INTRINSIC_OVERLOAD_TABLE
75 unsigned numTys)
const {
AMDGPU specific subclass of TargetSubtarget.
A Module instance is used to store all the information related to an LLVM module. ...
unsigned lookupName(const char *Name, unsigned Len) const override
Look up target intrinsic by name.
bool isOverloaded(unsigned IID) const override
Returns true if the intrinsic can be overloaded.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
std::string getName(unsigned IntrId, Type **Tys=nullptr, unsigned numTys=0) const override
Return the name of a target intrinsic, e.g.
ID getIntrinsicForGCCBuiltin(const char *Prefix, const char *BuiltinName)
Map a GCC builtin name to an intrinsic ID.
The instances of the Type class are immutable: once they are created, they are never changed...
TargetIntrinsicInfo - Interface to description of machine instruction set.
Module.h This file contains the declarations for the Module class.
Interface for the AMDGPU Implementation of the Intrinsic Info class.
Function * getDeclaration(Module *M, unsigned ID, Type **Tys=nullptr, unsigned numTys=0) const override
Create or insert an LLVM Function declaration for an intrinsic, and return it.
StringRef - Represent a constant reference to a string, i.e.