diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-03-30 15:09:05 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-03-30 15:09:05 +0000 |
commit | ce765af4ed3e1b8d70ef95195d599dddf6637fc4 (patch) | |
tree | c399c3f06d6021c0bed3bce7320cbb45a984261d /lib/Target/Hexagon/HexagonAsmPrinter.cpp | |
parent | 849eeab8996b6aa9a7d00a221e73deb2c725a84d (diff) |
[Hexagon] Fix printing :mem_noshuf on compiler-generated packets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328869 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Hexagon/HexagonAsmPrinter.cpp')
-rw-r--r-- | lib/Target/Hexagon/HexagonAsmPrinter.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Target/Hexagon/HexagonAsmPrinter.cpp b/lib/Target/Hexagon/HexagonAsmPrinter.cpp index 3a1821bf265..5be2cc9145e 100644 --- a/lib/Target/Hexagon/HexagonAsmPrinter.cpp +++ b/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); |