RFR: 8281429: PhiNode::Value() is too conservative for tripcount of CountedLoop [v4]

Roland Westrelin roland at openjdk.java.net
Mon Mar 28 07:29:20 UTC 2022


> The type for the iv phi of a counted loop is computed from the types
> of the phi on loop entry and the type of the limit from the exit
> test. Because the exit test is applied to the iv after increment, the
> type of the iv phi is at least one less than the limit (for a positive
> stride, one more for a negative stride).
> 
> Also, for a stride whose absolute value is not 1 and constant init and
> limit values, it's possible to compute accurately the iv phi type.
> 
> This change caused a few failures and I had to make a few adjustments
> to loop opts code as well.

Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 13 additional commits since the last revision:

 - test fix
 - more test
 - test & fix
 - other fix
 - Merge branch 'master' into JDK-8281429
 - exp
 - review
 - Merge branch 'master' into JDK-8281429
 - Update src/hotspot/share/opto/cfgnode.cpp
   
   Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>
 - Update src/hotspot/share/opto/cfgnode.cpp
   
   Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>
 - ... and 3 more: https://git.openjdk.java.net/jdk/compare/98710e7d...3a087b2c

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7823/files
  - new: https://git.openjdk.java.net/jdk/pull/7823/files/ed91dd8e..3a087b2c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7823&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7823&range=02-03

  Stats: 823 lines in 41 files changed: 669 ins; 67 del; 87 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7823.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7823/head:pull/7823

PR: https://git.openjdk.java.net/jdk/pull/7823


More information about the hotspot-compiler-dev mailing list