RFR: 8314191: C2 compilation fails with "bad AD file"
Tobias Hartmann
thartmann at openjdk.org
Mon Sep 4 05:08:42 UTC 2023
On Sat, 2 Sep 2023 11:34:17 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
> Hi,
>
> The root cause is that the comparison in the form `x + inc <=> bound` being transformed into `x u<=> bound - min_value` when `inc` is the min value of the loop type. The fix I propose is to avoid the transformation when either side is a counted loop increment.
>
> Thanks a lot.
The fix looks good to me otherwise.
test/hotspot/jtreg/compiler/c2/MinValueStrideCountedLoop.java line 30:
> 28: * @summary Loop increment should not be transformed into unsigned comparison
> 29: *
> 30: * @run main/othervm -Xcomp -XX:+TraceLoopOpts -XX:-TieredCompilation
`TraceLoopOpts` is a C2-only debug flag, the test needs a `@requires vm.debug & vm.compiler2.enabled`
-------------
Changes requested by thartmann (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15551#pullrequestreview-1608763694
PR Review Comment: https://git.openjdk.org/jdk/pull/15551#discussion_r1314440245
More information about the hotspot-compiler-dev
mailing list