From 8ff3ec2695b65c0d35ff54b7649a12a9c9427eab Mon Sep 17 00:00:00 2001 From: Santiago Aboy Solanes Date: Thu, 29 Aug 2024 14:04:02 +0100 Subject: Don't devirtualize to an intrinsic invalid after the builder phase As a drive-by, print the intrisic itself and not its index in graph_checker.cc. Bug: 362091596 Test: Compile the app in the bug Change-Id: I55c857f193d334d1a40cac637dfedf6334522f00 --- compiler/optimizing/graph_checker.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'compiler/optimizing/graph_checker.cc') diff --git a/compiler/optimizing/graph_checker.cc b/compiler/optimizing/graph_checker.cc index 1ff0d4dc84..db76c04bc0 100644 --- a/compiler/optimizing/graph_checker.cc +++ b/compiler/optimizing/graph_checker.cc @@ -754,10 +754,12 @@ void GraphChecker::VisitInvoke(HInvoke* invoke) { // Check for intrinsics which should have been replaced by intermediate representation in the // instruction builder. if (!IsValidIntrinsicAfterBuilder(invoke->GetIntrinsic())) { + std::stringstream ss; + ss << invoke->GetIntrinsic(); AddError( - StringPrintf("The graph contains the instrinsic %d which should have been replaced in the " + StringPrintf("The graph contains the instrinsic %s which should have been replaced in the " "instruction builder: %s:%d in block %d.", - enum_cast(invoke->GetIntrinsic()), + ss.str().c_str(), invoke->DebugName(), invoke->GetId(), invoke->GetBlock()->GetBlockId())); -- cgit v1.2.3-59-g8ed1b