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

Roland Westrelin roland at openjdk.java.net
Mon Apr 11 09:03:39 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 16 additional commits since the last revision:

 - review
 - Merge branch 'master' into JDK-8281429
 - undo
 - test fix
 - more test
 - test & fix
 - other fix
 - Merge branch 'master' into JDK-8281429
 - exp
 - review
 - ... and 6 more: https://git.openjdk.java.net/jdk/compare/9b80aca0...451b82c5

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

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

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

  Stats: 105934 lines in 1767 files changed: 89927 ins; 7206 del; 8801 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