RFR: 8278114: New addnode ideal optimization: converting "x + x" into "x << 1" [v9]
Quan Anh Mai
duke at openjdk.java.net
Thu Dec 23 13:00:21 UTC 2021
On Sun, 19 Dec 2021 20:28:07 GMT, Zhiqiang Zang <duke at openjdk.java.net> wrote:
>> A new ideal optimization can be introduced for addnode: converting "x + x" into "x << 1".
>>
>>
>> // Convert "x + x" into "x << 1"
>> if (in1 == in2) {
>> return new LShiftINode(in1, phase->intcon(1));
>> }
>
> Zhiqiang Zang has updated the pull request incrementally with three additional commits since the last revision:
>
> - refactor the ir test.
> - rename tests.
> - use compiler mode blackhole in microbenchmark to prevent function calling from dominating time.
All gcc, clang and msvc seem to perform this transformation, [godbolt](https://godbolt.org/z/sYYxrTjPY).
Cheers.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6675
More information about the hotspot-compiler-dev
mailing list