From 4dc09e7261dede72d916059d1f751a48cd08dbb5 Mon Sep 17 00:00:00 2001 From: Aart Bik Date: Fri, 11 May 2018 14:40:31 -0700 Subject: LSE improvement: better singleton array optimization Rationale: In a recent LSA/LSE refactoring, we removed the "exceptional" situation on mismatched arrays from the load-elimination branch for merged values. As a direct result, we can relax the condition on removing stores for singleton arrays into return blocks a bit, as done in this CL (and shown with some tests). Test: test-art-host,target Bug: b/77906240 Change-Id: I32c89057168730f82d1d7c41155a9ff71b126204 --- compiler/optimizing/nodes.h | 1 + 1 file changed, 1 insertion(+) (limited to 'compiler/optimizing/nodes.h') diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index e786502dee..09d9c57a33 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -1285,6 +1285,7 @@ class HBasicBlock : public ArenaObject { void SetLifetimeEnd(size_t end) { lifetime_end_ = end; } bool EndsWithControlFlowInstruction() const; + bool EndsWithReturn() const; bool EndsWithIf() const; bool EndsWithTryBoundary() const; bool HasSinglePhi() const; -- cgit v1.2.3-59-g8ed1b