blob: de7280e4d8e31ea04c707912c1e68fd9f0837b5b [file] [log] [blame]
Chris Lattnerfec65d72003-06-25 14:55:30 +00001; Promoting some values allows promotion of other values.
Dan Gohman18800922009-09-11 18:01:28 +00002; RUN: opt < %s -mem2reg -S | not grep alloca
Chris Lattnerfec65d72003-06-25 14:55:30 +00003
Tanya Lattnerab7872c2008-03-19 07:28:33 +00004define i32 @test2() {
5 %result = alloca i32 ; <i32*> [#uses=2]
6 %a = alloca i32 ; <i32*> [#uses=2]
7 %p = alloca i32* ; <i32**> [#uses=2]
8 store i32 0, i32* %a
9 store i32* %a, i32** %p
David Blaikiea79ac142015-02-27 21:17:42 +000010 %tmp.0 = load i32*, i32** %p ; <i32*> [#uses=1]
11 %tmp.1 = load i32, i32* %tmp.0 ; <i32> [#uses=1]
Tanya Lattnerab7872c2008-03-19 07:28:33 +000012 store i32 %tmp.1, i32* %result
David Blaikiea79ac142015-02-27 21:17:42 +000013 %tmp.2 = load i32, i32* %result ; <i32> [#uses=1]
Tanya Lattnerab7872c2008-03-19 07:28:33 +000014 ret i32 %tmp.2
Chris Lattnerfec65d72003-06-25 14:55:30 +000015}
16