diff options
author | Hans Wennborg <hans@hanshq.net> | 2019-04-02 08:01:38 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2019-04-02 08:01:38 +0000 |
commit | ee0a01f07e3a22ba66b2d4542b6d063f43cb2276 (patch) | |
tree | fbdcd6afba046937b64eb05987c692d08db5d45e /test/CodeGenCXX/stack-reuse-exceptions.cpp | |
parent | 2f03b60f2c0f44524f2822a0a254627814e331e9 (diff) | |
download | clang-ee0a01f07e3a22ba66b2d4542b6d063f43cb2276.tar.gz |
SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)
The code was previously checking that candidates for sinking had exactly
one use or were a store instruction (which can't have uses). This meant
we could sink call instructions only if they had a use.
That limitation seemed a bit arbitrary, so this patch changes it to
"instruction has zero or one use" which seems more natural and removes
the need to special-case stores.
Differential revision: https://reviews.llvm.org/D59936
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@357452 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/stack-reuse-exceptions.cpp')
-rw-r--r-- | test/CodeGenCXX/stack-reuse-exceptions.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGenCXX/stack-reuse-exceptions.cpp b/test/CodeGenCXX/stack-reuse-exceptions.cpp index de870c5305..2d968db3fd 100644 --- a/test/CodeGenCXX/stack-reuse-exceptions.cpp +++ b/test/CodeGenCXX/stack-reuse-exceptions.cpp @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -o - -emit-llvm -O1 \ -// RUN: -fexceptions -fcxx-exceptions | FileCheck %s +// RUN: -fexceptions -fcxx-exceptions -mllvm -simplifycfg-sink-common=false | FileCheck %s // // We should emit lifetime.ends for these temporaries in both the 'exception' // and 'normal' paths in functions. |