cddc3e03e4ec99c0268c03a126195173e519ed58 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 (cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383) Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
d900b1179535298510490030a5d2ecce93f79eb0 |
|
08-Nov-2013 |
Pedro Artigas <partigas@apple.com> |
increase the accuracy of register pressure computation in the presence of dead definitions by using live intervals, if available, to identify dead definitions and proceed accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
4f3b5e8c9232e43d1291aab8db5f5698d7ee0ea4 |
|
10-Oct-2013 |
Matthias Braun <matze@braunis.de> |
Represent RegUnit liveness with LiveRange instance Previously LiveInterval has been used, but having a spill weight and register number is unnecessary for a register unit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
5649e25ce86b9d89d228ae7c392413571b0f8c19 |
|
10-Oct-2013 |
Matthias Braun <matze@braunis.de> |
Pass LiveQueryResult by value This makes the API a bit more natural to use and makes it easier to make LiveRanges implementation details private. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
42ebb3ad41813af292cfa681c1fe2aadd1008721 |
|
04-Sep-2013 |
Andrew Trick <atrick@apple.com> |
Added -misched-regpressure option. Register pressure tracking is half the complexity of the scheduler. It's useful to be able to turn it off for compile time and performance comparisons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
846b31d74aa673a178f57f9d47f366d8ddb756d3 |
|
30-Aug-2013 |
Andrew Trick <atrick@apple.com> |
Use LiveRangeQuery for instruction-level liveness queries. Remove redundant or bug-prone LiveInterval APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
663bd9922776e5f7bc17dfc574efe3fe05ceb12c |
|
30-Aug-2013 |
Andrew Trick <atrick@apple.com> |
mi-sched: update PressureDiffs on-the-fly for liveness. This removes all expensive pressure tracking logic from the scheduling critical path of node comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
1362dcb5899bc88f0e567dd10e2e9003a79ace21 |
|
30-Aug-2013 |
Andrew Trick <atrick@apple.com> |
Replace LiveInterval::killedAt with isKilledAtInstr. Return true for LRGs that end at EarlyClobber or Register slots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
4c60b8a78d811a5b16ae45f6957933fb479bab58 |
|
30-Aug-2013 |
Andrew Trick <atrick@apple.com> |
mi-sched: Precompute a PressureDiff for each instruction, adjust for liveness later. Created SUPressureDiffs array to hold the per node PDiff computed during DAG building. Added a getUpwardPressureDelta API that will soon replace the old one. Compute PressureDelta here from the precomputed PressureDiffs. Updating for liveness will come next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
751c6d28780e9e852f71aff63de608cff6a146ec |
|
23-Aug-2013 |
Andrew Trick <atrick@apple.com> |
Rename to RegPressure API parameters RegUnits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
6abb4ab8127e270477f1028cb089c0d0fe4be927 |
|
23-Aug-2013 |
Andrew Trick <atrick@apple.com> |
Simplify RegPressure helpers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
238bf5ada19ee411c1decff68e140966f7baf479 |
|
23-Aug-2013 |
Andrew Trick <atrick@apple.com> |
Add a convenient PSetIterator for visiting pressure sets affected by a register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
d71efffdcffc4204e75238f940df41fb24979a7d |
|
30-Jul-2013 |
Andrew Trick <atrick@apple.com> |
MI Sched: Track live-thru registers. When registers must be live throughout the scheduling region, increase the limit for the register class. Once we exceed the original limit, they will be spilled, and there's no point further reducing pressure. This isn't a perfect heuristics but avoids a situation where the scheduler could become trapped by trying to achieve the impossible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
4b43ed53b6b4aec95d7c7003e70cb74ac58886e7 |
|
25-Jul-2013 |
Andrew Trick <atrick@apple.com> |
MI Sched: track register pressure by importance of the set, not weight of the units. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
1f8b48ab3262bd5623ecbda7b0c024884e8169d3 |
|
21-Jun-2013 |
Andrew Trick <atrick@apple.com> |
MI-Sched: Adjust regpressure limits for reserved regs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
e0f6046241ae9bc2f6325142abdfd9cdb9032bab |
|
17-Jun-2013 |
Andrew Trick <atrick@apple.com> |
MI Sched: fix a typo in RegPressure heuristics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
eb4774a972af4bdd36d8795625c8c5d96ca507d1 |
|
16-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace erase loop with std::remove_if. This avoids unnecessary copies. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
22af4bc07bb81c22b15d7a63fb566efcab913bd9 |
|
06-Dec-2012 |
Andrew Trick <atrick@apple.com> |
RegPressureTracker::dump(): Remove unnecessary argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
f3329c419b1010089e8aaf3d43b811ba12d94c8a |
|
05-Dec-2012 |
Andrew Trick <atrick@apple.com> |
RegisterPressureTracker: fix findUseBetween to handle DebugValue git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
f54f61538688eff25f392c2062b3a654394333aa |
|
05-Dec-2012 |
Andrew Trick <atrick@apple.com> |
RegisterPressureTracker: unify virtual registers and physical regunits. Now that live register units are tracked individually, the code can be simplified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
553c42cefc9abe1f10ee33d34a12498b8ac12fe6 |
|
05-Dec-2012 |
Andrew Trick <atrick@apple.com> |
RegisterPresssureTracker: Track live physical register by unit. This is much simpler to reason about, more efficient, and fixes some corner cases involving implicit super-register defs. Fixed rdar://12797931. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
17cf53519905acb69c567173bedd2df1c8e45523 |
|
05-Dec-2012 |
Andrew Trick <atrick@apple.com> |
Added RegisterPressureTracker::dump() for debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
657b75b9946eae763725b413841dfd01ed12a051 |
|
01-Dec-2012 |
Andrew Trick <atrick@apple.com> |
misched: Fix RegisterPressureTracker handling of DebugVals. Assertion failed: (TopRPTracker.getPos() == RegionBegin && "bad initial Top tracker"). rdar://12790302. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
881a05b46c28299046bd0dc3d0b8c6677e68a4d7 |
|
07-Nov-2012 |
Andrew Trick <atrick@apple.com> |
misched: handle on-the-fly regpressure queries better for 2-addr instructions without relying on liveintervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
14d1dd95c7c969e07defebb6fe65df2fae1b30cf |
|
16-Oct-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove RegisterClassInfo::isReserved() and isAllocatable(). Clients can use the equivalent functions in MRI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
b720be6a50f4e1b3280d2b029ee38dda14577525 |
|
12-Sep-2012 |
Manman Ren <mren@apple.com> |
Release build: guard dump functions with "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" No functional change. Update r163339. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterPressure.cpp
|
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
|