Implement Uday's suggestion to unique attribute lists across instructions,
reducing the memory impact on Operation to one word instead of 3 from an
std::vector.

Implement Jacques' suggestion to merge OpImpl::Storage into OpImpl::Base.

PiperOrigin-RevId: 203426518
diff --git a/lib/Parser/Parser.cpp b/lib/Parser/Parser.cpp
index a4d532f..d97e18b 100644
--- a/lib/Parser/Parser.cpp
+++ b/lib/Parser/Parser.cpp
@@ -1296,7 +1296,7 @@
   }
 
   auto nameId = Identifier::get(name, context);
-  return new OperationInst(nameId, attributes);
+  return new OperationInst(nameId, attributes, context);
 }