RFR(S): 8137049: Code quality: reducing an trivial integer loop does not produce an optimal code
Roland Westrelin
roland.westrelin at oracle.com
Wed Feb 3 11:21:13 UTC 2016
http://cr.openjdk.java.net/~roland/8137049/webrev.00/
In this loop:
for (int i = 0; i < ops; ++i) {
the loop is guarded by:
if (0 < ops) {
which is canonicalized by BoolNode::Ideal() ("Move constants to the right of compare's to canonicalize”) and the code in IdealLoopTree::policy_do_remove_empty_loop() doesn’t recognize the guard shape and peels one iteration of the loop.
Roland.
More information about the hotspot-compiler-dev
mailing list