JDK-8338844 : C2: remove useless code in PhaseIdealLoop::place_outside_loop() after 8335709
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 24
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-08-22
  • Updated: 2024-09-02
  • Resolved: 2024-08-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 24
24 b13Fixed
Related Reports
Relates :  
Description
@@ -1272,9 +1272,7 @@ Node* PhaseIdealLoop::place_outside_loop(Node* useblock, IdealLoopTree* loop) co
   // Pick control right outside the loop
   for (;;) {
     Node* dom = idom(useblock);
-    if (loop->is_member(get_loop(dom)) ||
-        // NeverBranch nodes are not assigned to the loop when constructed
-        (dom->is_NeverBranch() && loop->is_member(get_loop(dom->in(0))))) {
+    if (loop->is_member(get_loop(dom))) {
       break;
     }
     useblock = dom;

Comments
Changeset: ce83f6af Branch: master Author: Roland Westrelin <roland@openjdk.org> Date: 2024-08-26 07:32:19 +0000 URL: https://git.openjdk.org/jdk/commit/ce83f6af64efd673b83c945765f68e8a3bf89774
26-08-2024

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/20678 Date: 2024-08-22 15:26:40 +0000
22-08-2024