Introduce some typedefs for DenseMaps containing SmallVectors so the vector size doesn't have to repeated when creating iterators for the DenseMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185508 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2013-07-03 04:40:27 +00:00
parent 9f4c37915f
commit 01eb99af2f
2 changed files with 9 additions and 7 deletions

View File

@ -547,8 +547,7 @@ DIE *DwarfDebug::constructInlinedScopeDIE(CompileUnit *TheCU,
// corresponding the .debug_inlined section entry for this pair.
if (Asm->MAI->doesDwarfUseInlineInfoSection()) {
MCSymbol *StartLabel = getLabelBeforeInsn(Ranges.begin()->first);
DenseMap<const MDNode *, SmallVector<InlineInfoLabels, 4> >::iterator I =
InlineInfo.find(InlinedSP);
InlineInfoMap::iterator I = InlineInfo.find(InlinedSP);
if (I == InlineInfo.end()) {
InlineInfo[InlinedSP].push_back(std::make_pair(StartLabel, ScopeDIE));
@ -1727,7 +1726,7 @@ void DwarfDebug::endFunction(const MachineFunction *MF) {
TheCU->addFlag(CurFnDIE, dwarf::DW_AT_APPLE_omit_frame_ptr);
// Clear debug info
for (DenseMap<LexicalScope *, SmallVector<DbgVariable *, 8> >::iterator
for (ScopeVariablesMap::iterator
I = ScopeVariables.begin(), E = ScopeVariables.end(); I != E; ++I)
DeleteContainerPointers(I->second);
ScopeVariables.clear();
@ -2586,8 +2585,7 @@ void DwarfDebug::emitDebugInlineInfo() {
E = InlinedSPNodes.end(); I != E; ++I) {
const MDNode *Node = *I;
DenseMap<const MDNode *, SmallVector<InlineInfoLabels, 4> >::iterator II
= InlineInfo.find(Node);
InlineInfoMap::iterator II = InlineInfo.find(Node);
SmallVectorImpl<InlineInfoLabels> &Labels = II->second;
DISubprogram SP(Node);
StringRef LName = SP.getLinkageName();

View File

@ -327,7 +327,9 @@ class DwarfDebug {
DenseMap<const MDNode *, DIE *> AbstractSPDies;
// Collection of dbg variables of a scope.
DenseMap<LexicalScope *, SmallVector<DbgVariable *, 8> > ScopeVariables;
typedef DenseMap<LexicalScope *,
SmallVector<DbgVariable *, 8> > ScopeVariablesMap;
ScopeVariablesMap ScopeVariables;
// Collection of abstract variables.
DenseMap<const MDNode *, DbgVariable *> AbstractVariables;
@ -342,7 +344,9 @@ class DwarfDebug {
// Keep track of inlined functions and their location. This
// information is used to populate the debug_inlined section.
typedef std::pair<const MCSymbol *, DIE *> InlineInfoLabels;
DenseMap<const MDNode *, SmallVector<InlineInfoLabels, 4> > InlineInfo;
typedef DenseMap<const MDNode *,
SmallVector<InlineInfoLabels, 4> > InlineInfoMap;
InlineInfoMap InlineInfo;
SmallVector<const MDNode *, 4> InlinedSPNodes;
// This is a collection of subprogram MDNodes that are processed to