Skip to content

Commit e4bca2b

Browse files
author
joaosaffran
committed
implementing find interface for RootSignatureAnalysisWrapper
1 parent 605f225 commit e4bca2b

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

llvm/lib/Target/DirectX/DXContainerGlobals.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,17 +164,16 @@ void DXContainerGlobals::addRootSignature(Module &M,
164164

165165
auto &RSA = getAnalysis<RootSignatureAnalysisWrapper>();
166166
const Function *EntryFunction = MMI.EntryPropertyVec[0].Entry;
167-
const std::optional<RootSignatureDesc> &MaybeRS =
168-
RSA.getForFunction(EntryFunction);
167+
const auto &FuncRs = RSA.find(EntryFunction);
169168

170-
if (!MaybeRS.has_value())
169+
if (FuncRs == RSA.end())
171170
return;
172171

173-
const RootSignatureDesc &RSH = MaybeRS.value();
172+
const RootSignatureDesc &RS = FuncRs->getSecond();
174173
SmallString<256> Data;
175174
raw_svector_ostream OS(Data);
176175

177-
RSH.write(OS);
176+
RS.write(OS);
178177

179178
Constant *Constant =
180179
ConstantDataArray::getString(M.getContext(), Data, /*AddNull*/ false);

llvm/lib/Target/DirectX/DXILRootSignature.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ class RootSignatureAnalysisWrapper : public ModulePass {
5151

5252
RootSignatureAnalysisWrapper() : ModulePass(ID) {}
5353

54-
std::optional<mcdxbc::RootSignatureDesc> getForFunction(const Function *F) {
55-
auto Lookup = FuncToRsMap.find(F);
56-
if (Lookup == FuncToRsMap.end())
57-
return std::nullopt;
58-
return Lookup->second;
59-
}
54+
using iterator =
55+
SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc>::iterator;
56+
57+
iterator find(const Function *F) { return FuncToRsMap.find(F); }
58+
59+
iterator end() { return FuncToRsMap.end(); }
6060

6161
bool runOnModule(Module &M) override;
6262

0 commit comments

Comments
 (0)