Use a single data structure to store all user variables in DwarfDebug

Summary:
Get rid of UserVariables set, and turn DbgValues into MapVector
to get a fixed ordering, as suggested in review for http://reviews.llvm.org/D3573.

Test Plan: llvm regression tests

Reviewers: dblaikie

Reviewed By: dblaikie

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D3579

llvm-svn: 207720
diff --git a/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h b/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h
index d919522..2945c15 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h
@@ -10,7 +10,7 @@
 #ifndef CODEGEN_ASMPRINTER_DBGVALUEHISTORYCALCULATOR_H_
 #define CODEGEN_ASMPRINTER_DBGVALUEHISTORYCALCULATOR_H_
 
-#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/MapVector.h"
 #include "llvm/ADT/SmallVector.h"
 
 namespace llvm {
@@ -22,8 +22,8 @@
 
 // For each user variable, keep a list of DBG_VALUE instructions in order.
 // The list can also contain normal instructions that clobber the previous
-// DBG_VALUE.
-typedef DenseMap<const MDNode *, SmallVector<const MachineInstr *, 4>>
+// DBG_VALUE. The variables are listed in order of appearance.
+typedef MapVector<const MDNode *, SmallVector<const MachineInstr *, 4>>
 DbgValueHistoryMap;
 
 void calculateDbgValueHistory(const MachineFunction *MF,