RFR: 8264360: Loop strip mining verification fails with "should be on the backedge"
Tobias Hartmann
thartmann at openjdk.java.net
Tue Mar 30 06:13:55 UTC 2021
On Mon, 29 Mar 2021 15:53:33 GMT, Roland Westrelin <roland at openjdk.org> wrote:
> The assert checks that loads that are found as uses of a loop back
> edge have the back edge as control input. In this case, because that
> code is executed during final graph reshaping (CastPPs are in the
> process of being eliminated and memory operations inherit their
> control inputs as precedence edges), the edge between a load and the
> back edge is a precedence edge. Relaxing the assert is all that is
> required.
The fix looks good to me but you might want to clean up the test a bit before pushing (I've added some comments).
test/hotspot/jtreg/compiler/loopstripmining/TestLoadOnBackedgeWithPrec.java line 43:
> 41: int c ;
> 42: a[] i = {
> 43: new a()};
Whitespaces and newline should be removed.
test/hotspot/jtreg/compiler/loopstripmining/TestLoadOnBackedgeWithPrec.java line 46:
> 44: float j() {
> 45: a k = new a();
> 46: float l = 5 ;
Whitespaces before `;` should be removed.
test/hotspot/jtreg/compiler/loopstripmining/TestLoadOnBackedgeWithPrec.java line 60:
> 58: new a(), new a(), new a(),
> 59: new a(), new a(), new a()};
> 60: c = i[0].g + k.g;
Whitespaces before `+` should be removed.
-------------
Marked as reviewed by thartmann (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/3245
More information about the hotspot-compiler-dev
mailing list