History log of /openjdk10/hotspot/src/share/vm/opto/loopnode.hpp
Revision Date Author Comments
# 12866:f490955a6745 23-Mar-2017 thartmann

8173770: Image conversion improvements
Reviewed-by: kvn, vlivanov, dlong, rhalade, mschoene, iignatyev


# 11679:b725de5c248a 27-Jun-2016 thartmann

8159016: Over-unrolled loop is partially removed
Summary: Prevent over-unrolling of loops by computing upper bound for trip count.
Reviewed-by: kvn


# 11525:c23bf7df628c 20-Jun-2016 thartmann

8159715: Fix for 8072422 is incorrect
Summary: Fixed several issues introduced by 8072422.
Reviewed-by: zmajo, kvn


# 10806:7010ee970bfb 05-Apr-2016 mcberg

8151573: Multiversioning for range check elimination
Summary: range check elimination in post loops
Reviewed-by: kvn


# 10509:bcf5a0a5731b 21-Mar-2016 zmajo

8148754: C2 loop unrolling fails due to unexpected graph shape
Summary: Check if graph shape is appropriate for optimization, bail out optimization if not.
Reviewed-by: kvn, twisti, shade, dnsimon


# 10321:db7934bcad3b 17-Feb-2016 roland

8148786: xml.tranform fails on x86-64
Summary: CCP computes wrong type for CountedLoop iv Phi
Reviewed-by: kvn


# 10228:5fefcbeda616 12-Feb-2016 mcberg

8149421: Vectorized Post Loops
Summary: add vectorised post loop for counted loops with vectors.
Reviewed-by: kvn


# 10227:894c8b63e200 02-Feb-2016 roland

8143542: C2 doesn't eliminate identical checks
Summary: Two identical Ifs back to back can be merged
Reviewed-by: kvn


# 10074:796b8077f6e6 03-Feb-2016 roland

8147645: get_ctrl_no_update() code is wrong
Summary: Array.fill intrinsification code doesn't mark replaced control as dead
Reviewed-by: kvn


# 10006:d9d0a63499ce 11-Jan-2016 thartmann

8146629: Make phase->is_IterGVN() accessible from Node::Identity and Node::Value
Summary: Change arguments of Node::Identity() and Node::Value() from PhaseTransform* to PhaseGVN*.
Reviewed-by: kvn, roland


# 9750:d84a55e7aaf8 04-Dec-2015 aeriksso

6869327: Add new C2 flag to keep safepoints in counted loops.
Reviewed-by: kvn, shade


# 9452:8faaeb9dbb96 09-Nov-2015 roland

8137168: Replace IfNode with a new RangeCheckNode for range checks
Summary: new RangeCheckNode to enable optimization of explicit library level range checks
Reviewed-by: kvn, thartmann


# 9209:ae64ff428e18 26-Oct-2015 iveresov

8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Summary: Emit vector conditional moves
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com


# 9117:a37a6ca422b1 09-Oct-2015 iveresov

8136725: Provide utility for creation a counted loop reserve copy (clone)
Summary: Make it easier to revert to the original loop should that be needed
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com


# 9018:6d9d273e7f0d 17-Sep-2015 thartmann

8134739: compiler/loopopts/superword/TestVectorizationWithInvariant crashes in loop opts
Summary: Bail out of superword optimization if loop was removed (i.e., if zero-trip Opaque1Node was removed).
Reviewed-by: kvn, roland


# 8860:fe311de64c61 29-Jul-2015 roland

8080289: Intermediate writes in a loop not eliminated by optimizer
Summary: Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov


# 8688:94403236f303 10-Jul-2015 kvn

8129920: Vectorized loop unrolling
Summary: optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland


# 8601:9251516ec93d 16-Jun-2015 mcberg

8080325: SuperWord loop unrolling analysis
Summary: Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn


# 8508:421989a11af8 12-May-2015 roland

8085832: Optimize main and post loop out when pre loop is found empty
Summary: Eliminate main loop and post loop if pre loop becomes empty
Reviewed-by: kvn, mcberg


# 8196:6fff5df5f3d2 01-Apr-2015 kvn

8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com


# 7449:49dd956bc8c0 13-Nov-2014 roland

8054478: C2: Incorrectly compiled char[] array access crashes JVM
Summary: dead backbranch in main loop results in erroneous array access
Reviewed-by: kvn, iveresov


# 6413:f88688d5c78c 07-May-2014 zgu

8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn


# 5776:de6a9e811145 24-Dec-2013 mikael

8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Summary: Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov


# 5546:3213ba4d3dff 18-Oct-2013 roland

8024069: replace_in_map() should operate on parent maps
Summary: type information gets lost because replace_in_map() doesn't update parent maps
Reviewed-by: kvn, twisti


# 4719:1682bec79205 22-May-2013 kvn

8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed
Summary: Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop.
Reviewed-by: roland


# 4339:3b9368710f08 19-Mar-2013 morris

8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp
Summary: add guarantee() checks
Reviewed-by: kvn


# 4154:8b3da8d14c93 11-Feb-2013 roland

7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn


# 3718:b9a9ed0f8eeb 09-Oct-2012 mikael

7197424: update copyright year to match last edit in jdk8 hotspot repository
Summary: Update copyright year to 2012 for relevant files
Reviewed-by: dholmes, coleenp


# 3588:0acd345fd810 29-Aug-2012 kvn

7160161: Missed safepoint in non-Counted loop
Summary: Do not remove safepoints during peeling optimization.
Reviewed-by: twisti


# 2973:c8d8e124380c 12-Jan-2012 kvn

7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Summary: Don't split CMove node if it's control edge is different from split region.
Reviewed-by: never


# 2825:670a74b863fc 09-Nov-2011 kvn

7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti


# 2608:c96c3eb1efae 29-Jul-2011 kvn

7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never


# 2603:4e761e7e6e12 26-Jul-2011 kvn

7070134: Hotspot crashes with sigsegv from PorterStemmer
Summary: Do not move data nodes which are attached to a predicate test to a dominating test.
Reviewed-by: never


# 2550:e3cbc9ddd434 28-Jun-2011 kvn

7044738: Loop unroll optimization causes incorrect result
Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo().
Reviewed-by: never


# 2480:38569792a45a 16-May-2011 kvn

7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488
Summary: Fix problems in new RCE code.
Reviewed-by: never


# 2442:bad7ecd0b6ed 04-May-2011 kvn

5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never


# 2312:3af54845df98 08-Apr-2011 kvn

7004555: Add new policy for one iteration loops
Summary: Add new policy for one iteration loops (mostly formal pre- loops).
Reviewed-by: never


# 2292:08eb13460b3a 02-Apr-2011 kvn

7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never


# 2230:9dc311b8473e 21-Mar-2011 kvn

7008866: Missing loop predicate for loop with multiple entries
Summary: Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.
Reviewed-by: never


# 2120:194c9fdee631 07-Feb-2011 kvn

7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1
Summary: Add ResourceMark into PhaseIdealLoop::build_and_optimize().
Reviewed-by: never


# 1879:f95d63e2154a 23-Nov-2010 stefank

6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg


# 1683:d6f45b55c972 27-Aug-2010 never

4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn


# 1541:6027dddc26c6 28-Jun-2010 kvn

6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never


# 1472:c18cbe5936b8 27-May-2010 trims

6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair


# 1303:c047da02984c 17-Mar-2010 never

6930043: C2: SIGSEGV in javasoft.sqe.tests.lang.arr017.arr01702.arr01702.loop_forw(II)I
Reviewed-by: kvn


# 1172:b2b6a9bf6238 12-Jan-2010 cfang

6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn


# 921:046932b72aa2 14-Aug-2009 never

6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti


# 605:98cb887364d3 27-Feb-2009 twisti

6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never


# 401:ee8f06bfb27c 03-Oct-2008 never

6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn


# 367:194b8e3a2fc4 17-Sep-2008 never

6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose


# 196:d1605aabd0a1 02-Jul-2008 xdono

6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell


# 39:76256d272075 06-Mar-2008 kvn

6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold


# 17:ff5961f4c095 05-Dec-2007 never

6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long)
Reviewed-by: kvn, rasbold


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load