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

Roland Westrelin roland at openjdk.java.net
Mon Apr 25 09:29:38 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 19 additional commits since the last revision:

 - undo unneeded change
 - Merge branch 'master' into JDK-8281429
 - redo change removed by error
 - review
 - Merge branch 'master' into JDK-8281429
 - undo
 - test fix
 - more test
 - test & fix
 - other fix
 - ... and 9 more: https://git.openjdk.java.net/jdk/compare/1df6ed8f...19b38997

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7823/files
  - new: https://git.openjdk.java.net/jdk/pull/7823/files/36ea21a1..19b38997

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

  Stats: 162853 lines in 2169 files changed: 116760 ins; 9484 del; 36609 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