diff options
| author | James Molloy <jmolloy@google.com> | 2019-09-06 12:20:08 +0000 |
|---|---|---|
| committer | James Molloy <jmolloy@google.com> | 2019-09-06 12:20:08 +0000 |
| commit | db2fa0672210705ff1ca6d38f487970e4536809f (patch) | |
| tree | a06a2e70ef4d43e7af1bbaaad36df151f9f58186 /llvm/utils/update_cc_test_checks.py | |
| parent | 90d32df7db51ec69bee38eedc4549976b7c52321 (diff) | |
| download | bcm5719-llvm-db2fa0672210705ff1ca6d38f487970e4536809f.tar.gz bcm5719-llvm-db2fa0672210705ff1ca6d38f487970e4536809f.zip | |
[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
llvm-svn: 371198
Diffstat (limited to 'llvm/utils/update_cc_test_checks.py')
0 files changed, 0 insertions, 0 deletions

