Subzero. Fixes memory leaks.

Adds named constructors to initialzers. Removes destructor from Inst.

BUG= None
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/1181013016.
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp
index afe3ebc..11a1f27 100644
--- a/src/PNaClTranslator.cpp
+++ b/src/PNaClTranslator.cpp
@@ -293,7 +293,8 @@
     assert(VariableDeclarations);
     assert(VariableDeclarations->empty());
     for (size_t i = 0; i < Count; ++i) {
-      VariableDeclarations->push_back(Ice::VariableDeclaration::create());
+      VariableDeclarations->push_back(
+          Ice::VariableDeclaration::create(getTranslator().getContext()));
     }
   }
 
@@ -904,7 +905,8 @@
   GlobalsParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser)
       : BlockParserBaseClass(BlockID, EnclosingParser),
         Timer(Ice::TimerStack::TT_parseGlobals, getTranslator().getContext()),
-        DummyGlobalVar(Ice::VariableDeclaration::create()),
+        DummyGlobalVar(
+            Ice::VariableDeclaration::create(getTranslator().getContext())),
         CurGlobalVar(DummyGlobalVar) {}
 
   ~GlobalsParser() final {}
@@ -1017,7 +1019,7 @@
     if (isIRGenerationDisabled())
       return;
     CurGlobalVar->addInitializer(
-        new Ice::VariableDeclaration::ZeroInitializer(Values[0]));
+        Ice::VariableDeclaration::ZeroInitializer::create(Values[0]));
     return;
   }
   case naclbitc::GLOBALVAR_DATA: {
@@ -1027,7 +1029,7 @@
     if (isIRGenerationDisabled())
       return;
     CurGlobalVar->addInitializer(
-        new Ice::VariableDeclaration::DataInitializer(Values));
+        Ice::VariableDeclaration::DataInitializer::create(Values));
     return;
   }
   case naclbitc::GLOBALVAR_RELOC: {
@@ -1040,8 +1042,9 @@
     Ice::SizeT Offset = 0;
     if (Values.size() == 2)
       Offset = Values[1];
-    CurGlobalVar->addInitializer(new Ice::VariableDeclaration::RelocInitializer(
-        Context->getGlobalDeclarationByID(Index), Offset));
+    CurGlobalVar->addInitializer(
+        Ice::VariableDeclaration::RelocInitializer::create(
+            Context->getGlobalDeclarationByID(Index), Offset));
     return;
   }
   default:
@@ -2945,7 +2948,8 @@
     }
     bool IsProto = Values[2] == 1;
     Ice::FunctionDeclaration *Func = Ice::FunctionDeclaration::create(
-        Signature, CallingConv, Linkage, IsProto);
+        Context->getTranslator().getContext(), Signature, CallingConv, Linkage,
+        IsProto);
     Context->setNextFunctionID(Func);
     return;
   }