diff options
| author | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-09-28 13:37:27 +0000 | 
|---|---|---|
| committer | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-09-28 13:37:27 +0000 | 
| commit | 21f2955bb289bffe61f68a8b0726bbec24216214 (patch) | |
| tree | 52c28c512e6e2b5d6119c11204dec73f41e5f36e /llvm/lib/CodeGen/MIRParser | |
| parent | 66f4e45b35c809ff81b81044260a520e041a7d49 (diff) | |
| download | bcm5719-llvm-21f2955bb289bffe61f68a8b0726bbec24216214.tar.gz bcm5719-llvm-21f2955bb289bffe61f68a8b0726bbec24216214.zip | |
Reapply changes reverted by r343235
- Add fix so that all code paths that create DWARFContext
  with an ObjectFile initialise the target architecture in the context
- Add an assert that the Arch is known in the Dwarf CallFrameString method
llvm-svn: 343317
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser')
| -rw-r--r-- | llvm/lib/CodeGen/MIRParser/MILexer.cpp | 1 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/MIRParser/MILexer.h | 1 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 4 | 
3 files changed, 6 insertions, 0 deletions
| diff --git a/llvm/lib/CodeGen/MIRParser/MILexer.cpp b/llvm/lib/CodeGen/MIRParser/MILexer.cpp index f7cc94e34a5..ce061f8e9b8 100644 --- a/llvm/lib/CodeGen/MIRParser/MILexer.cpp +++ b/llvm/lib/CodeGen/MIRParser/MILexer.cpp @@ -220,6 +220,7 @@ static MIToken::TokenKind getIdentifierKind(StringRef Identifier) {        .Case("undefined", MIToken::kw_cfi_undefined)        .Case("register", MIToken::kw_cfi_register)        .Case("window_save", MIToken::kw_cfi_window_save) +      .Case("negate_ra_sign_state", MIToken::kw_cfi_aarch64_negate_ra_sign_state)        .Case("blockaddress", MIToken::kw_blockaddress)        .Case("intrinsic", MIToken::kw_intrinsic)        .Case("target-index", MIToken::kw_target_index) diff --git a/llvm/lib/CodeGen/MIRParser/MILexer.h b/llvm/lib/CodeGen/MIRParser/MILexer.h index dffa4f74544..813c539f648 100644 --- a/llvm/lib/CodeGen/MIRParser/MILexer.h +++ b/llvm/lib/CodeGen/MIRParser/MILexer.h @@ -89,6 +89,7 @@ struct MIToken {      kw_cfi_restore_state,      kw_cfi_undefined,      kw_cfi_window_save, +    kw_cfi_aarch64_negate_ra_sign_state,      kw_blockaddress,      kw_intrinsic,      kw_target_index, diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index 5c6a41af97a..4cdf2b437f5 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -1816,6 +1816,9 @@ bool MIParser::parseCFIOperand(MachineOperand &Dest) {    case MIToken::kw_cfi_window_save:      CFIIndex = MF.addFrameInst(MCCFIInstruction::createWindowSave(nullptr));      break; +  case MIToken::kw_cfi_aarch64_negate_ra_sign_state: +    CFIIndex = MF.addFrameInst(MCCFIInstruction::createNegateRAState(nullptr)); +    break;    case MIToken::kw_cfi_escape: {      std::string Values;      if (parseCFIEscapeValues(Values)) @@ -2108,6 +2111,7 @@ bool MIParser::parseMachineOperand(MachineOperand &Dest,    case MIToken::kw_cfi_restore_state:    case MIToken::kw_cfi_undefined:    case MIToken::kw_cfi_window_save: +  case MIToken::kw_cfi_aarch64_negate_ra_sign_state:      return parseCFIOperand(Dest);    case MIToken::kw_blockaddress:      return parseBlockAddressOperand(Dest); | 

