summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [AMDGPU] Construct memory clauses before RAStanislav Mekhanoshin2018-05-311-0/+398
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
OpenPOWER on IntegriCloud