summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ScheduleDAGInstrs.h
Commit message (Collapse)AuthorAgeFilesLines
* Spill slots cannot alias.Evan Cheng2009-10-181-0/+1
| | | | llvm-svn: 84432
* Remove a redundant member variable.Dan Gohman2009-10-121-1/+0
| | | | llvm-svn: 83857
* Factor out LiveIntervalAnalysis' code to determine whether an instructionDan Gohman2009-10-091-1/+1
| | | | | | | | | | | | | | is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687
* Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵Evan Cheng2009-09-181-2/+4
| | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
* Use the schedule itinerary operand use/def cycle information to adjust ↵David Goodwin2009-08-191-0/+6
| | | | | | dependence edge latency for post-RA scheduling. llvm-svn: 79425
* When scheduling a block in parts, keep track of the overallDan Gohman2009-02-111-0/+13
| | | | | | | | | | | instruction index across each part. Instruction indices are used to make live range queries, and live ranges can extend beyond scheduling region boundaries. Refactor the ScheduleDAGSDNodes class some more so that it doesn't have to worry about this additional information. llvm-svn: 64288
* Factor out more code for computing register live-range informationforDan Gohman2009-02-101-1/+90
| | | | | | | | | | | scheduling, and generalize is so that preserves state across scheduling regions. This fixes incorrect live-range information around terminators and labels, which are effective region boundaries. In place of looking for terminators to anchor inter-block dependencies, introduce special entry and exit scheduling units for this purpose. llvm-svn: 64254
* Move ScheduleDAGInstrs.h to be a private header. Front-endsDan Gohman2009-02-061-0/+82
that used this header to select a scheduling policy should use SchedulerRegistry.h instead (llvm-gcc and clang were updated a while ago). llvm-svn: 63934
OpenPOWER on IntegriCloud