llvm.org GIT mirror llvm / aceba31
Delete useless trailing semicolons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8 Dan Gohman 10 years ago
57 changed file(s) with 102 addition(s) and 102 deletion(s). Raw diff Collapse all Expand all
2222 cond_true34: ; preds = %entry
2323 %tmp631 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64
2424 2305843009213693950 ; [#uses=1]
25 %tmp70 = bitcast i64* %tmp631 to %struct.device** ;
25 %tmp70 = bitcast i64* %tmp631 to %struct.device**
2626
27 %tmp71 = load %struct.device** %tmp70, align 8 ;
27 %tmp71 = load %struct.device** %tmp70, align 8
2828
2929 ret i32 undef
3030
88 ret <4 x i1> %cmp
99 }
1010
11 global <4 x i1> icmp slt ( <4 x i32> , <4 x i32> ) ;
11 global <4 x i1> icmp slt ( <4 x i32> , <4 x i32> )
1212
13 @B = external global i32;
13 @B = external global i32
1414
15 global <4 x i1> icmp slt ( <4 x i32> , <4 x i32> ) ;
15 global <4 x i1> icmp slt ( <4 x i32> , <4 x i32> )
1111 ret void
1212 }
1313
14 @baz = private global i32 4;
14 @baz = private global i32 4
1515
1616 define i32 @bar() {
1717 call void @foo()
88
99 @GHJK = global i32 0
1010
11 declare i8* @choose(i8*, i8*);
11 declare i8* @choose(i8*, i8*)
1212
1313 ; BranchFolding should tail-duplicate the indirect jump to avoid
1414 ; redundant branching.
1111 ret void
1212 }
1313
14 @baz = private global i32 4;
14 @baz = private global i32 4
1515
1616 define i32 @bar() {
1717 call void @foo()
55
66 define i32 @ctlztest(i32 %B) {
77 %b = call i32 @llvm.ctlz.i32( i32 %B )
8 ret i32 %b;
8 ret i32 %b
99 }
1010
1111 define i32 @cttztest(i32 %B) {
1212 %b = call i32 @llvm.cttz.i32( i32 %B )
13 ret i32 %b;
13 ret i32 %b
1414 }
1515
1616 define i32 @ctpoptest(i32 %B) {
1717 %b = call i32 @llvm.ctpop.i32( i32 %B )
18 ret i32 %b;
18 ret i32 %b
1919 }
55
66 define i64 @ctlztest(i64 %B) {
77 %b = call i64 @llvm.ctlz.i64( i64 %B )
8 ret i64 %b;
8 ret i64 %b
99 }
1010
1111 define i64 @cttztest(i64 %B) {
1212 %b = call i64 @llvm.cttz.i64( i64 %B )
13 ret i64 %b;
13 ret i64 %b
1414 }
1515
1616 define i64 @ctpoptest(i64 %B) {
1717 %b = call i64 @llvm.ctpop.i64( i64 %B )
18 ret i64 %b;
18 ret i64 %b
1919 }
33
44 define i16 @ctlztest(i16 %B) {
55 %b = call i16 @llvm.ctlz.i16( i16 %B ) ; [#uses=1]
6 ret i16 %b;
6 ret i16 %b
77 }
88 define i16 @ctlztest_z(i16 zeroext %B) {
99 %b = call i16 @llvm.ctlz.i16( i16 %B ) ; [#uses=1]
10 ret i16 %b;
10 ret i16 %b
1111 }
1212
1313 define i16 @ctlztest_s(i16 signext %B) {
1414 %b = call i16 @llvm.ctlz.i16( i16 %B ) ; [#uses=1]
15 ret i16 %b;
15 ret i16 %b
1616 }
1717
33
44 define i16 @ctpoptest(i16 %B) {
55 %b = call i16 @llvm.ctpop.i16( i16 %B ) ; [#uses=1]
6 ret i16 %b;
6 ret i16 %b
77 }
88 define i16 @ctpoptest_z(i16 zeroext %B) {
99 %b = call i16 @llvm.ctpop.i16( i16 %B ) ; [#uses=1]
10 ret i16 %b;
10 ret i16 %b
1111 }
1212
1313 define i16 @ctpoptest_s(i16 signext %B) {
1414 %b = call i16 @llvm.ctpop.i16( i16 %B ) ; [#uses=1]
15 ret i16 %b;
15 ret i16 %b
1616 }
1717
33
44 define i16 @cttztest(i16 %B) {
55 %b = call i16 @llvm.cttz.i16( i16 %B ) ; [#uses=1]
6 ret i16 %b;
6 ret i16 %b
77 }
88 define i16 @cttztest_z(i16 zeroext %B) {
99 %b = call i16 @llvm.cttz.i16( i16 %B ) ; [#uses=1]
10 ret i16 %b;
10 ret i16 %b
1111 }
1212
1313 define i16 @cttztest_s(i16 signext %B) {
1414 %b = call i16 @llvm.cttz.i16( i16 %B ) ; [#uses=1]
15 ret i16 %b;
15 ret i16 %b
1616 }
1717
8282 ; FNMS: - (a * b - c) => c - (a * b)
8383 define <2 x double> @d_fnms_vec_1(<2 x double> %arg1, <2 x double> %arg2, <2 x double> %arg3) {
8484 %A = fmul <2 x double> %arg1, %arg2
85 %B = fsub <2 x double> %arg3, %A ;
85 %B = fsub <2 x double> %arg3, %A
8686 ret <2 x double> %B
8787 }
8888
1212 ret void
1313 }
1414
15 @baz = private global i32 4;
15 @baz = private global i32 4
1616
1717 define i32 @bar() {
1818 call void @foo()
0 ; RUN: llc < %s -soft-float
11 ; PR3899
22
3 @m = external global <2 x double>;
3 @m = external global <2 x double>
44
55 define double @vector_ex() nounwind {
66 %v = load <2 x double>* @m
11 target datalayout = "e-p:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:16:32"
22 target triple = "msp430-generic-generic"
33
4 @foo8 = external global i8;
5 @bar8 = external global i8;
4 @foo8 = external global i8
5 @bar8 = external global i8
66
77 define i8 @bitbrr(i8 %a, i8 %b) nounwind {
88 %t1 = and i8 %a, %b
8282 ; CHECK: bitbmm:
8383 ; CHECK: bit.b &bar8, &foo8
8484
85 @foo16 = external global i16;
86 @bar16 = external global i16;
85 @foo16 = external global i16
86 @bar16 = external global i16
8787
8888 define i16 @bitwrr(i16 %a, i16 %b) nounwind {
8989 %t1 = and i16 %a, %b
1111 ret void
1212 }
1313
14 @baz = private global i32 4;
14 @baz = private global i32 4
1515
1616 define i32 @bar() {
1717 call void @foo()
1414 ret void
1515 }
1616
17 @baz = private global i32 4;
17 @baz = private global i32 4
1818
1919 define i32 @bar() nounwind {
2020 call void @foo()
1111 ret void
1212 }
1313
14 @baz = private global i32 4;
14 @baz = private global i32 4
1515
1616 define i32 @bar() {
1717 call void @foo()
77 ; RUN: llc < %s -march=thumb -mattr=+thumb2 | grep add | grep lsl | grep #8
88
99 define i32 @t2ADDrc_255(i32 %lhs) {
10 %Rd = add i32 %lhs, 255;
10 %Rd = add i32 %lhs, 255
1111 ret i32 %Rd
1212 }
1313
1414 define i32 @t2ADDrc_256(i32 %lhs) {
15 %Rd = add i32 %lhs, 256;
15 %Rd = add i32 %lhs, 256
1616 ret i32 %Rd
1717 }
1818
1919 define i32 @t2ADDrc_257(i32 %lhs) {
20 %Rd = add i32 %lhs, 257;
20 %Rd = add i32 %lhs, 257
2121 ret i32 %Rd
2222 }
2323
2424 define i32 @t2ADDrc_4094(i32 %lhs) {
25 %Rd = add i32 %lhs, 4094;
25 %Rd = add i32 %lhs, 4094
2626 ret i32 %Rd
2727 }
2828
2929 define i32 @t2ADDrc_4095(i32 %lhs) {
30 %Rd = add i32 %lhs, 4095;
30 %Rd = add i32 %lhs, 4095
3131 ret i32 %Rd
3232 }
3333
3434 define i32 @t2ADDrc_4096(i32 %lhs) {
35 %Rd = add i32 %lhs, 4096;
35 %Rd = add i32 %lhs, 4096
3636 ret i32 %Rd
3737 }
3838
3939 define i32 @t2ADDrr(i32 %lhs, i32 %rhs) {
40 %Rd = add i32 %lhs, %rhs;
40 %Rd = add i32 %lhs, %rhs
4141 ret i32 %Rd
4242 }
4343
4444 define i32 @t2ADDrs(i32 %lhs, i32 %rhs) {
4545 %tmp = shl i32 %rhs, 8
46 %Rd = add i32 %lhs, %tmp;
46 %Rd = add i32 %lhs, %tmp
4747 ret i32 %Rd
4848 }
4949
22 declare void @llvm.memset.i32(i8*, i8, i32, i32)
33
44 define void @foo(i8* %p, i32 %len) {
5 call void @llvm.memset.i32(i8* %p, i8 0, i32 %len, i32 1);
5 call void @llvm.memset.i32(i8* %p, i8 0, i32 %len, i32 1)
66 ret void
77 }
55 ; through the 3rd mask element, which doesn't exist.
66 define i32 @update(<2 x i64> %val1, <2 x i64> %val2) nounwind readnone {
77 entry:
8 %shuf = shufflevector <2 x i64> %val1, <2 x i64> %val2, <2 x i32> ;
9 %bit = bitcast <2 x i64> %shuf to <4 x i32>;
10 %res = extractelement <4 x i32> %bit, i32 3;
11 ret i32 %res;
12 }
8 %shuf = shufflevector <2 x i64> %val1, <2 x i64> %val2, <2 x i32>
9 %bit = bitcast <2 x i64> %shuf to <4 x i32>
10 %res = extractelement <4 x i32> %bit, i32 3
11 ret i32 %res
12 }
1818 ret void
1919 }
2020
21 declare i1 @report__equal(i32 %x, i32 %y) nounwind;
21 declare i1 @report__equal(i32 %x, i32 %y) nounwind
2222
2323 declare void @abort()
1010 ret void
1111 }
1212
13 @baz = private global i32 4;
13 @baz = private global i32 4
1414
1515 define i32 @bar() {
1616 call void @foo()
5454 ret void
5555 }
5656
57 declare i8* @choose(i8*, i8*);
57 declare i8* @choose(i8*, i8*)
5858
5959 ; BranchFolding should tail-duplicate the indirect jump to avoid
6060 ; redundant branching.
88 define <4 x i32> @t2(<4 x i32>* %a) nounwind {
99 ; CHECK: pshufd
1010 ; CHECK: ret
11 %tmp1 = load <4 x i32>* %a;
11 %tmp1 = load <4 x i32>* %a
1212 %tmp2 = shufflevector <4 x i32> %tmp1, <4 x i32> undef, <4 x i32> < i32 0, i32 1, i32 0, i32 1 > ; <<4 x i32>> [#uses=1]
1313 ret <4 x i32> %tmp2
1414 }
1818 %unpcklps8 = shufflevector <4 x float> %p1, <4 x float> %p3, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>> [#uses=2]
1919 %unpckhps11 = shufflevector <4 x float> %p1, <4 x float> %p3, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=2]
2020 %unpcklps14 = shufflevector <4 x float> %unpcklps, <4 x float> %unpcklps8, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>> [#uses=1]
21 %unpcklps14a = shufflevector <4 x float> %unpcklps14, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>;
21 %unpcklps14a = shufflevector <4 x float> %unpcklps14, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
2222 %unpckhps17 = shufflevector <4 x float> %unpcklps, <4 x float> %unpcklps8, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=1]
23 %unpckhps17a = shufflevector <4 x float> %unpckhps17, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>;
24 %r1 = shufflevector <16 x float> %unpcklps14a, <16 x float> %unpckhps17a, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 16, i32 17, i32 18, i32 19, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>;
23 %unpckhps17a = shufflevector <4 x float> %unpckhps17, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
24 %r1 = shufflevector <16 x float> %unpcklps14a, <16 x float> %unpckhps17a, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 16, i32 17, i32 18, i32 19, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
2525 %unpcklps20 = shufflevector <4 x float> %unpckhps, <4 x float> %unpckhps11, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>> [#uses=1]
26 %unpcklps20a = shufflevector <4 x float> %unpcklps20, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>;
27 %r2 = shufflevector <16 x float> %r1, <16 x float> %unpcklps20a, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 18, i32 19, i32 12, i32 13, i32 14, i32 15>;
26 %unpcklps20a = shufflevector <4 x float> %unpcklps20, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
27 %r2 = shufflevector <16 x float> %r1, <16 x float> %unpcklps20a, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 18, i32 19, i32 12, i32 13, i32 14, i32 15>
2828 %unpckhps23 = shufflevector <4 x float> %unpckhps, <4 x float> %unpckhps11, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=1]
29 %unpckhps23a = shufflevector <4 x float> %unpckhps23, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>;
30 %r3 = shufflevector <16 x float> %r2, <16 x float> %unpckhps23a, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 16, i32 17, i32 18, i32 19>;
31 %r4 = shufflevector <16 x float> %r3, <16 x float> undef, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>;
32 ret <8 x float> %r4;
29 %unpckhps23a = shufflevector <4 x float> %unpckhps23, <4 x float> undef, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
30 %r3 = shufflevector <16 x float> %r2, <16 x float> %unpckhps23a, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 16, i32 17, i32 18, i32 19>
31 %r4 = shufflevector <16 x float> %r3, <16 x float> undef, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
32 ret <8 x float> %r4
3333 }
1919 %unpckhps11 = shufflevector <4 x float> %p1, <4 x float> %p3, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=2]
2020 %unpcklps14 = shufflevector <4 x float> %unpcklps, <4 x float> %unpcklps8, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>> [#uses=1]
2121 %unpckhps17 = shufflevector <4 x float> %unpcklps, <4 x float> %unpcklps8, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=1]
22 %r1 = shufflevector <4 x float> %unpcklps14, <4 x float> %unpckhps17, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >;
22 %r1 = shufflevector <4 x float> %unpcklps14, <4 x float> %unpckhps17, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >
2323 %unpcklps20 = shufflevector <4 x float> %unpckhps, <4 x float> %unpckhps11, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>> [#uses=1]
2424 %unpckhps23 = shufflevector <4 x float> %unpckhps, <4 x float> %unpckhps11, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=1]
25 %r2 = shufflevector <4 x float> %unpcklps20, <4 x float> %unpckhps23, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >;
25 %r2 = shufflevector <4 x float> %unpcklps20, <4 x float> %unpckhps23, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >
2626 ; %r3 = shufflevector <8 x float> %r1, <8 x float> %r2, <16 x i32> < i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15 >;
27 ret <8 x float> %r2;
27 ret <8 x float> %r2
2828 }
55 define void @select(i1 %c, <6 x i32>* %dst.addr, <6 x i32> %src1,<6 x i32> %src2) nounwind {
66 entry:
77 %x = select i1 %c, <6 x i32> %src1, <6 x i32> %src2
8 %val = sub <6 x i32> %x, < i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >;
8 %val = sub <6 x i32> %x, < i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
99 store <6 x i32> %val, <6 x i32>* %dst.addr
1010 ret void
1111 }
66 define void @shuf(<3 x float>* %dst.addr, <3 x float> %src1,<3 x float> %src2) nounwind {
77 entry:
88 %x = shufflevector <3 x float> %src1, <3 x float> %src2, <3 x i32> < i32 0, i32 1, i32 2>
9 %val = fadd <3 x float> %x, %src2;
9 %val = fadd <3 x float> %x, %src2
1010 store <3 x float> %val, <3 x float>* %dst.addr
1111 ret void
1212 }
66 define void @shuf(<3 x float>* %dst.addr, <3 x float> %src1,<3 x float> %src2) nounwind {
77 entry:
88 %x = shufflevector <3 x float> %src1, <3 x float> %src2, <3 x i32> < i32 0, i32 4, i32 2>
9 %val = fadd <3 x float> %x, %src2;
9 %val = fadd <3 x float> %x, %src2
1010 store <3 x float> %val, <3 x float>* %dst.addr
1111 ret void
1212 }
11 ; PR3898
22
33 define i32 @vector_param(<2 x double> %x) nounwind {
4 ret i32 1;
4 ret i32 1
55 }
1111 ret void
1212 }
1313
14 @baz = private global i32 4;
14 @baz = private global i32 4
1515
1616 define i32 @bar() {
1717 call void @foo()
11 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
22 ; RUN: diff %t1.ll %t2.ll
33
4 @foo1 = external global <4 x float>;
5 @foo2 = external global <2 x i10>;
4 @foo1 = external global <4 x float>
5 @foo2 = external global <2 x i10>
66
77
88 define void @main()
11 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
22 ; RUN: diff %t1.ll %t2.ll
33
4 @foo1 = external global <4 x float>;
5 @foo2 = external global <2 x i10>;
4 @foo1 = external global <4 x float>
5 @foo2 = external global <2 x i10>
66
77
88 define void @main()
66
77 define i31 @"testvarar"()
88 begin
9 call i31(i8*, ...) *@printf(i8 * null, i31 12, i8 42);
9 call i31(i8*, ...) *@printf(i8 * null, i31 12, i8 42)
1010 ret i31 %1
1111 end
1212
22 ; RUN: opt < %s -analyze -indvars -disable-output
33 ; PR1539
44 define i32 @test1() {
5 ret i32 0;
5 ret i32 0
66 }
0 ; RUN: opt < %s -loop-unroll -loop-rotate -simplifycfg -disable-output
11 ; PR2028
22 define i32 @test1() {
3 ret i32 0;
3 ret i32 0
44 }
0 ; RUN: opt < %s -loop-deletion -loop-index-split -disable-output
11 ; PR2640
22 define i32 @test1() {
3 ret i32 0;
3 ret i32 0
44 }
99 }
1010
1111 define internal {i32} @test2() {
12 ret {i32} undef;
12 ret {i32} undef
1313 }
1414
1515 define void @caller() {
1616 call {} @test()
17 %X = call {i32} @test2();
17 %X = call {i32} @test2()
1818 %Y = extractvalue {i32} %X, 0
1919 call void @user(i32 %Y, {i32} %X)
2020 ret void
11
22 %t = type { i32 }
33
4 @g = global i32 42;
4 @g = global i32 42
55
66 define void @test1(%t* noalias %pp) {
77 %p = getelementptr inbounds %t* %pp, i32 0, i32 0
22 declare void @test1f()
33
44 define void @test1(i32* noalias %p) {
5 store i32 1, i32* %p;
5 store i32 1, i32* %p
66 call void @test1f()
77 store i32 2, i32 *%p
88 ret void
1111 ; CHECK-NEXT: call void
1212 ; CHECK-NEXT: store i32 2
1313 ; CHECK-NEXT: ret void
14 }
14 }
99 call void @test1f(i8* null)
1010
1111 %after = load i32* %p ; <--- This should be a dead load
12 %sum = add i32 %before, %after;
12 %sum = add i32 %before, %after
1313
1414 store i32 %sum, i32* %p
1515 ret void
1111 %llvm.dbg.anchor.type = type { i32, i32 }
1212 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
1313
14 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
14 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
1515
1616 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
1717 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
3333 ;; Call @foo twice, to prevent the arguments from propagating into the
3434 ;; function (so we can check the returned argument is properly
3535 ;; propagated per-caller).
36 %S1 = call { i32, i32 } @foo(i32 1, i32 2);
36 %S1 = call { i32, i32 } @foo(i32 1, i32 2)
3737 %X1 = extractvalue { i32, i32 } %S1, 0
38 %S2 = invoke { i32, i32 } @foo(i32 3, i32 4) to label %OK unwind label %RET;
38 %S2 = invoke { i32, i32 } @foo(i32 3, i32 4) to label %OK unwind label %RET
3939 OK:
4040 %X2 = extractvalue { i32, i32 } %S2, 0
4141 ;; Do some stuff with the returned values which we can grep for
77 %n = call i1 @extern( )
88 br i1 %n, label %r, label %u
99 r:
10 ret i32 0;
10 ret i32 0
1111 u:
1212 unwind
1313 }
2828
2929 define <2 x i64> @bar() {
3030 %t = alloca <2 x i64>
31 call void @kip(<2 x i64>* %t);
31 call void @kip(<2 x i64>* %t)
3232 %tmp1 = load <2 x i64>* %t, align 1
3333 ret <2 x i64> %tmp1
3434 }
5858
5959 define void @bar_store(<2 x i64> %y) {
6060 %t = alloca <2 x i64>
61 call void @kip(<2 x i64>* %t);
61 call void @kip(<2 x i64>* %t)
6262 store <2 x i64> %y, <2 x i64>* %t, align 1
6363 ret void
6464 }
44 %llvm.dbg.anchor.type = type { i32, i32 }
55 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
66
7 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
7 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
88
99 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
1010 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
7272 br label %bb21
7373
7474 bb21: ; preds = %cond_next, %entry
75 %l.in = phi %struct.list** [ @operators, %entry ], [ %tmp19, %cond_next ] ;
75 %l.in = phi %struct.list** [ @operators, %entry ], [ %tmp19, %cond_next ]
7676 %tmp22 = load %struct.list** %l.in ; <%struct.list*> [#uses=1]
7777 icmp ne %struct.list* %tmp22, null ; :3 [#uses=1]
7878 zext i1 %3 to i8 ; :4 [#uses=1]
0 ; RUN: opt < %s -prune-eh -S | not grep {ret i32}
11
2 declare void @noreturn() noreturn;
2 declare void @noreturn() noreturn
33
44 define i32 @caller() {
55 call void @noreturn( )
77
88 define void @_ada_c37304a() {
99 entry:
10 %v = alloca %struct.c37304a__vrec ;
10 %v = alloca %struct.c37304a__vrec
1111 %0 = getelementptr %struct.c37304a__vrec* %v, i32 0, i32 0
1212 store i8 8, i8* %0, align 1
1313 unreachable
44 %llvm.dbg.anchor.type = type { i32, i32 }
55 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
66
7 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
7 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
88
99 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
1010 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
11 %llvm.dbg.anchor.type = type { i32, i32 }
22 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
33
4 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
4 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
55
66 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
77 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
33 %llvm.dbg.anchor.type = type { i32, i32 }
44 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
55
6 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
6 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
77
88 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
99 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
33 %llvm.dbg.anchor.type = type { i32, i32 }
44 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
55
6 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
6 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
77
88 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
99 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
33 %llvm.dbg.anchor.type = type { i32, i32 }
44 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
55
6 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
6 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
77
88 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
99 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
22 %llvm.dbg.anchor.type = type { i32, i32 }
33 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
44
5 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ;
5 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
66
77 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
88 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
3333 br i1 %tmp2, label %if, label %else
3434
3535 if: ; preds = %entry
36 store i32 1, i32* %a_arg;
37 ret i32 0;
36 store i32 1, i32* %a_arg
37 ret i32 0
3838
3939 else: ; preds = %entry
4040 %tmp7 = add i32 %start_arg, 1 ; [#uses=1]
5252 br i1 %tmp2, label %if, label %else
5353
5454 if: ; preds = %entry
55 ret i32 0;
55 ret i32 0
5656
5757 else: ; preds = %entry
5858 %tmp7 = add i32 %start_arg, 1 ; [#uses=1]
33 %foo = call i8* %llvm.stacksave()
44 %foop = bitcast i8* %foo to label*
55 %nret = load label* %foop
6 br label %nret;
6 br label %nret
77 }