8290401: Support dump all phases and print nodes in ascending order of index

Reviewed-by: chagedorn, xliu
This commit is contained in:
Joshua Cao 2022-09-27 15:52:22 +00:00 committed by Xin Liu
parent 112ca2b863
commit fb4979c05b
2 changed files with 6 additions and 1 deletions
src/hotspot/share/opto

@ -561,7 +561,9 @@ void Compile::print_ideal_ir(const char* phase_name) {
phase_name);
}
if (_output == nullptr) {
root()->dump(9999);
tty->print_cr("AFTER: %s", phase_name);
// Print out all nodes in ascending order of index.
root()->dump_bfs(MaxNodeLimit, nullptr, "+S$");
} else {
// Dump the node blockwise if we have a scheduling
_output->print_scheduling();

@ -67,6 +67,7 @@
flags(BARRIER_EXPANSION, "Barrier expand") \
flags(END, "End") \
flags(FAILURE, "Failure") \
flags(ALL, "All") \
flags(DEBUG, "Debug")
#define table_entry(name, description) PHASE_##name,
@ -168,6 +169,8 @@ class PhaseNameValidator {
// strncpy always writes len characters. If the source string is shorter, the function fills the remaining bytes with NULLs.
strncpy(_bad, *iter, len);
_valid = false;
} else if (PHASE_ALL == cpt) {
mask = ~(UINT64_C(0));
} else {
assert(cpt < 64, "out of bounds");
mask |= CompilerPhaseTypeHelper::to_bitmask(cpt);