History log of /external/llvm/lib/CodeGen/RegisterPressure.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
77e300e8f0b8db8eec448cae9c87d7c5bfad9757 06-Sep-2012 Manman Ren <mren@apple.com> Release build: guard dump functions with "ifndef NDEBUG"

No functional change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
0eb3a3524e9d68642e574780d19c781386ed4469 12-Jun-2012 Andrew Trick <atrick@apple.com> misched: When querying RegisterPressureTracker, always save current and max pressure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
4487479543d58df84bb403f4bcfd33f72aadfa18 12-Jun-2012 Andrew Trick <atrick@apple.com> misched: regpressure getMaxPressureDelta, revert accidental checkin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
ba17293a8827a7e0e390b0a1d6075148a58d9edd 09-Jun-2012 Andrew Trick <atrick@apple.com> Register pressure: added getPressureAfterInstr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
1525260b3e50cc578939ef41b60609689eecfdd2 06-Jun-2012 Andrew Trick <atrick@apple.com> Move RegisterClassInfo.h.

Allow targets to access this API. It's required for RegisterPressure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
afc2657cc33988a178d3b21645dba54484600c5f 06-Jun-2012 Andrew Trick <atrick@apple.com> Move RegisterPressure.h.

Make it a general utility for use by Targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
396618b43a85e12d290a90b181c6af5d7c0c5f11 02-Jun-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Switch all register list clients to the new MC*Iterator interface.

No functional change intended.

Sorry for the churn. The iterator classes are supposed to help avoid
giant commits like this one in the future. The TableGen-produced
register lists are getting quite large, and it may be necessary to
change the table representation.

This makes it possible to do so without changing all clients (again).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
5f887fab35cd71a1e6fcbfa64ae5cbbf43b39807 25-May-2012 Andrew Trick <atrick@apple.com> regpressure: Added RegisterPressure::dump

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
a7de4b99e47fc5061181ecdf7fd65e1b8441e2e7 25-May-2012 Andrew Trick <atrick@apple.com> regpressure: physreg livein/out fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
73a0d8ecf838a9b333c9865d2a4b72c5768fb49f 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 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
0556bd35e564c89149aa02ea8d76f539c87ee875 17-May-2012 Andrew Trick <atrick@apple.com> comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
b54ec26b355157c76b29b12388d49816eaf57da1 17-May-2012 Andrew Trick <atrick@apple.com> regpressure: Fix getMaxUpwardPressureDelta.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
24617213ba8e9d1e0f10af33d88285a92304ab95 17-May-2012 Andrew Trick <atrick@apple.com> whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
7f8ab785af09e4d6e4db07157a5b5aa449b5c3ae 10-May-2012 Andrew Trick <atrick@apple.com> misched: Introducing Top and Bottom register pressure trackers during scheduling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
55ba5dff3c1a723adf302f1124aafde797dbf31a 10-May-2012 Andrew Trick <atrick@apple.com> RegPressure: API for speculatively checking instruction pressure.

Added getMaxExcessUpward/DownwardPressure. They somewhat abuse the
tracker by speculatively handling an instruction out of order. But it
is convenient for now. In the future, we will cache each instruction's
pressure contribution to make this efficient.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
d25303533909f62eae18ee53ed0ff692174b092c 10-May-2012 Andrew Trick <atrick@apple.com> RegPressure: fix array index iteration style.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
2b8d0501b169c3ee81a9af1cb715e1be4d6a079e 29-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> RegisterPressure: ArrayRefize some functions for better readability. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
4dfeef100d940a0c1ca22055dcb29b02a4848f65 24-Apr-2012 Andrew Trick <atrick@apple.com> RegisterPressure: A utility for computing register pressure within a
MachineInstr sequence.

This uses the new target interface for tracking register pressure
using pressure sets to model overlapping register classes and
subregisters.

RegisterPressure results can be tracked incrementally or stored at
region boundaries. Global register pressure can be deduced from local
RegisterPressure results if desired.

This is an early, somewhat untested implementation. I'm working on
testing it within the context of a register pressure reducing
MachineScheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp