diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
| commit | 5a5ac124e1efaf208671f01c46edb15f29ed2a0b (patch) | |
| tree | a6140557876943cdd800ee997c9317283394b22c /test/Transforms/FunctionAttrs | |
| parent | f03b5bed27d0d2eafd68562ce14f8b5e3f1f0801 (diff) | |
Notes
Diffstat (limited to 'test/Transforms/FunctionAttrs')
| -rw-r--r-- | test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll | 2 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll | 2 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/2008-12-29-Constant.ll | 2 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll | 2 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/2010-10-30-volatile.ll | 2 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/atomic.ll | 4 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/nocapture.ll | 14 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/optnone-simple.ll | 24 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/readattrs.ll | 2 | ||||
| -rw-r--r-- | test/Transforms/FunctionAttrs/readnone.ll | 13 |
10 files changed, 40 insertions, 27 deletions
diff --git a/test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll b/test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll index 36a765873487..ca05d63743b5 100644 --- a/test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll +++ b/test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll @@ -17,7 +17,7 @@ define i32 @g() readonly { ; CHECK: define i32 @h() #0 define i32 @h() readnone { - %tmp = load i32* @x ; <i32> [#uses=1] + %tmp = load i32, i32* @x ; <i32> [#uses=1] ret i32 %tmp } diff --git a/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll b/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll index b7e4d1f87261..fef872c794ae 100644 --- a/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll +++ b/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll @@ -4,6 +4,6 @@ @g = global i32 0 ; <i32*> [#uses=1] define i32 @f() { - %t = load volatile i32* @g ; <i32> [#uses=1] + %t = load volatile i32, i32* @g ; <i32> [#uses=1] ret i32 %t } diff --git a/test/Transforms/FunctionAttrs/2008-12-29-Constant.ll b/test/Transforms/FunctionAttrs/2008-12-29-Constant.ll index 9655da45c646..e3a8f0161b86 100644 --- a/test/Transforms/FunctionAttrs/2008-12-29-Constant.ll +++ b/test/Transforms/FunctionAttrs/2008-12-29-Constant.ll @@ -3,6 +3,6 @@ @s = external constant i8 ; <i8*> [#uses=1] define i8 @f() { - %tmp = load i8* @s ; <i8> [#uses=1] + %tmp = load i8, i8* @s ; <i8> [#uses=1] ret i8 %tmp } diff --git a/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll b/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll index 0cf1cb7c638d..ec1db0957283 100644 --- a/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll +++ b/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll @@ -2,7 +2,7 @@ ; CHECK: define i32* @a(i32** nocapture readonly %p) define i32* @a(i32** %p) { - %tmp = load i32** %p + %tmp = load i32*, i32** %p ret i32* %tmp } diff --git a/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll b/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll index 93991d21a1fa..1a64a8393804 100644 --- a/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll +++ b/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll @@ -5,6 +5,6 @@ define void @foo() { ; CHECK: void @foo() { - %tmp = load volatile i32* @g + %tmp = load volatile i32, i32* @g ret void } diff --git a/test/Transforms/FunctionAttrs/atomic.ll b/test/Transforms/FunctionAttrs/atomic.ll index d5a8db7d53b9..bb867011cc2a 100644 --- a/test/Transforms/FunctionAttrs/atomic.ll +++ b/test/Transforms/FunctionAttrs/atomic.ll @@ -7,7 +7,7 @@ define i32 @test1(i32 %x) uwtable ssp { entry: %x.addr = alloca i32, align 4 store atomic i32 %x, i32* %x.addr seq_cst, align 4 - %r = load atomic i32* %x.addr seq_cst, align 4 + %r = load atomic i32, i32* %x.addr seq_cst, align 4 ret i32 %r } @@ -15,7 +15,7 @@ entry: define i32 @test2(i32* %x) uwtable ssp { ; CHECK: define i32 @test2(i32* nocapture readonly %x) #1 { entry: - %r = load atomic i32* %x seq_cst, align 4 + %r = load atomic i32, i32* %x seq_cst, align 4 ret i32 %r } diff --git a/test/Transforms/FunctionAttrs/nocapture.ll b/test/Transforms/FunctionAttrs/nocapture.ll index d3842c8415ca..55a3dc4aa35b 100644 --- a/test/Transforms/FunctionAttrs/nocapture.ll +++ b/test/Transforms/FunctionAttrs/nocapture.ll @@ -39,8 +39,8 @@ define i1 @c5(i32* %q, i32 %bitno) { %tmp2 = lshr i32 %tmp, %bitno %bit = and i32 %tmp2, 1 ; subtle escape mechanism follows - %lookup = getelementptr [2 x i1]* @lookup_table, i32 0, i32 %bit - %val = load i1* %lookup + %lookup = getelementptr [2 x i1], [2 x i1]* @lookup_table, i32 0, i32 %bit + %val = load i1, i1* %lookup ret i1 %val } @@ -64,14 +64,14 @@ define i1* @lookup_bit(i32* %q, i32 %bitno) readnone nounwind { %tmp = ptrtoint i32* %q to i32 %tmp2 = lshr i32 %tmp, %bitno %bit = and i32 %tmp2, 1 - %lookup = getelementptr [2 x i1]* @lookup_table, i32 0, i32 %bit + %lookup = getelementptr [2 x i1], [2 x i1]* @lookup_table, i32 0, i32 %bit ret i1* %lookup } ; CHECK: define i1 @c7(i32* readonly %q, i32 %bitno) define i1 @c7(i32* %q, i32 %bitno) { %ptr = call i1* @lookup_bit(i32* %q, i32 %bitno) - %val = load i1* %ptr + %val = load i1, i1* %ptr ret i1 %val } @@ -85,7 +85,7 @@ l: %y = phi i32* [ %q, %e ] %tmp = bitcast i32* %x to i32* ; <i32*> [#uses=2] %tmp2 = select i1 %b, i32* %tmp, i32* %y - %val = load i32* %tmp2 ; <i32> [#uses=1] + %val = load i32, i32* %tmp2 ; <i32> [#uses=1] store i32 0, i32* %tmp store i32* %y, i32** @g ret i32 %val @@ -100,7 +100,7 @@ l: %y = phi i32* [ %q, %e ] %tmp = addrspacecast i32 addrspace(1)* %x to i32* ; <i32*> [#uses=2] %tmp2 = select i1 %b, i32* %tmp, i32* %y - %val = load i32* %tmp2 ; <i32> [#uses=1] + %val = load i32, i32* %tmp2 ; <i32> [#uses=1] store i32 0, i32* %tmp store i32* %y, i32** @g ret i32 %val @@ -188,7 +188,7 @@ declare void @test6_1(i8* %x6_1, i8* nocapture %y6_1, ...) ; CHECK: define void @test6_2(i8* %x6_2, i8* nocapture %y6_2, i8* %z6_2) define void @test6_2(i8* %x6_2, i8* %y6_2, i8* %z6_2) { - call void (i8*, i8*, ...)* @test6_1(i8* %x6_2, i8* %y6_2, i8* %z6_2) + call void (i8*, i8*, ...) @test6_1(i8* %x6_2, i8* %y6_2, i8* %z6_2) store i32* null, i32** @g ret void } diff --git a/test/Transforms/FunctionAttrs/optnone-simple.ll b/test/Transforms/FunctionAttrs/optnone-simple.ll index 9d0f8e3710a6..beaa588da503 100644 --- a/test/Transforms/FunctionAttrs/optnone-simple.ll +++ b/test/Transforms/FunctionAttrs/optnone-simple.ll @@ -15,8 +15,8 @@ entry: %b.addr = alloca i32, align 4 store i32 %a, i32* %a.addr, align 4 store i32 %b, i32* %b.addr, align 4 - %0 = load i32* %a.addr, align 4 - %1 = load i32* %b.addr, align 4 + %0 = load i32, i32* %a.addr, align 4 + %1 = load i32, i32* %b.addr, align 4 %add = add nsw i32 %0, %1 ret i32 %add } @@ -33,8 +33,8 @@ entry: %b.addr = alloca i32, align 4 store i32 %a, i32* %a.addr, align 4 store i32 %b, i32* %b.addr, align 4 - %0 = load i32* %a.addr, align 4 - %1 = load i32* %b.addr, align 4 + %0 = load i32, i32* %a.addr, align 4 + %1 = load i32, i32* %b.addr, align 4 %add = add nsw i32 %0, %1 ret i32 %add } @@ -57,8 +57,8 @@ entry: %b.addr = alloca float, align 4 store float %a, float* %a.addr, align 4 store float %b, float* %b.addr, align 4 - %0 = load float* %a.addr, align 4 - %1 = load float* %b.addr, align 4 + %0 = load float, float* %a.addr, align 4 + %1 = load float, float* %b.addr, align 4 %sub = fsub float %0, %1 ret float %sub } @@ -75,8 +75,8 @@ entry: %b.addr = alloca float, align 4 store float %a, float* %a.addr, align 4 store float %b, float* %b.addr, align 4 - %0 = load float* %a.addr, align 4 - %1 = load float* %b.addr, align 4 + %0 = load float, float* %a.addr, align 4 + %1 = load float, float* %b.addr, align 4 %sub = fsub float %0, %1 ret float %sub } @@ -100,8 +100,8 @@ entry: %b.addr = alloca <4 x float>, align 16 store <4 x float> %a, <4 x float>* %a.addr, align 16 store <4 x float> %b, <4 x float>* %b.addr, align 16 - %0 = load <4 x float>* %a.addr, align 16 - %1 = load <4 x float>* %b.addr, align 16 + %0 = load <4 x float>, <4 x float>* %a.addr, align 16 + %1 = load <4 x float>, <4 x float>* %b.addr, align 16 %mul = fmul <4 x float> %0, %1 ret <4 x float> %mul } @@ -118,8 +118,8 @@ entry: %b.addr = alloca <4 x float>, align 16 store <4 x float> %a, <4 x float>* %a.addr, align 16 store <4 x float> %b, <4 x float>* %b.addr, align 16 - %0 = load <4 x float>* %a.addr, align 16 - %1 = load <4 x float>* %b.addr, align 16 + %0 = load <4 x float>, <4 x float>* %a.addr, align 16 + %1 = load <4 x float>, <4 x float>* %b.addr, align 16 %mul = fmul <4 x float> %0, %1 ret <4 x float> %mul } diff --git a/test/Transforms/FunctionAttrs/readattrs.ll b/test/Transforms/FunctionAttrs/readattrs.ll index b4e904cf9b04..7f22e6f2a2c5 100644 --- a/test/Transforms/FunctionAttrs/readattrs.ll +++ b/test/Transforms/FunctionAttrs/readattrs.ll @@ -5,7 +5,7 @@ declare void @test1_1(i8* %x1_1, i8* readonly %y1_1, ...) ; CHECK: define void @test1_2(i8* %x1_2, i8* readonly %y1_2, i8* %z1_2) define void @test1_2(i8* %x1_2, i8* %y1_2, i8* %z1_2) { - call void (i8*, i8*, ...)* @test1_1(i8* %x1_2, i8* %y1_2, i8* %z1_2) + call void (i8*, i8*, ...) @test1_1(i8* %x1_2, i8* %y1_2, i8* %z1_2) store i32 0, i32* @x ret void } diff --git a/test/Transforms/FunctionAttrs/readnone.ll b/test/Transforms/FunctionAttrs/readnone.ll new file mode 100644 index 000000000000..eddcdd2641d5 --- /dev/null +++ b/test/Transforms/FunctionAttrs/readnone.ll @@ -0,0 +1,13 @@ +; RUN: opt < %s -functionattrs -S | FileCheck %s + +; CHECK: define void @bar(i8* nocapture readnone) +define void @bar(i8* readonly) { + call void @foo(i8* %0) + ret void +} + +; CHECK: define void @foo(i8* nocapture readnone) +define void @foo(i8* readonly) { + call void @bar(i8* %0) + ret void +} |
