@@ -37,45 +37,42 @@ enum class RootSignatureElementKind {
37
37
};
38
38
39
39
class RootSignatureBindingInfo {
40
- private:
41
- SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc> FuncToRsMap;
40
+ private:
41
+ SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc> FuncToRsMap;
42
42
43
- public:
43
+ public:
44
44
using iterator =
45
- SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc>::iterator;
45
+ SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc>::iterator;
46
46
47
- RootSignatureBindingInfo () = default ;
48
- RootSignatureBindingInfo (
49
- SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc> Map)
50
- : FuncToRsMap(Map) {};
47
+ RootSignatureBindingInfo () = default ;
48
+ RootSignatureBindingInfo (SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc> Map) : FuncToRsMap(Map) {};
51
49
52
50
iterator find (const Function *F) { return FuncToRsMap.find (F); }
53
51
54
52
iterator end () { return FuncToRsMap.end (); }
55
53
56
- std::optional<mcdxbc::RootSignatureDesc>
57
- getDescForFunction (const Function *F) {
54
+ std::optional<mcdxbc::RootSignatureDesc> getDescForFunction (const Function* F) {
58
55
const auto FuncRs = find (F);
59
56
if (FuncRs == end ())
60
57
return std::nullopt;
61
58
62
59
return FuncRs->second ;
63
60
}
61
+
64
62
};
65
63
66
64
class RootSignatureAnalysis : public AnalysisInfoMixin <RootSignatureAnalysis> {
67
65
friend AnalysisInfoMixin<RootSignatureAnalysis>;
68
66
static AnalysisKey Key;
69
67
70
68
public:
71
- RootSignatureAnalysis () = default ;
72
-
73
- using Result = RootSignatureBindingInfo;
74
69
75
- Result run (Module &M, ModuleAnalysisManager &AM) ;
70
+ RootSignatureAnalysis () = default ;
76
71
77
- private:
78
- std::unique_ptr<RootSignatureBindingInfo> AnalysisResult;
72
+ using Result = RootSignatureBindingInfo;
73
+
74
+ RootSignatureBindingInfo
75
+ run (Module &M, ModuleAnalysisManager &AM);
79
76
};
80
77
81
78
// / Wrapper pass for the legacy pass manager.
@@ -92,8 +89,8 @@ class RootSignatureAnalysisWrapper : public ModulePass {
92
89
93
90
RootSignatureAnalysisWrapper () : ModulePass(ID) {}
94
91
95
- RootSignatureBindingInfo & getRSInfo () { return *FuncToRsMap; }
96
-
92
+ RootSignatureBindingInfo& getRSInfo () {return *FuncToRsMap;}
93
+
97
94
bool runOnModule (Module &M) override ;
98
95
99
96
void getAnalysisUsage (AnalysisUsage &AU) const override ;
0 commit comments