Reduce the size of MCRelaxableFragment.
[oota-llvm.git] / include / llvm / MC / MCTargetAsmParser.h
index 2c00c8732b7a9eec6335e4a41daf322d17ee519a..126da39e70ff720999616f1f03f907c9d15f65db 100644 (file)
@@ -93,7 +93,10 @@ private:
   MCTargetAsmParser(const MCTargetAsmParser &) = delete;
   void operator=(const MCTargetAsmParser &) = delete;
 protected: // Can only create subclasses.
-  MCTargetAsmParser(MCTargetOptions const &, MCSubtargetInfo &STI);
+  MCTargetAsmParser(MCTargetOptions const &, const MCSubtargetInfo &STI);
+
+  /// Create a copy of STI and return a non-const reference to it.
+  MCSubtargetInfo &copySTI();
 
   /// AvailableFeatures - The current set of available features.
   uint64_t AvailableFeatures;
@@ -109,7 +112,7 @@ protected: // Can only create subclasses.
   MCTargetOptions MCOptions;
 
   /// Current STI.
-  MCSubtargetInfo &STI;
+  const MCSubtargetInfo *STI;
 
 public:
   ~MCTargetAsmParser() override;