summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-03-30 15:09:05 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-03-30 15:09:05 +0000
commit46abcb236bb4929a08d4905bf2169ec592202454 (patch)
tree5a07d5d2663cd6f6dab5961252046cccad4aa627 /llvm/lib/Target/Hexagon
parent71731fab24a861b3859654a7c19de1ff09959b76 (diff)
downloadbcm5719-llvm-46abcb236bb4929a08d4905bf2169ec592202454.tar.gz
bcm5719-llvm-46abcb236bb4929a08d4905bf2169ec592202454.zip
[Hexagon] Fix printing :mem_noshuf on compiler-generated packets
llvm-svn: 328869
Diffstat (limited to 'llvm/lib/Target/Hexagon')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
index 3a1821bf265..5be2cc9145e 100644
--- a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
@@ -755,9 +755,14 @@ void HexagonAsmPrinter::EmitInstruction(const MachineInstr *MI) {
for (++MII; MII != MBB->instr_end() && MII->isInsideBundle(); ++MII)
if (!MII->isDebugValue() && !MII->isImplicitDef())
HexagonLowerToMC(MCII, &*MII, MCB, *this);
- }
- else
+ } else {
HexagonLowerToMC(MCII, MI, MCB, *this);
+ }
+
+ const MachineFunction &MF = *MI->getParent()->getParent();
+ const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo();
+ if (MI->isBundle() && HII.getBundleNoShuf(*MI))
+ HexagonMCInstrInfo::setMemReorderDisabled(MCB);
bool Ok = HexagonMCInstrInfo::canonicalizePacket(
MCII, *Subtarget, OutStreamer->getContext(), MCB, nullptr);
OpenPOWER on IntegriCloud