History log of /art/test/565-checker-doublenegbitwise/src/Main.java
Revision Date Author Comments
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