summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/R600/R600MachineScheduler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* R600: Factorize maximum alu per clause in a single locationVincent Lejeune2013-04-031-1/+1
| | | | llvm-svn: 178667
* R600: Factorize code handling Const Read Port limitationVincent Lejeune2013-03-141-68/+7
| | | | llvm-svn: 177078
* R600MachineScheduler.cpp: Fix use cases of dbgs(). Don't include <iostream> ↵NAKAMURA Takumi2013-03-111-1/+2
| | | | | | here. llvm-svn: 176797
* R600: initial scheduler codeVincent Lejeune2013-03-051-0/+487
This is a skeleton for a pre-RA MachineInstr scheduler strategy. Currently it only tries to expose more parallelism for ALU instructions (this also makes the distribution of GPR channels more uniform and increases the chances of ALU instructions to be packed together in a single VLIW group). Also it tries to reduce clause switching by grouping instruction of the same kind (ALU/FETCH/CF) together. Vincent Lejeune: - Support for VLIW4 Slot assignement - Recomputation of ScheduleDAG to get more parallelism opportunities Tom Stellard: - Fix assertion failure when trying to determine an instruction's slot based on its destination register's class - Fix some compiler warnings Vincent Lejeune: [v2] - Remove recomputation of ScheduleDAG (will be provided in a later patch) - Improve estimation of an ALU clause size so that heuristic does not emit cf instructions at the wrong position. - Make schedule heuristic smarter using SUnit Depth - Take constant read limitations into account Vincent Lejeune: [v3] - Fix some uninitialized values in ConstPair - Add asserts to ensure an ALU slot is always populated llvm-svn: 176498
OpenPOWER on IntegriCloud