From a3bd09c50cbc380a91f43da9714c7ab058f4eefa Mon Sep 17 00:00:00 2001 From: Santiago Aboy Solanes Date: Fri, 29 Jul 2022 14:09:28 +0100 Subject: Simplify SimplifyAlwaysThrows Remove most of the preconditions of the optimization since they are not needed e.g.: * Ending with a Goto * Not flowing to the Exit block * The successor block having another predecessor * Not doing the optimization in a catch block Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b Change-Id: Idd0c722d1cd34fa6c394338a2e475a7ff60bd88a --- compiler/optimizing/nodes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/optimizing/nodes.h') diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 8f7635aa21..58ce9cec70 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -4734,7 +4734,7 @@ class HInvoke : public HVariableInputSizeInstruction { void SetAlwaysThrows(bool always_throws) { SetPackedFlag(always_throws); } - bool AlwaysThrows() const override { return GetPackedFlag(); } + bool AlwaysThrows() const override final { return GetPackedFlag(); } bool CanBeMoved() const override { return IsIntrinsic() && !DoesAnyWrite(); } -- cgit v1.2.3-59-g8ed1b