Fix typo "of" -> "or" and change the way a line was formatted to fit
[oota-llvm.git] / lib / VMCore / LLVMContext.cpp
index 107905f40aa6dd3c17b7fbb3f8d2bb9fdf26946b..5a8ea5cf6d34db0e8358b49013b149cd236d2064 100644 (file)
@@ -8,19 +8,16 @@
 //===----------------------------------------------------------------------===//
 //
 //  This file implements LLVMContext, as a wrapper around the opaque
-// class LLVMContextImpl.
+//  class LLVMContextImpl.
 //
 //===----------------------------------------------------------------------===//
 
 #include "llvm/LLVMContext.h"
+#include "llvm/Metadata.h"
 #include "llvm/Constants.h"
-#include "llvm/DerivedTypes.h"
 #include "llvm/Instruction.h"
-#include "llvm/Metadata.h"
 #include "llvm/Support/ManagedStatic.h"
 #include "LLVMContextImpl.h"
-#include <cstdarg>
-
 using namespace llvm;
 
 static ManagedStatic<LLVMContext> GlobalContext;
@@ -32,20 +29,16 @@ LLVMContext& llvm::getGlobalContext() {
 LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) { }
 LLVMContext::~LLVMContext() { delete pImpl; }
 
-// MDNode accessors
-MDNode* LLVMContext::getMDNode(Value* const* Vals, unsigned NumVals) {
-  return pImpl->getMDNode(Vals, NumVals);
-}
-
-// MDString accessors
-MDString* LLVMContext::getMDString(const StringRef &Str) {
-  return pImpl->getMDString(Str.data(), Str.size());
-}
-
-void LLVMContext::erase(MDString *M) {
-  pImpl->erase(M);
+GetElementPtrConstantExpr::GetElementPtrConstantExpr
+  (Constant *C,
+   const std::vector<Constant*> &IdxList,
+   const Type *DestTy)
+    : ConstantExpr(DestTy, Instruction::GetElementPtr,
+                   OperandTraits<GetElementPtrConstantExpr>::op_end(this)
+                   - (IdxList.size()+1),
+                   IdxList.size()+1) {
+  OperandList[0] = C;
+  for (unsigned i = 0, E = IdxList.size(); i != E; ++i)
+    OperandList[i+1] = IdxList[i];
 }
 
-void LLVMContext::erase(MDNode *M) {
-  pImpl->erase(M);
-}