Alexei Starovoitov | e4c8c80 | 2015-01-24 17:51:26 +0000 | [diff] [blame] | 1 | ; RUN: not llc -march=bpf < %s 2> %t1 |
| 2 | ; RUN: FileCheck %s < %t1 |
| 3 | ; CHECK: by value not supported |
| 4 | |
| 5 | %struct.S = type { [10 x i32] } |
| 6 | |
| 7 | ; Function Attrs: nounwind uwtable |
| 8 | define void @bar(i32 %a) #0 { |
| 9 | entry: |
| 10 | %.compoundliteral = alloca %struct.S, align 8 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 11 | %arrayinit.begin = getelementptr inbounds %struct.S, %struct.S* %.compoundliteral, i64 0, i32 0, i64 0 |
Alexei Starovoitov | e4c8c80 | 2015-01-24 17:51:26 +0000 | [diff] [blame] | 12 | store i32 1, i32* %arrayinit.begin, align 8 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 13 | %arrayinit.element = getelementptr inbounds %struct.S, %struct.S* %.compoundliteral, i64 0, i32 0, i64 1 |
Alexei Starovoitov | e4c8c80 | 2015-01-24 17:51:26 +0000 | [diff] [blame] | 14 | store i32 2, i32* %arrayinit.element, align 4 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 15 | %arrayinit.element2 = getelementptr inbounds %struct.S, %struct.S* %.compoundliteral, i64 0, i32 0, i64 2 |
Alexei Starovoitov | e4c8c80 | 2015-01-24 17:51:26 +0000 | [diff] [blame] | 16 | store i32 3, i32* %arrayinit.element2, align 8 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 17 | %arrayinit.start = getelementptr inbounds %struct.S, %struct.S* %.compoundliteral, i64 0, i32 0, i64 3 |
Alexei Starovoitov | e4c8c80 | 2015-01-24 17:51:26 +0000 | [diff] [blame] | 18 | %scevgep4 = bitcast i32* %arrayinit.start to i8* |
Daniel Neilson | 1e68724 | 2018-01-19 17:13:12 +0000 | [diff] [blame] | 19 | call void @llvm.memset.p0i8.i64(i8* align 4 %scevgep4, i8 0, i64 28, i1 false) |
Alexei Starovoitov | e4c8c80 | 2015-01-24 17:51:26 +0000 | [diff] [blame] | 20 | call void @foo(i32 %a, %struct.S* byval align 8 %.compoundliteral) #3 |
| 21 | ret void |
| 22 | } |
| 23 | |
| 24 | declare void @foo(i32, %struct.S* byval align 8) #1 |
| 25 | |
| 26 | ; Function Attrs: nounwind |
Daniel Neilson | 1e68724 | 2018-01-19 17:13:12 +0000 | [diff] [blame] | 27 | declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) #3 |