Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Transforms/SimplifyCFG/pr52290.ll
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py | |||||
; RUN: opt < %s -simplifycfg -S | FileCheck %s | ; RUN: opt < %s -simplifycfg -S | FileCheck %s | ||||
; RUN: opt < %s -passes=simplifycfg -S | FileCheck %s | ; RUN: opt < %s -passes=simplifycfg -S | FileCheck %s | ||||
; XFAIL: * | |||||
; REQUIRES: asserts | |||||
; FIXME: Fails due to infinite loop in iterativelySimplifyCFG. | ; FIXME: Fails due to infinite loop in iterativelySimplifyCFG. | ||||
; ModuleID = 'test/Transforms/SimplifyCFG/pr-new.ll' | ; ModuleID = 'test/Transforms/SimplifyCFG/pr-new.ll' | ||||
source_filename = "test/Transforms/SimplifyCFG/pr-new.ll" | source_filename = "test/Transforms/SimplifyCFG/pr-new.ll" | ||||
define i32 @test(float %arg) gc "statepoint-example" personality i32* ()* @blam { | define i32 @test(float %arg) gc "statepoint-example" personality i32* ()* @blam { | ||||
; CHECK-LABEL: @test | ; CHECK-LABEL: @test( | ||||
; CHECK-NEXT: bb: | |||||
; CHECK-NEXT: [[TMP:%.*]] = call i1 @llvm.experimental.widenable.condition() | |||||
; CHECK-NEXT: br i1 [[TMP]], label [[BB2:%.*]], label [[BB1:%.*]] | |||||
; CHECK: bb1: | |||||
; CHECK-NEXT: br i1 undef, label [[BB7:%.*]], label [[BB5:%.*]] | |||||
; CHECK: bb2: | |||||
; CHECK-NEXT: [[TMP3:%.*]] = getelementptr inbounds i8, i8 addrspace(1)* undef, i64 16 | |||||
; CHECK-NEXT: br i1 undef, label [[BB7]], label [[BB4:%.*]] | |||||
; CHECK: bb4: | |||||
; CHECK-NEXT: call void @snork() [ "deopt"() ] | |||||
; CHECK-NEXT: unreachable | |||||
; CHECK: bb5: | |||||
; CHECK-NEXT: ret i32 0 | |||||
; CHECK: bb7: | |||||
; CHECK-NEXT: [[TMP8:%.*]] = call i32 (...) @llvm.experimental.deoptimize.i32(i32 10) [ "deopt"() ] | |||||
; CHECK-NEXT: ret i32 [[TMP8]] | |||||
; | |||||
bb: | bb: | ||||
%tmp = call i1 @llvm.experimental.widenable.condition() | %tmp = call i1 @llvm.experimental.widenable.condition() | ||||
br i1 %tmp, label %bb2, label %bb1 | br i1 %tmp, label %bb2, label %bb1 | ||||
bb1: ; preds = %bb | bb1: ; preds = %bb | ||||
br i1 undef, label %bb7, label %bb5 | br i1 undef, label %bb7, label %bb5 | ||||
bb2: ; preds = %bb | bb2: ; preds = %bb | ||||
Show All 29 Lines |