diff options
Diffstat (limited to 'llvm/lib/MC/MCParser/MCTargetAsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/MCTargetAsmParser.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp b/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp index 234b3b64707..4e4b47805cd 100644 --- a/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp +++ b/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp @@ -12,15 +12,21 @@ using namespace llvm; MCTargetAsmParser::MCTargetAsmParser(MCTargetOptions const &MCOptions, - MCSubtargetInfo &STI) + const MCSubtargetInfo &STI) : AvailableFeatures(0), ParsingInlineAsm(false), MCOptions(MCOptions), - STI(STI) + STI(&STI) { } MCTargetAsmParser::~MCTargetAsmParser() { } +MCSubtargetInfo &MCTargetAsmParser::copySTI() { + MCSubtargetInfo &STICopy = getContext().getSubtargetCopy(getSTI()); + STI = &STICopy; + return STICopy; +} + const MCSubtargetInfo &MCTargetAsmParser::getSTI() const { - return STI; + return *STI; } |