RFR: 8313672: C2: PhaseCCP does not correctly track analysis dependencies involving shift, convert, and mask [v3]

Daniel Lundén duke at openjdk.org
Tue Oct 31 15:09:33 UTC 2023


On Tue, 31 Oct 2023 11:29:12 GMT, Daniel Lundén <duke at openjdk.org> wrote:

>> test/hotspot/jtreg/compiler/ccp/TestShiftConvertAndNotification.java line 31:
>> 
>>> 29:  *                   -XX:+StressIGVN -XX:-CICompileOSR -Xcomp
>>> 30:  *                   -XX:CompileCommand=compileonly,TestShiftConvertAndNotification::test
>>> 31:  *                   compiler.ccp.TestShiftConvertAndNotification
>> 
>> How long does this test take to execute? `-XX:RepeatCompilation=1000` could make this test slow.
>> 
>> Do you need `-Xcomp`, or is `-Xbatch` sufficient? Or even without?
>> 
>> Also: I would add another `@run` description which runs the test with no flags, or at most `-Xcomp`. It has happened often that this triggers new bugs, maybe in combination with other flags set from the outside. And for that it is good to have a run with very few or better no flags/args at all. And the testing people like it if you don't just have multiple `@run` statements, so just duplicate the whole:
>> 
>> 
>> /*
>>  * @test
>>  * ..
>>  */
>
> Yes, I need to tweak this. The failure is, for some reason, not appearing when run through jtreg. I'll get back to you (also with answers to your other questions).

Fixed now. `-XX:RepeatCompilation=20` is fast and seems enough to practically always trigger the failure (although it is non-deterministic due to `-XX:+StressIGVN`).

I have not managed to reproduce the bug without `-Xcomp`.

Running the test with only `-Xcomp` is quite slow (~1 minute on my system). I added the below instead (the test itself completes in <1 second).

/*
 * @test
 * @bug 8313672
 * @summary Test CCP notification for value update of AndL through LShiftI and
 *          ConvI2L (reduced set of flags).
 * @run main/othervm -XX:CompileCommand=compileonly,compiler.ccp.TestShiftConvertAndNotification::test
 *                   -Xcomp
 *                   compiler.ccp.TestShiftConvertAndNotification
 *
 */

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16429#discussion_r1377743199


More information about the hotspot-compiler-dev mailing list