diff --git a/src/hotspot/share/opto/chaitin.cpp b/src/hotspot/share/opto/chaitin.cpp index 7832cbd42f8..e14d63c7651 100644 --- a/src/hotspot/share/opto/chaitin.cpp +++ b/src/hotspot/share/opto/chaitin.cpp @@ -406,6 +406,8 @@ void PhaseChaitin::Register_Allocate() { _live = &live; // Mark LIVE as being available } + C->print_method(PHASE_INITIAL_LIVENESS, 4); + // Base pointers are currently "used" by instructions which define new // derived pointers. This makes base pointers live up to the where the // derived pointer is made, but not beyond. Really, they need to be live @@ -422,10 +424,9 @@ void PhaseChaitin::Register_Allocate() { gather_lrg_masks(false); live.compute(_lrg_map.max_lrg_id()); _live = &live; + C->print_method(PHASE_LIVE_RANGE_STRETCHING, 4); } - C->print_method(PHASE_INITIAL_LIVENESS, 4); - // Create the interference graph using virtual copies build_ifg_virtual(); // Include stack slots this time diff --git a/src/hotspot/share/opto/phasetype.hpp b/src/hotspot/share/opto/phasetype.hpp index b3076dd8091..2546b319762 100644 --- a/src/hotspot/share/opto/phasetype.hpp +++ b/src/hotspot/share/opto/phasetype.hpp @@ -100,6 +100,7 @@ flags(MATCHING, "After matching") \ flags(GLOBAL_CODE_MOTION, "Global code motion") \ flags(INITIAL_LIVENESS, "Initial liveness") \ + flags(LIVE_RANGE_STRETCHING, "Live range stretching") \ flags(AGGRESSIVE_COALESCING, "Aggressive coalescing") \ flags(INITIAL_SPILLING, "Initial spilling") \ flags(CONSERVATIVE_COALESCING, "Conservative coalescing") \ diff --git a/test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java b/test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java index ad32f6a94b9..46900085b12 100644 --- a/test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java +++ b/test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java @@ -108,6 +108,7 @@ public enum CompilePhase { MATCHING("After matching", RegexType.MACH), GLOBAL_CODE_MOTION("Global code motion", RegexType.MACH), INITIAL_LIVENESS("Initial liveness", RegexType.MACH), + LIVE_RANGE_STRETCHING("Live range stretching", RegexType.MACH), AGGRESSIVE_COALESCING("Aggressive coalescing", RegexType.MACH), INITIAL_SPILLING("Initial spilling", RegexType.MACH), CONSERVATIVE_COALESCING("Conservative coalescing", RegexType.MACH, ActionOnRepeat.KEEP_FIRST),