History log of /llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp (Results 426 – 450 of 480)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ca473354 24-May-2012 Andrew Trick <atrick@apple.com>

misched: Release bottom roots in reverse order.

llvm-svn: 157426


# dd375dd3 24-May-2012 Andrew Trick <atrick@apple.com>

misched: rename ReadyQ class

llvm-svn: 157425


# f3786177 24-May-2012 Andrew Trick <atrick@apple.com>

misched: copy comments so compareRPDelta is readable by itself.

llvm-svn: 157424


# 6a50baa2 17-May-2012 Andrew Trick <atrick@apple.com>

comments

llvm-svn: 157020


# 276a3e8c 17-May-2012 Andrew Trick <atrick@apple.com>

misched: trace ReadyQ.

llvm-svn: 157007


# 2202577d 17-May-2012 Andrew Trick <atrick@apple.com>

misched: Added 3-level regpressure back-off.

Introduce the basic strategy for register pressure scheduling.

1) Respect target limits at all times.

2) Indentify critical register classes (pressure

misched: Added 3-level regpressure back-off.

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

show more ...


# 47a1feae 17-May-2012 Andrew Trick <atrick@apple.com>

comment

llvm-svn: 157005


# 463b2f1f 17-May-2012 Andrew Trick <atrick@apple.com>

misched: fix liveness iterators

llvm-svn: 157003


Revision tags: llvmorg-3.1.0
# c5d7008f 10-May-2012 Andrew Trick <atrick@apple.com>

misched: Print machineinstrs with -debug-only=misched

llvm-svn: 156576


# 419eae2d 10-May-2012 Andrew Trick <atrick@apple.com>

misched: tracing register pressure heuristics.

llvm-svn: 156575


# 7ee9de51 10-May-2012 Andrew Trick <atrick@apple.com>

misched: Add register pressure backoff to ConvergingScheduler.

Prioritize the instruction that comes closest to keeping pressure
under the target's limit. Then prioritize instructions that avoid
inc

misched: Add register pressure backoff to ConvergingScheduler.

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

show more ...


# 795c1120 10-May-2012 Andrew Trick <atrick@apple.com>

misched: Release only unscheduled nodes into ReadyQ.

llvm-svn: 156573


# 95dafd8b 10-May-2012 Andrew Trick <atrick@apple.com>

misched: Added ReadyQ container wrapper for Top and Bottom Queues.

llvm-svn: 156572


# 4add42f4 10-May-2012 Andrew Trick <atrick@apple.com>

misched: Introducing Top and Bottom register pressure trackers during scheduling.

llvm-svn: 156571


Revision tags: llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2
# 4d4b5469 24-Apr-2012 Andrew Trick <atrick@apple.com>

Fix a naughty header include that breaks "installed" builds.

llvm-svn: 155486


# c3ea0056 24-Apr-2012 Andrew Trick <atrick@apple.com>

misched: try (not too hard) to place debug values where they belong

llvm-svn: 155458


# cc45a283 24-Apr-2012 Andrew Trick <atrick@apple.com>

misched: ignore debug values during scheduling

llvm-svn: 155457


# 88639928 24-Apr-2012 Andrew Trick <atrick@apple.com>

misched: DAG builder support for tracking register pressure within the current scheduling region.

The DAG builder is a convenient place to do it. Hopefully this is more
efficient than a separate tra

misched: DAG builder support for tracking register pressure within the current scheduling region.

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

show more ...


Revision tags: llvmorg-3.1.0-rc1
# 779b32a4 01-Apr-2012 Andrew Trick <atrick@apple.com>

misched: Add finalizeScheduler to complete the target interface.

llvm-svn: 153827


# adb03b91 21-Mar-2012 Andrew Trick <atrick@apple.com>

misched: trace LiveIntervals after scheduling.

llvm-svn: 153161


# 54f7def7 21-Mar-2012 Andrew Trick <atrick@apple.com>

misched: obvious iterator update fixes for bottom-up.

llvm-svn: 153160


# de670c03 21-Mar-2012 Andrew Trick <atrick@apple.com>

misched: cleanup main loop

llvm-svn: 153159


# dd98c497 19-Mar-2012 Lang Hames <lhames@gmail.com>

Add an option to the MI scheduler to cut off scheduling after a fixed number of
instructions have been scheduled. Handy for tracking down scheduler bugs, or
bugs exposed by scheduling.

llvm-svn: 153

Add an option to the MI scheduler to cut off scheduling after a fixed number of
instructions have been scheduled. Handy for tracking down scheduler bugs, or
bugs exposed by scheduling.

llvm-svn: 153045

show more ...


# 05e7a843 14-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com>

Silence operator precedence warnings.

llvm-svn: 152711


# 8823decd 14-Mar-2012 Andrew Trick <atrick@apple.com>

misched: implemented a framework for top-down or bottom-up scheduling.

New flags: -misched-topdown, -misched-bottomup. They can be used with
the default scheduler or with -misched=shuffle. Without e

misched: implemented a framework for top-down or bottom-up scheduling.

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

show more ...


1...<<11121314151617181920