| ; RUN: opt -passes=jump-threading -S < %s | FileCheck %s |
| ; CHECK: @main |
| |
| %struct.wobble = type { i8 } |
| |
| define i32 @main() local_unnamed_addr personality ptr undef { |
| bb12: |
| br i1 false, label %bb13, label %bb28 |
| |
| bb13: ; preds = %bb12 |
| br label %bb14 |
| |
| bb14: ; preds = %bb26, %bb13 |
| %tmp15 = phi ptr [ %tmp27, %bb26 ], [ undef, %bb13 ] |
| %tmp16 = icmp slt i32 5, undef |
| %tmp17 = select i1 false, i1 true, i1 %tmp16 |
| br label %bb18 |
| |
| bb18: ; preds = %bb14 |
| br i1 %tmp17, label %bb19, label %bb21 |
| |
| bb19: ; preds = %bb18 |
| %tmp20 = or i32 undef, 4 |
| br label %bb21 |
| |
| bb21: ; preds = %bb19, %bb18 |
| %tmp22 = load i8, ptr %tmp15, align 1 |
| br label %bb23 |
| |
| bb23: ; preds = %bb21 |
| br i1 %tmp17, label %bb24, label %bb25 |
| |
| bb24: ; preds = %bb23 |
| br label %bb25 |
| |
| bb25: ; preds = %bb24, %bb23 |
| invoke void undef(ptr undef, i32 0, i32 undef, i8 %tmp22) |
| to label %bb26 unwind label %bb33 |
| |
| bb26: ; preds = %bb25 |
| %tmp27 = getelementptr inbounds i8, ptr %tmp15, i64 1 |
| br label %bb14 |
| |
| bb28: ; preds = %bb12 |
| unreachable |
| |
| bb33: ; preds = %bb25 |
| %tmp34 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| } |