blob: f2bc5abbf73843aa431986a5dbdd952e6ba94465 [file] [log] [blame]
Dmitri Gribenkob137c9e2012-12-30 01:28:40 +00001; RUN: opt -S -simplifycfg < %s | FileCheck %s
Benjamin Kramer27361a72011-02-24 22:46:11 +00002
Benjamin Kramerdfdca1a2011-02-24 23:26:09 +00003%ST = type { i8, i8 }
4
James Molloy7c336572015-02-11 12:15:41 +00005define i8* @test1(%ST* %x, i8* %y) nounwind {
Benjamin Kramerdfdca1a2011-02-24 23:26:09 +00006entry:
7 %cmp = icmp eq %ST* %x, null
8 br i1 %cmp, label %if.then, label %if.end
9
10if.then:
David Blaikie79e6c742015-02-27 19:29:02 +000011 %incdec.ptr = getelementptr %ST, %ST* %x, i32 0, i32 1
Benjamin Kramerdfdca1a2011-02-24 23:26:09 +000012 br label %if.end
13
14if.end:
15 %x.addr = phi i8* [ %incdec.ptr, %if.then ], [ %y, %entry ]
16 ret i8* %x.addr
17
James Molloy7c336572015-02-11 12:15:41 +000018; CHECK-LABEL: @test1(
Dan Gohman5ab9c0a2012-01-05 23:58:56 +000019; CHECK: %incdec.ptr.y = select i1 %cmp, i8* %incdec.ptr, i8* %y
20; CHECK: ret i8* %incdec.ptr.y
Benjamin Kramerdfdca1a2011-02-24 23:26:09 +000021}