[COFF] Change a variable type to be const in the HeapAllocSite map.

llvm-svn: 366479
This commit is contained in:
Amy Huang 2019-07-18 18:22:52 +00:00
parent 301c65a8e0
commit f332fe642c
5 changed files with 11 additions and 9 deletions

View File

@ -322,7 +322,7 @@ class MachineFunction {
std::vector<std::pair<MCSymbol *, MDNode *>> CodeViewAnnotations;
/// CodeView heapallocsites.
std::vector<std::tuple<MCSymbol*, MCSymbol*, DIType*>>
std::vector<std::tuple<MCSymbol *, MCSymbol *, const DIType *>>
CodeViewHeapAllocSites;
bool CallsEHReturn = false;
@ -935,10 +935,10 @@ public:
}
/// Record heapallocsites
void addCodeViewHeapAllocSite(MachineInstr *I, MDNode *MD);
void addCodeViewHeapAllocSite(MachineInstr *I, const MDNode *MD);
ArrayRef<std::tuple<MCSymbol*, MCSymbol*, DIType*>>
getCodeViewHeapAllocSites() const {
ArrayRef<std::tuple<MCSymbol *, MCSymbol *, const DIType *>>
getCodeViewHeapAllocSites() const {
return CodeViewHeapAllocSites;
}

View File

@ -1135,7 +1135,7 @@ void CodeViewDebug::emitDebugInfoForFunction(const Function *GV,
if (!BeginLabel->isDefined() || !EndLabel->isDefined())
continue;
DIType *DITy = std::get<2>(HeapAllocSite);
const DIType *DITy = std::get<2>(HeapAllocSite);
MCSymbol *HeapAllocEnd = beginSymbolRecord(SymbolKind::S_HEAPALLOCSITE);
OS.AddComment("Call site offset");
OS.EmitCOFFSecRel32(BeginLabel, /*Offset=*/0);

View File

@ -148,7 +148,8 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase {
SmallVector<LexicalBlock *, 1> ChildBlocks;
std::vector<std::pair<MCSymbol *, MDNode *>> Annotations;
std::vector<std::tuple<MCSymbol *, MCSymbol *, DIType *>> HeapAllocSites;
std::vector<std::tuple<MCSymbol *, MCSymbol *, const DIType *>>
HeapAllocSites;
const MCSymbol *Begin = nullptr;
const MCSymbol *End = nullptr;

View File

@ -823,13 +823,14 @@ try_next:;
return FilterID;
}
void MachineFunction::addCodeViewHeapAllocSite(MachineInstr *I, MDNode *MD) {
void MachineFunction::addCodeViewHeapAllocSite(MachineInstr *I,
const MDNode *MD) {
MCSymbol *BeginLabel = Ctx.createTempSymbol("heapallocsite", true);
MCSymbol *EndLabel = Ctx.createTempSymbol("heapallocsite", true);
I->setPreInstrSymbol(*this, BeginLabel);
I->setPostInstrSymbol(*this, EndLabel);
DIType *DI = dyn_cast<DIType>(MD);
const DIType *DI = dyn_cast<DIType>(MD);
CodeViewHeapAllocSites.push_back(std::make_tuple(BeginLabel, EndLabel, DI));
}

View File

@ -1238,7 +1238,7 @@ bool FastISel::lowerCallTo(CallLoweringInfo &CLI) {
// Set labels for heapallocsite call.
if (CLI.CS && CLI.CS->getInstruction()->getMetadata("heapallocsite")) {
MDNode *MD = CLI.CS->getInstruction()->getMetadata("heapallocsite");
const MDNode *MD = CLI.CS->getInstruction()->getMetadata("heapallocsite");
MF->addCodeViewHeapAllocSite(CLI.Call, MD);
}