From b22e708890b61e6a82bb8a18e98413c2bd4933c9 Mon Sep 17 00:00:00 2001 From: Santiago Aboy Solanes Date: Tue, 14 Feb 2023 14:03:38 +0000 Subject: Remove RTI validation from our checks It is possible to have untyped RTI in valid graphs due to e.g. dead code, redundant phis not replaced yet. By removing this validation, we shift the burden of the validation to the user of the RTI. Bug: 252799892 Fixes: 252799892 Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b Test: dex2oat compiling the apps in the bug Change-Id: I112497bf10c180b651fd5b6e268799bc3abb27b3 --- compiler/optimizing/graph_visualizer.cc | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'compiler/optimizing/graph_visualizer.cc') diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc index 96eaa61209..6abe2cbd2d 100644 --- a/compiler/optimizing/graph_visualizer.cc +++ b/compiler/optimizing/graph_visualizer.cc @@ -764,15 +764,7 @@ class HGraphVisualizerPrinter : public HGraphDelegateVisitor { instruction->IsCheckCast()) { StartAttributeStream("klass") << "unresolved"; } else { - // The NullConstant may be added to the graph during other passes that happen between - // ReferenceTypePropagation and Inliner (e.g. InstructionSimplifier). If the inliner - // doesn't run or doesn't inline anything, the NullConstant remains untyped. - // So we should check NullConstants for validity only after reference type propagation. - DCHECK(graph_in_bad_state_ || - IsDebugDump() || - (!is_after_pass_ && IsPass(HGraphBuilder::kBuilderPassName))) - << instruction->DebugName() << instruction->GetId() << " has invalid rti " - << (is_after_pass_ ? "after" : "before") << " pass " << pass_name_; + StartAttributeStream("klass") << "invalid"; } } if (disasm_info_ != nullptr) { -- cgit v1.2.3-59-g8ed1b