aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@quicinc.com>2020-01-13 16:07:30 -0600
committerKrzysztof Parzyszek <kparzysz@quicinc.com>2020-01-21 11:35:10 -0600
commit305bf5b21dbdb2345ef86b5700285e42d992c954 (patch)
tree353c6c74794003f6e2b33371a0bd6a298a0b4f70 /llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
parent7b8dc8c57697e95fd0b1248e4494ecc0f929aba1 (diff)
downloadllvm-305bf5b21dbdb2345ef86b5700285e42d992c954.zip
llvm-305bf5b21dbdb2345ef86b5700285e42d992c954.tar.gz
llvm-305bf5b21dbdb2345ef86b5700285e42d992c954.tar.bz2
[Hexagon] Add support for Hexagon v67t microarchitecture (tiny core)
Diffstat (limited to 'llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp b/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
index 7a90d58..d71409d 100644
--- a/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
+++ b/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
@@ -185,7 +185,10 @@ DecodeStatus HexagonDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
return Result;
if (Size > HEXAGON_MAX_PACKET_SIZE)
return MCDisassembler::Fail;
- HexagonMCChecker Checker(getContext(), *MCII, STI, MI,
+
+ const auto ArchSTI = Hexagon_MC::getArchSubtarget(&STI);
+ const auto STI_ = (ArchSTI != nullptr) ? *ArchSTI : STI;
+ HexagonMCChecker Checker(getContext(), *MCII, STI_, MI,
*getContext().getRegisterInfo(), false);
if (!Checker.check())
return MCDisassembler::Fail;