xref: /aosp_15_r20/external/llvm/test/Assembler/named-metadata.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker!0 = !{!"zero"}
5*9880d681SAndroid Build Coastguard Worker!1 = !{!"one"}
6*9880d681SAndroid Build Coastguard Worker!2 = !{!"two"}
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker!foo = !{!0, !1, !2}
9*9880d681SAndroid Build Coastguard Worker; CHECK: !foo = !{!0, !1, !2}
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker!\23pragma = !{!0, !1, !2}
12*9880d681SAndroid Build Coastguard Worker; CHECK: !\23pragma = !{!0, !1, !2}
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker; \31 is the digit '1'. On emission, we escape the first character (to avoid
15*9880d681SAndroid Build Coastguard Worker; conflicting with anonymous metadata), but not the subsequent ones.
16*9880d681SAndroid Build Coastguard Worker!\31\31\31 = !{!0, !1, !2}
17*9880d681SAndroid Build Coastguard Worker; CHECK: !\3111 = !{!0, !1, !2}
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker!\22name\22 = !{!0, !1, !2}
20*9880d681SAndroid Build Coastguard Worker; CHECK: !\22name\22 = !{!0, !1, !2}
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker; \x doesn't mean anything, so we parse it literally but escape the \ into \5C
23*9880d681SAndroid Build Coastguard Worker; when emitting it, followed by xfoo.
24*9880d681SAndroid Build Coastguard Worker!\xfoo = !{!0, !1, !2}
25*9880d681SAndroid Build Coastguard Worker; CHECK: !\5Cxfoo = !{!0, !1, !2}
26