summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-01-04 23:16:22 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-01-04 23:16:22 +0000
commitb33f3a239a073c2c6c17b1e9f285069fd6227dd5 (patch)
tree898f1925ad6169df9b4216daaa746b33fdd48bba /llvm/test/Transforms
parent2466719e448d7c010407a758cd7dc1d3ce9c959a (diff)
downloadbcm5719-llvm-b33f3a239a073c2c6c17b1e9f285069fd6227dd5.tar.gz
bcm5719-llvm-b33f3a239a073c2c6c17b1e9f285069fd6227dd5.zip
[LICM] Fix a small oversight introduced in r256763
r256763 had promoteLoopAccessesToScalars check for the existence of a catchswitch when the exit blocks were populated but promoteLoopAccessesToScalars may be called with a prepopulated set of exit blocks which would also need to be checked. This fixes PR26019. llvm-svn: 256788
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/LICM/funclet.ll4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LICM/funclet.ll b/llvm/test/Transforms/LICM/funclet.ll
index 10001526ffc..ef4be296915 100644
--- a/llvm/test/Transforms/LICM/funclet.ll
+++ b/llvm/test/Transforms/LICM/funclet.ll
@@ -63,7 +63,9 @@ try.cont: ; preds = %catch, %while.cond
define void @test3(i1 %a, i1 %b, i1 %c) personality i32 (...)* @__CxxFrameHandler3 {
entry:
%.frame = alloca i8, align 4
+ %.frame2 = alloca i8, align 4
%bc = bitcast i8* %.frame to i32*
+ %bc2 = bitcast i8* %.frame2 to i32*
br i1 %a, label %try.success.or.caught, label %forbody
catch.object.Throwable: ; preds = %catch.dispatch
@@ -84,6 +86,7 @@ catch.dispatch: ; preds = %else, %forbody
forbody: ; preds = %forcond.backedge, %0
store i32 1, i32* %bc, align 4
+ store i32 2, i32* %bc2, align 4
invoke void @may_throw()
to label %postinvoke unwind label %catch.dispatch
@@ -95,6 +98,7 @@ else: ; preds = %postinvoke
; CHECK-LABEL: define void @test3(
; CHECK: catchswitch within none
; CHECK: store i32 1, i32* %bc, align 4
+; CHECK: store i32 2, i32* %bc2, align 4
declare void @may_throw()
OpenPOWER on IntegriCloud