xref: /llvm-project/llvm/test/CodeGen/WebAssembly/custom-sections.ll (revision 122b0220fd45ee71acda912b0b712bb8edb6ba46)
1cfd44a2eSSam Clegg; RUN: llc < %s -asm-verbose=false | FileCheck %s
2cfd44a2eSSam Clegg
3cfd44a2eSSam Clegg; Test the mechanism for defining user custom sections.
4cfd44a2eSSam Clegg
5a5908009SSam Cleggtarget triple = "wasm32-unknown-unknown"
6cfd44a2eSSam Clegg
7cfd44a2eSSam Clegg!0 = !{ !"red", !"foo" }
8cfd44a2eSSam Clegg!1 = !{ !"green", !"bar" }
9cfd44a2eSSam Clegg!2 = !{ !"green", !"qux" }
10cfd44a2eSSam Clegg!wasm.custom_sections = !{ !0, !1, !2 }
11cfd44a2eSSam Clegg
12cbda16ebSThomas Lively!llvm.ident = !{!3}
13cbda16ebSThomas Lively!3 = !{!"clang version 123"}
14cbda16ebSThomas Lively
15*c6795e07SThomas Lively!llvm.module.flags = !{!4}
16*c6795e07SThomas Lively!4 = !{i32 2, !"Debug Info Version", i32 3}
17*c6795e07SThomas Lively
18*c6795e07SThomas Lively!llvm.dbg.cu = !{!5}
19*c6795e07SThomas Lively!5 = distinct !DICompileUnit(language: DW_LANG_C99, file: !6)
20*c6795e07SThomas Lively!6 = !DIFile(filename: "test", directory: "testdir")
21*c6795e07SThomas Lively
22cfd44a2eSSam Clegg; CHECK:      .section	.custom_section.red,"",@
23cfd44a2eSSam Clegg; CHECK-NEXT: .ascii	"foo"
24cfd44a2eSSam Clegg
25cfd44a2eSSam Clegg; CHECK:      .section	.custom_section.green,"",@
26cfd44a2eSSam Clegg; CHECK-NEXT: .ascii	"bar"
27cfd44a2eSSam Clegg
28cfd44a2eSSam Clegg; CHECK:      .section	.custom_section.green,"",@
29cfd44a2eSSam Clegg; CHECK-NEXT: .ascii	"qux"
30cbda16ebSThomas Lively
31cbda16ebSThomas Lively; CHECK:      .section	.custom_section.producers,"",@
32*c6795e07SThomas Lively; CHECK-NEXT: .int8	2
33*c6795e07SThomas Lively; CHECK-NEXT: .int8	8
34*c6795e07SThomas Lively; CHECK-NEXT: .ascii	"language"
35cbda16ebSThomas Lively; CHECK-NEXT: .int8	1
36*c6795e07SThomas Lively; CHECK-NEXT: .int8	3
37*c6795e07SThomas Lively; CHECK-NEXT: .ascii	"C99"
38*c6795e07SThomas Lively; CHECK-NEXT: .int8	0
39cbda16ebSThomas Lively; CHECK-NEXT: .int8	12
40cbda16ebSThomas Lively; CHECK-NEXT: .ascii	"processed-by"
41cbda16ebSThomas Lively; CHECK-NEXT: .int8	1
42cbda16ebSThomas Lively; CHECK-NEXT: .int8	5
43cbda16ebSThomas Lively; CHECK-NEXT: .ascii	"clang"
44cbda16ebSThomas Lively; CHECK-NEXT: .int8	3
45cbda16ebSThomas Lively; CHECK-NEXT: .ascii	"123"
46