LLVM: lib/Target/DirectX/DXILRootSignature.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_LIB_TARGET_DIRECTX_DXILROOTSIGNATURE_H
14#define LLVM_LIB_TARGET_DIRECTX_DXILROOTSIGNATURE_H
15
24
25namespace llvm {
26namespace dxil {
27
29private:
31
32public:
35
39 : FuncToRsMap(Map) {};
40
42
44
46 const auto FuncRs = find(F);
47 if (FuncRs == end())
48 return nullptr;
49 return &FuncRs->second;
50 }
51};
52
64
65
66
67
68
70private:
71 std::unique_ptr FuncToRsMap;
72
73public:
76
78
80
82};
83
84
86 : public PassInfoMixin {
88
89public:
92};
93
94}
95}
96#endif
This file defines the DenseMap class.
Module.h This file contains the declarations for the Module class.
This header defines various interfaces for pass management in LLVM.
Represent the analysis usage information of a pass.
DenseMapIterator< KeyT, ValueT, KeyInfoT, BucketT > iterator
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
RootSignatureAnalysisPrinter(raw_ostream &OS)
Definition DXILRootSignature.h:90
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
RootSignatureAnalysisWrapper()
Definition DXILRootSignature.h:75
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
static char ID
Definition DXILRootSignature.h:74
RootSignatureBindingInfo & getRSInfo()
Definition DXILRootSignature.h:77
bool runOnModule(Module &M) override
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
RootSignatureBindingInfo Result
Definition DXILRootSignature.h:60
Result run(Module &M, ModuleAnalysisManager &AM)
RootSignatureAnalysis()=default
Definition DXILRootSignature.h:28
iterator find(const Function *F)
Definition DXILRootSignature.h:41
RootSignatureBindingInfo(SmallDenseMap< const Function *, mcdxbc::RootSignatureDesc > Map)
Definition DXILRootSignature.h:37
iterator end()
Definition DXILRootSignature.h:43
SmallDenseMap< const Function *, mcdxbc::RootSignatureDesc >::iterator iterator
Definition DXILRootSignature.h:33
mcdxbc::RootSignatureDesc * getDescForFunction(const Function *F)
Definition DXILRootSignature.h:45
RootSignatureBindingInfo()=default
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
A CRTP mix-in that provides informational APIs needed for analysis passes.
A special type used by analysis passes to provide an address that identifies that particular analysis...
A CRTP mix-in to automatically provide informational APIs needed for passes.