"git@repo.hca.bsc.es:rferrer/llvm-epi-0.8.git" did not exist on "d2a7d1ed97f79a1de8ee2f9c2ca11e29d352e23a"
- Jun 29, 2012
-
-
Andrew Trick authored
llvm-svn: 159408
-
Andrew Trick authored
llvm-svn: 159407
-
- Jun 16, 2012
-
-
Benjamin Kramer authored
llvm-svn: 158608
-
- Jun 06, 2012
-
-
Andrew Trick authored
Allow targets to access this API. It's required for RegisterPressure. llvm-svn: 158102
-
Andrew Trick authored
Make it a general utility for use by Targets. llvm-svn: 158097
-
- Jun 05, 2012
-
-
Andrew Trick authored
Minimum latency determines per-cycle scheduling groups. Expected latency determines critical path and cost. llvm-svn: 158021
-
Andrew Trick authored
llvm-svn: 157975
-
- May 25, 2012
-
-
Andrew Trick authored
llvm-svn: 157455
-
Kaelyn Uhrain authored
llvm-svn: 157438
-
Andrew Trick authored
(except the part about choosing direction) llvm-svn: 157437
-
Andrew Trick authored
llvm-svn: 157429
-
Andrew Trick authored
llvm-svn: 157428
-
Andrew Trick authored
The Hazard checker implements in-order contraints, or interlocked resources. Ready instructions with hazards do not enter the available queue and are not visible to other heuristics. The major code change is the addition of SchedBoundary to encapsulate the state at the top or bottom of the schedule, including both a pending and available queue. The scheduler now counts cycles in sync with the hazard checker. These are minimum cycle counts based on known hazards. Targets with no itinerary (x86_64) currently remain at cycle 0. To fix this, we need to provide some maximum issue width for all targets. We also need to add the concept of expected latency vs. minimum latency. llvm-svn: 157427
-
Andrew Trick authored
llvm-svn: 157426
-
Andrew Trick authored
llvm-svn: 157425
-
Andrew Trick authored
llvm-svn: 157424
-
- May 18, 2012
-
-
Andrew Trick authored
llvm-svn: 157020
-
- May 17, 2012
-
-
Andrew Trick authored
llvm-svn: 157007
-
Andrew Trick authored
Introduce the basic strategy for register pressure scheduling. 1) Respect target limits at all times. 2) Indentify critical register classes (pressure sets). Track pressure within the scheduled region. Avoid increasing scheduled pressure for critical registers. 3) Avoid exceeding the max pressure of the region prior to scheduling. Added logic for picking between the top and bottom ready Q's based on regpressure heuristics. Status: functional but needs to be asjusted to achieve good results. llvm-svn: 157006
-
Andrew Trick authored
llvm-svn: 157005
-
Andrew Trick authored
llvm-svn: 157003
-
- May 10, 2012
-
-
Andrew Trick authored
llvm-svn: 156576
-
Andrew Trick authored
llvm-svn: 156575
-
Andrew Trick authored
Prioritize the instruction that comes closest to keeping pressure under the target's limit. Then prioritize instructions that avoid increasing the max pressure in the scheduled region. The max pressure heuristic is a tad aggressive. Later I'll fix it to consider the unscheduled pressure as well. WIP: This is mostly functional but untested and not likely to do much good yet. llvm-svn: 156574
-
Andrew Trick authored
llvm-svn: 156573
-
Andrew Trick authored
llvm-svn: 156572
-
Andrew Trick authored
llvm-svn: 156571
-
- Apr 24, 2012
-
-
Andrew Trick authored
llvm-svn: 155486
-
Andrew Trick authored
llvm-svn: 155458
-
Andrew Trick authored
llvm-svn: 155457
-
Andrew Trick authored
The DAG builder is a convenient place to do it. Hopefully this is more efficient than a separate traversal over the same region. llvm-svn: 155456
-
- Apr 01, 2012
-
-
Andrew Trick authored
llvm-svn: 153827
-
- Mar 21, 2012
-
-
Andrew Trick authored
llvm-svn: 153161
-
Andrew Trick authored
llvm-svn: 153160
-
Andrew Trick authored
llvm-svn: 153159
-
- Mar 19, 2012
-
-
Lang Hames authored
instructions have been scheduled. Handy for tracking down scheduler bugs, or bugs exposed by scheduling. llvm-svn: 153045
-
- Mar 14, 2012
-
-
Benjamin Kramer authored
llvm-svn: 152711
-
Andrew Trick authored
New flags: -misched-topdown, -misched-bottomup. They can be used with the default scheduler or with -misched=shuffle. Without either topdown/bottomup flag -misched=shuffle now alternates scheduling direction. LiveIntervals update is unimplemented with bottom-up scheduling, so only -misched-topdown currently works. Capped the ScheduleDAG hierarchy with a concrete ScheduleDAGMI class. ScheduleDAGMI is aware of the top and bottom of the unscheduled zone within the current region. Scheduling policy can be plugged into the ScheduleDAGMI driver by implementing MachineSchedStrategy. ConvergingScheduler is now the default scheduling algorithm. It exercises the new driver but still does no reordering. llvm-svn: 152700
-
Andrew Trick authored
llvm-svn: 152699
-
- Mar 09, 2012
-
-
Andrew Trick authored
And add comments, since this is obviously confusing. llvm-svn: 152445
-