f8c81921ba6d0e0443c92368d1536dcbe3e4ce7d |
|
27-Jun-2017 |
Igor Murashkin <iam@google.com> |
test: Modify 565-checker-doublenegbitwise for javac/dx Previously all of the methods were failing checker with javac/dx. Move their old bytecode to a smali file to retain testing of those optimizations. Rewrite the checker tests in Main.java to use the javac/dx-generated bytecode. Test: art/test/run-test --64 --host --optimizing --build-with-javac-dx 565-checker-doublenegbitwise Bug: 62950048 Bug: 36902714 Change-Id: I214a9bc1bbb1618b32a1ffae1ceda04919748ff0
|
9837caff9cbfb61e3dabc6fbecb398d4d659c017 |
|
01-Aug-2016 |
Sebastien Hertz <shertz@google.com> |
Update art tests Jack generates different code compared to the previous release so some tests need to be updated. For instance, Jack transform '!cond' into 'cond xor 1'. The test 463-checker-boolean-simplifier still tests the if/else pattern using smali. (cherry picked from commit e4d28c502486afe58a0e156b8fefb621a622cec2) Bug: 29493697 Test: lunch aosp_bullhead-userdebug && make -j32 Test: make -j32 test-art-host && make -j32 test-art-target Test: art/tools/run-jdwp-tests.sh --mode=host Change-Id: Ief8ac3e9a4bcaa35c99e57161961d630333d3b3c
|
5319d3cca5a9b8e9e3f59421818272b966575172 |
|
02-Aug-2016 |
Wojciech Staszkiewicz <staszkiewicz@google.com> |
Implement running user defined list of passes This change introduces new dex2oat switch --run-passes=. This switch accepts path to a text file with names of passes to run. Compiler will run optimization passes specified in the file rather then the default ones. There is no verification implemented on the compiler side. It is user's responsibility to provide a list of passes that leads to successful generation of correct code. Care should be taken to prepare a list that satisfies all dependencies between optimizations. We only take control of the optional optimizations. Codegen (builder), and all passes required for register allocation will run unaffected by this mechanism. Change-Id: Ic3694e53515fefcc5ce6f28d9371776b5afcbb4f
|
f02c3cf66c2c24533f6da43970e7b766b2ca9938 |
|
29-Feb-2016 |
David Brazdil <dbrazdil@google.com> |
ART: Switch Checker run-tests to Jack Bug: 25635944 Change-Id: Ic6774028025b51f54589e9625003e8f69cf39dea
|
fb7fc7b1e11523b6e4f444f0f54de0b49cd0c4e1 |
|
24-Feb-2016 |
Roland Levillain <rpl@google.com> |
Fix indentation of copyright headers in some ART run-tests. Reported by Kevin Brodsky <kevin.brodsky@linaro.org>. Change-Id: Iec3d69aa33d3b6a31f1298607e0ee6bc4cb6d9c0
|
9f98025ba5541641cfa9abb7b9cf30332d91fad1 |
|
05-Feb-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Extend De Morgan factorisation to `HBooleanNot`. Change-Id: I81aa92277fa136d675e7ef01be8e4acdbd3d3b7c
|
a211a028e51c18e202ed326e4114cf5bb008a268 |
|
04-Feb-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Test 565-checker-doublenegbitwise applies to all architectures. Change-Id: Icd8c54b5b8e90f839c4ef1646074f70be1cfe094
|
ca0e3a0c9f1fd5902dc40043b061d2f9b79ec098 |
|
03-Feb-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Revert "Revert "Optimizing: double-negated bitwise operations simplifications"" This reverts commit 737c0a99dfbba306ec1f50e2adf66b5d97805af6 with fixes. In the original patch, the new instruction could be inserted before one of its inputs. A regression test is also added. Change-Id: Ie49a17ac90ff048355d9cc944b468cd1b1914424
|
737c0a99dfbba306ec1f50e2adf66b5d97805af6 |
|
25-Jan-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Optimizing: double-negated bitwise operations simplifications" Fails compiling the Wallet.apk with: dex2oatd F 40736 41007 art/compiler/optimizing/optimizing_compiler.cc:194] Error after instruction_simplifier: art::SSAChecker: Instruction Add:59 in block 4 does not dominate use Or:153 in block 4. This reverts commit 96798493170521691d709be50dd2102ead47b083. Change-Id: Ia4b02e62e6133aa104f5db12ba82d5561b6fc090
|
96798493170521691d709be50dd2102ead47b083 |
|
15-Jan-2016 |
Kevin Brodsky <kevin.brodsky@linaro.org> |
Optimizing: double-negated bitwise operations simplifications Generic instruction simplifications applying to bitwise operations when both inputs are Not's. And and Or are handled by De Morgan's laws, removing one instruction: ~a & ~b -> ~(a | b) ~a | ~b -> ~(a & b) Xor is handled by this trivial relation, removing two instructions: ~a ^ ~b = a ^ b The simplifications only happen when neither Not is used by other instructions. Change-Id: I5d5187af2f625c475c3e49466af6bc3e87595f8f
|