From f3183f6da6321c6496daa107ea5d6d48b99d9330 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 10 Nov 2009 21:40:01 +0000 Subject: Make jump threading eliminate blocks that just contain phi nodes, debug intrinsics, and an unconditional branch when possible. This reuses the TryToSimplifyUncondBranchFromEmptyBlock function split out of simplifycfg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86722 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/JumpThreading/basic.ll | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'test/Transforms/JumpThreading/basic.ll') diff --git a/test/Transforms/JumpThreading/basic.ll b/test/Transforms/JumpThreading/basic.ll index 1be086b645..ccb2a3f833 100644 --- a/test/Transforms/JumpThreading/basic.ll +++ b/test/Transforms/JumpThreading/basic.ll @@ -211,19 +211,29 @@ define i32 @test8b(i1 %cond, i1 %cond2) { T0: %A = call i1 @test8a() br i1 %A, label %T1, label %F1 + +; CHECK: T0: +; CHECK-NEXT: call +; CHECK-NEXT: br i1 %A, label %T1, label %Y + T1: %B = call i1 @test8a() br i1 %B, label %T2, label %F1 + +; CHECK: T1: +; CHECK-NEXT: call +; CHECK-NEXT: br i1 %B, label %T2, label %Y T2: %C = call i1 @test8a() br i1 %cond, label %T3, label %F1 + +; CHECK: T2: +; CHECK-NEXT: call +; CHECK-NEXT: br i1 %cond, label %T3, label %Y T3: ret i32 0 F1: -; TODO: F1 uncond branch block should be removed, T2 should jump directly to Y. -; CHECK: F1: -; CHECK-NEXT br label %Y %D = phi i32 [0, %T0], [0, %T1], [1, %T2] %E = icmp eq i32 %D, 1 %F = and i1 %E, %cond -- cgit v1.2.3-70-g09d2