LLVM
8.0.1
lib
Target
AMDGPU
AMDGPUIntrinsicInfo.h
Go to the documentation of this file.
1
//===- AMDGPUIntrinsicInfo.h - AMDGPU Intrinsic Information ------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//==-----------------------------------------------------------------------===//
9
//
10
/// \file
11
/// Interface for the AMDGPU Implementation of the Intrinsic Info class.
12
//
13
//===-----------------------------------------------------------------------===//
14
#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUINTRINSICINFO_H
15
#define LLVM_LIB_TARGET_AMDGPU_AMDGPUINTRINSICINFO_H
16
17
#include "
llvm/IR/Intrinsics.h
"
18
#include "
llvm/Target/TargetIntrinsicInfo.h
"
19
20
namespace
llvm
{
21
class
TargetMachine;
22
23
namespace
SIIntrinsic {
24
enum
ID
{
25
last_non_AMDGPU_intrinsic
=
Intrinsic::num_intrinsics
- 1,
26
#define GET_INTRINSIC_ENUM_VALUES
27
#include "AMDGPUGenIntrinsicEnums.inc"
28
#undef GET_INTRINSIC_ENUM_VALUES
29
,
num_AMDGPU_intrinsics
30
};
31
32
}
// end namespace AMDGPUIntrinsic
33
34
class
AMDGPUIntrinsicInfo
final :
public
TargetIntrinsicInfo
{
35
public
:
36
AMDGPUIntrinsicInfo
();
37
38
StringRef
getName
(
unsigned
IntrId,
ArrayRef<Type *>
Tys =
None
)
const
;
39
40
std::string
getName
(
unsigned
IntrId,
Type
**Tys =
nullptr
,
41
unsigned
NumTys = 0)
const override
;
42
43
unsigned
lookupName(
const
char
*
Name
,
unsigned
Len)
const override
;
44
bool
isOverloaded
(
unsigned
IID)
const override
;
45
Function
*
getDeclaration
(
Module
*M,
unsigned
ID
,
46
Type
**Tys =
nullptr
,
47
unsigned
NumTys = 0)
const override
;
48
49
Function
*
getDeclaration
(
Module
*M,
unsigned
ID,
50
ArrayRef<Type *>
=
None
)
const
;
51
52
FunctionType
*
getType
(
LLVMContext
&
Context
,
unsigned
ID,
53
ArrayRef<Type*>
Tys =
None
)
const
;
54
};
55
56
}
// end namespace llvm
57
58
#endif
llvm::None
const NoneType None
Definition:
None.h:24
Context
LLVMContext & Context
Definition:
NVVMIntrRange.cpp:72
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
llvm::Module
A Module instance is used to store all the information related to an LLVM module. ...
Definition:
Module.h:65
llvm::Intrinsic::isOverloaded
bool isOverloaded(ID id)
Returns true if the intrinsic can be overloaded.
Definition:
Function.cpp:997
llvm::Function
Definition:
Function.h:60
Name
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Definition:
AMDGPULibCalls.cpp:221
getName
static StringRef getName(Value *V)
Definition:
ProvenanceAnalysisEvaluator.cpp:41
llvm::FunctionType
Class to represent function types.
Definition:
DerivedTypes.h:103
llvm::ArrayRef
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
Definition:
APInt.h:33
llvm::Intrinsic::getDeclaration
Function * getDeclaration(Module *M, ID id, ArrayRef< Type *> Tys=None)
Create or insert an LLVM Function declaration for an intrinsic, and return it.
Definition:
Function.cpp:1020
llvm::SIIntrinsic::ID
ID
Definition:
AMDGPUIntrinsicInfo.h:24
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed...
Definition:
Type.h:46
llvm::LLVMContext
This is an important class for using LLVM in a threaded context.
Definition:
LLVMContext.h:69
llvm::SIIntrinsic::last_non_AMDGPU_intrinsic
Definition:
AMDGPUIntrinsicInfo.h:25
llvm::SIIntrinsic::num_AMDGPU_intrinsics
Definition:
AMDGPUIntrinsicInfo.h:29
llvm::AMDGPUIntrinsicInfo
Definition:
AMDGPUIntrinsicInfo.h:34
getType
static wasm::ValType getType(const TargetRegisterClass *RC)
Definition:
WebAssemblyMCInstLower.cpp:150
llvm::TargetIntrinsicInfo
TargetIntrinsicInfo - Interface to description of machine instruction set.
Definition:
TargetIntrinsicInfo.h:31
Intrinsics.h
llvm::Intrinsic::num_intrinsics
Definition:
Intrinsics.h:6873
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition:
StringRef.h:49
TargetIntrinsicInfo.h
Generated on Sun Dec 20 2020 13:56:11 for LLVM by
1.8.13