; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 ; RUN: opt -passes=newgvn -S < %s | FileCheck %s target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" define dso_local void @print_long_format(i32 %arg, i1 %arg2) #0 { ; CHECK-LABEL: define dso_local void @print_long_format( ; CHECK-SAME: i32 [[ARG:%.*]], i1 [[ARG2:%.*]]) #[[ATTR0:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: switch i32 [[ARG]], label [[SW_DEFAULT:%.*]] [ ; CHECK-NEXT: i32 1, label [[SW_BB:%.*]] ; CHECK-NEXT: i32 0, label [[SW_BB19:%.*]] ; CHECK-NEXT: i32 2, label [[SW_BB23:%.*]] ; CHECK-NEXT: ] ; CHECK: sw.bb: ; CHECK-NEXT: unreachable ; CHECK: sw.bb19: ; CHECK-NEXT: br i1 [[ARG2]], label [[IF_THEN37:%.*]], label [[IF_END50:%.*]] ; CHECK: sw.bb23: ; CHECK-NEXT: unreachable ; CHECK: sw.default: ; CHECK-NEXT: unreachable ; CHECK: if.then37: ; CHECK-NEXT: unreachable ; CHECK: if.end50: ; CHECK-NEXT: [[CALL180:%.*]] = call i32 @timespec_cmp() #[[ATTR2:[0-9]+]] ; CHECK-NEXT: ret void ; entry: switch i32 %arg, label %sw.default [ i32 1, label %sw.bb i32 0, label %sw.bb19 i32 2, label %sw.bb23 ] sw.bb: ; preds = %entry unreachable sw.bb19: ; preds = %entry br i1 %arg2, label %if.then37, label %if.end50 sw.bb23: ; preds = %entry unreachable sw.default: ; preds = %entry unreachable if.then37: ; preds = %sw.bb19 unreachable if.end50: ; preds = %sw.bb19 %call180 = call i32 @timespec_cmp() #2 %cmp181 = icmp slt i32 %call180, 0 ret void } ; Function Attrs: writeonly declare dso_local i32 @timespec_cmp() #1 attributes #0 = { "use-soft-float"="false" } attributes #1 = { writeonly } attributes #2 = { nounwind readonly }