17b443980b7a833b6c6a58b0b3db3eaa011f309a
[oota-llvm.git] / test / Transforms / FunctionAttrs / 2009-01-02-LocalStores.ll
1 ; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | not grep {nocapture *%%q}
2 ; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | grep {nocapture *%%p}
3
4 @g = external global i32**
5
6 define i32 @f(i32* %p, i32* %q) {
7         %a1 = alloca i32*
8         %a2 = alloca i32**
9         store i32* %p, i32** %a1
10         store i32** %a1, i32*** %a2
11         %reload1 = load i32*** %a2
12         %reload2 = load i32** %reload1
13         %load_p = load i32* %reload2
14         store i32 0, i32* %reload2
15
16         %b1 = alloca i32*
17         %b2 = alloca i32**
18         store i32* %q, i32** %b1
19         store i32** %b1, i32*** %b2
20         %reload3 = load i32*** %b2
21         store i32** %reload3, i32*** @g
22         ret i32 %load_p
23 }