From 21eb771dcb5c11d7500fa6ad551c97a921997f05 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Tue, 16 Apr 2019 12:13:25 +0000 Subject: Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259) The original commit caused false positives from AddressSanitizer's use-after-scope checks, which have now been fixed in r358478. > 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 llvm-svn: 358483 --- clang/test/CodeGenCXX/stack-reuse-exceptions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clang/test/CodeGenCXX/stack-reuse-exceptions.cpp') diff --git a/clang/test/CodeGenCXX/stack-reuse-exceptions.cpp b/clang/test/CodeGenCXX/stack-reuse-exceptions.cpp index de870c53050..2d968db3fdb 100644 --- a/clang/test/CodeGenCXX/stack-reuse-exceptions.cpp +++ b/clang/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. -- cgit v1.2.3