Add a comment to describe why vector shuffles are legalized to custom DAG nodes.
[oota-llvm.git] / lib / VMCore / LLVMContextImpl.h
index 3d1f3b26a5c10ea2ee24af901314689e95e4eede..30a7fc4af930d6473c3963716d1d21d48e9c78c6 100644 (file)
@@ -34,7 +34,7 @@ class ConstantInt;
 class ConstantFP;
 class MDString;
 class MDNode;
-struct LLVMContext;
+class LLVMContext;
 class Type;
 class Value;
 
@@ -90,7 +90,8 @@ struct DenseMapAPFloatKeyInfo {
   static bool isPod() { return false; }
 };
 
-struct LLVMContextImpl {
+class LLVMContextImpl {
+public:
   sys::SmartRWMutex<true> ConstantsLock;
   
   typedef DenseMap<DenseMapAPIntKeyInfo::KeyTy, ConstantInt*, 
@@ -105,7 +106,10 @@ struct LLVMContextImpl {
   
   ValueMap<char, Type, ConstantAggregateZero> AggZeroConstants;
 
-  ValueMap<std::vector<Value*>, Type, MDNode, true /*largekey*/> MDNodes;
+  typedef ValueMap<std::vector<Value*>, Type, MDNode, true /*largekey*/> 
+  MDNodeMapTy;
+
+  MDNodeMapTy MDNodes;
   
   typedef ValueMap<std::vector<Constant*>, ArrayType, 
     ConstantArray, true /*largekey*/> ArrayConstantsTy;