badd826664896d4a9628a5a89b78016894aa414b |
|
02-Feb-2016 |
David Brazdil <dbrazdil@google.com> |
ART: Run SsaBuilder from HGraphBuilder First step towards merging the two passes, which will later result in HGraphBuilder directly producing SSA form. This CL mostly just updates tests broken by not being able to inspect the pre-SSA form. Using HLocals outside the HGraphBuilder is now deprecated. Bug: 27150508 Change-Id: I00fb6050580f409dcc5aa5b5aa3a536d6e8d759e
|
788f2f05c3e5b0e5bda247b00e34f0094585546f |
|
22-Jan-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Revert "Inline methods with loops."" Bug: 26689526 This reverts commit 451ad8d1be9a1949ea3c3e3a713a9e76198a8b2d. Change-Id: If484fe4c0744254dd7568fd5006e574d621a1855
|
7c3a3b61c06a13749bffb29daf4a155d21ba394d |
|
20-Jan-2016 |
Andreas Gampe <agampe@google.com> |
Revert "Fix gtests after loop inlining support." This reverts commit 0e342cd5ccf0f648e165fa4fd270b44dfbea8be6. Loop inlining exposes BCE issues. Bug: 26689526 (cherry picked from commit fee4e2eff0b6d76fb52e776802efae8d0b8ee0bf) Change-Id: Ibc6fed33e9fdff132cf3a286d4476cd0f6eeabd5
|
fee4e2eff0b6d76fb52e776802efae8d0b8ee0bf |
|
20-Jan-2016 |
Andreas Gampe <agampe@google.com> |
Revert "Fix gtests after loop inlining support." This reverts commit 0e342cd5ccf0f648e165fa4fd270b44dfbea8be6. Loop inlining exposes BCE issues. Bug: 26689526 Change-Id: Iab0f8f502d8b389af4efc2e99e28cae59c00ee9b
|
0e342cd5ccf0f648e165fa4fd270b44dfbea8be6 |
|
20-Jan-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix gtests after loop inlining support. Change-Id: Id6288fff8911ec9545e83d97f90ae566e13a75af
|
ec7802a102d49ab5c17495118d4fe0bcc7287beb |
|
01-Oct-2015 |
Vladimir Marko <vmarko@google.com> |
Add DCHECKs to ArenaVector and ScopedArenaVector. Implement dchecked_vector<> template that DCHECK()s element access and insert()/emplace()/erase() positions. Change the ArenaVector<> and ScopedArenaVector<> aliases to use the new template instead of std::vector<>. Remove DCHECK()s that have now become unnecessary from the Optimizing compiler. Change-Id: Ib8506bd30d223f68f52bd4476c76d9991acacadc
|
fa6b93c4b69e6d7ddfa2a4ed0aff01b0608c5a3a |
|
15-Sep-2015 |
Vladimir Marko <vmarko@google.com> |
Optimizing: Tag arena allocations in HGraph. Replace GrowableArray with ArenaVector in HGraph and related classes HEnvironment, HLoopInformation, HInvoke and HPhi, and tag allocations with new arena allocation types. Change-Id: I3d79897af405b9a1a5b98bfc372e70fe0b3bc40d
|
0a23d74dc2751440822960eab218be4cb8843647 |
|
07-May-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Add a parent environment to HEnvironment. This code has no functionality change. It adds a placeholder for chaining inlined frames. Change-Id: I5ec57335af76ee406052345b947aad98a6a4423a
|
f776b92a0d52bb522043812dacb9c21ac11858e2 |
|
15-Apr-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Remove dead blocks for the blocks_ array. This prevents crashing because of structurally incorrect blocks. Also we now don't need to remove its instructions. Test case courtesy of Serguei I Katkov. Change-Id: Ia3ef9580549fc3546e8cd5f346079b1f0ceb2a61
|
b666f4805c8ae707ea6fd7f6c7f375e0b000dba8 |
|
18-Feb-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move arenas into runtime Moved arena pool into the runtime. Motivation: Allow GC to use arena allocators, recycle arena pool for linear alloc. Bug: 19264997 Change-Id: I8ddbb6d55ee923a980b28fb656c758c5d7697c2f
|
5e8b137d28c840b128e2488f954cccee3e86db14 |
|
23-Jan-2015 |
David Brazdil <dbrazdil@google.com> |
Create HGraph outside Builder, print timings This patch refactors the way HGraph objects are created, moving the instantiation out of the Builder class and creating the CodeGenerator earlier. The patch uses this to build a single interface for printing timings info and dumping the CFG. Change-Id: I2eb63eabf28e2d0f5cdc7affaa690c3a4b1bdd21
|
622d9c31febd950255b36a48b47e1f630197c5fe |
|
12-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add loop recognition and CFG simplifications in new compiler. We do three simplifications: - Split critical edges, for code generation from SSA (new). - Ensure one back edge per loop, to simplify loop recognition (new). - Ensure only one pre header for a loop, to simplify SSA creation (existing). Change-Id: I9bfccd4b236a00486a261078627b091c8a68be33
|
804d09372cc3d80d537da1489da4a45e0e19aa5d |
|
02-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Build live-in, live-out and kill sets for each block. This information will be used when computing live ranges of instructions. Change-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74
|
787c3076635cf117eb646c5a89a9014b2072fb44 |
|
17-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Plug new optimizing compiler in compilation pipeline. Also rename accessors to ART's conventions. Change-Id: I344807055b98aa4b27215704ec362191464acecc
|
788aaadd0756a2854a3287ce79a77b031a9abdcc |
|
10-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix lint errors. Change-Id: Ibefa43522ec68ed2a13bd034005d6f424e92957c
|
3ff386aafefd5282bb76c8a50506a70a4321e698 |
|
04-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add register support to the optimizing compiler. Also make if take an input and build the use list for instructions. Change-Id: I1938cee7dce5bd4c66b259fa2b431d2c79b3cf82
|
be9a92aa804c0d210f80966b74ef8ed3987f335a |
|
25-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add conditional branches, and build dominator tree. Change-Id: I4b151a07b72692961235a1419b54b6b45cf54e63
|