diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-09-09 12:33:22 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-09-09 12:33:22 +0000 |
| commit | 462e3d8050faf6442b678a9089933542b7c0e84c (patch) | |
| tree | 0ace17df642cf39f2acf38adb8fd6c33b7ee97ad /llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp | |
| parent | 5b270932cc6ee39d977d397bafc363e9c5df040f (diff) | |
| download | bcm5719-llvm-462e3d8050faf6442b678a9089933542b7c0e84c.tar.gz bcm5719-llvm-462e3d8050faf6442b678a9089933542b7c0e84c.zip | |
Revert rL371198 from llvm/trunk: [DFAPacketizer] Track resources for packetized instructions
This patch allows the DFAPacketizer to be queried after a packet is formed to work out which
resources were allocated to the packetized instructions.
This is particularly important for targets that do their own bundle packing - it's not
sufficient to know simply that instructions can share a packet; which slots are used is
also required for encoding.
This extends the emitter to emit a side-table containing resource usage diffs for each
state transition. The packetizer maintains a set of all possible resource states in its
current state. After packetization is complete, all remaining resource states are
possible packetization strategies.
The sidetable is only ~500K for Hexagon, but the extra tracking is disabled by default
(most uses of the packetizer like MachinePipeliner don't care and don't need the extra
maintained state).
Differential Revision: https://reviews.llvm.org/D66936
........
Reverted as this is causing "compiler out of heap space" errors on MSVC 2017/19 NDEBUG builds
llvm-svn: 371393
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp')
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp b/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp index 7024dafd479..c89c0b3369f 100644 --- a/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp +++ b/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp @@ -24,7 +24,6 @@ #include "llvm/ADT/BitVector.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/STLExtras.h" -#include "llvm/ADT/StringExtras.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/CodeGen/MachineBasicBlock.h" #include "llvm/CodeGen/MachineBranchProbabilityInfo.h" @@ -1764,16 +1763,6 @@ HexagonPacketizerList::addToPacket(MachineInstr &MI) { void HexagonPacketizerList::endPacket(MachineBasicBlock *MBB, MachineBasicBlock::iterator EndMI) { // Replace VLIWPacketizerList::endPacket(MBB, EndMI). - LLVM_DEBUG({ - if (!CurrentPacketMIs.empty()) { - dbgs() << "Finalizing packet:\n"; - unsigned Idx = 0; - for (MachineInstr *MI : CurrentPacketMIs) { - unsigned R = ResourceTracker->getUsedResources(Idx++); - dbgs() << " * [res:0x" << utohexstr(R) << "] " << *MI; - } - } - }); bool memShufDisabled = getmemShufDisabled(); if (memShufDisabled && !foundLSInPacket()) { |

