diff options
author | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2018-05-31 20:13:51 +0000 |
---|---|---|
committer | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2018-05-31 20:13:51 +0000 |
commit | 739174c4be36d13a22bad1187e444f4a804db407 (patch) | |
tree | 07ca122e021d1251fe1d3409d014eae96f25bcf1 /llvm/tools/llvm-objcopy/llvm-objcopy.cpp | |
parent | a6922415b163a46a860c93d4d4e042320363e7c7 (diff) | |
download | bcm5719-llvm-739174c4be36d13a22bad1187e444f4a804db407.tar.gz bcm5719-llvm-739174c4be36d13a22bad1187e444f4a804db407.zip |
[AMDGPU] Construct memory clauses before RA
Memory clauses are formed into bundles in presence of xnack.
Their source operands are marked as early-clobber.
This allows to allocate distinct source and destination registers
within a clause and prevent breaking the clause with s_nop in the
hazard recognizer.
Clauses are undone before post-RA scheduler to allow some rescheduling,
which will not break the clause since artificial edges are created in
the dag to keep memory operations together. Yet this allows a better
ILP in some cases.
Differential Revision: https://reviews.llvm.org/D47511
llvm-svn: 333691
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
0 files changed, 0 insertions, 0 deletions