1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| ; RUN: llc %s -o - | sed -n -e '/#APP/,/#NO_APP/p' > %t
; RUN: sed -n -e 's/^;CHECK://p' %s > %t2
; RUN: diff %t %t2
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: nounwind uwtable
define void @foo() #0 {
entry:
call void asm sideeffect "", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #NO_APP
call void asm sideeffect " ", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK:
;CHECK: #NO_APP
call void asm sideeffect "\0A", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK:
;CHECK:
;CHECK: #NO_APP
call void asm sideeffect "/*isolated c comment*/", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #isolated c comment
;CHECK: #NO_APP
call void asm sideeffect "/**/", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #
;CHECK: #NO_APP
call void asm sideeffect "/*comment with\0Anewline*/", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #comment with
;CHECK: #newline
;CHECK: #NO_APP
call void asm sideeffect "//isolated line comment", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #isolated line comment
;CHECK: #NO_APP
call void asm sideeffect "#isolated line comment", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #isolated line comment
;CHECK: #NO_APP
call void asm sideeffect "nop /* after nop */", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # after nop
;CHECK: #NO_APP
call void asm sideeffect "nop // after nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # after nop
;CHECK: #NO_APP
call void asm sideeffect "nop # after nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # after nop
;CHECK: #NO_APP
call void asm sideeffect "nop /* after explicit ended nop */", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # after explicit ended nop
;CHECK: #NO_APP
call void asm sideeffect "nop # after explicit ended nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # after explicit ended nop
;CHECK: #NO_APP
call void asm sideeffect "nop # after explicit end nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # after explicit end nop
;CHECK: #NO_APP
call void asm sideeffect "/* before nop */ nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: nop # before nop
;CHECK: #NO_APP
call void asm sideeffect "//comment with escaped newline\0A", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: #comment with escaped newline
;CHECK:
;CHECK: #NO_APP
call void asm sideeffect "/*0*/xor/*1*/%eax,/*2*/%ecx/*3*///eol", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK: #APP
;CHECK: xorl %eax, %ecx #0 #1 #2 #3 #eol
;CHECK: #NO_APP
ret void
}
attributes #0 = { nounwind }
!llvm.ident = !{!0}
!0 = !{!"clang version 3.9.0 (trunk 268625) (llvm/trunk 268631)"}
|