Home | History | Annotate | Download | only in Bitcode
      1 ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
      2 ; PR12696
      3 
      4 define void @f1(i8 zeroext)
      5 ; CHECK: define void @f1(i8 zeroext)
      6 {
      7         ret void;
      8 }
      9 
     10 define void @f2(i8 signext)
     11 ; CHECK: define void @f2(i8 signext)
     12 {
     13         ret void;
     14 }
     15 
     16 define void @f3() noreturn
     17 ; CHECK: define void @f3() #0
     18 {
     19         ret void;
     20 }
     21 
     22 define void @f4(i8 inreg)
     23 ; CHECK: define void @f4(i8 inreg)
     24 {
     25         ret void;
     26 }
     27 
     28 define void @f5(i8* sret)
     29 ; CHECK: define void @f5(i8* sret)
     30 {
     31         ret void;
     32 }
     33 
     34 define void @f6() nounwind
     35 ; CHECK: define void @f6() #1
     36 {
     37         ret void;
     38 }
     39 
     40 define void @f7(i8* noalias)
     41 ; CHECK: define void @f7(i8* noalias)
     42 {
     43         ret void;
     44 }
     45 
     46 define void @f8(i8* byval)
     47 ; CHECK: define void @f8(i8* byval)
     48 {
     49         ret void;
     50 }
     51 
     52 define void @f9(i8* nest)
     53 ; CHECK: define void @f9(i8* nest)
     54 {
     55         ret void;
     56 }
     57 
     58 define void @f10() readnone
     59 ; CHECK: define void @f10() #2
     60 {
     61         ret void;
     62 }
     63 
     64 define void @f11() readonly
     65 ; CHECK: define void @f11() #3
     66 {
     67         ret void;
     68 }
     69 
     70 define void @f12() noinline
     71 ; CHECK: define void @f12() #4
     72 {
     73         ret void;
     74 }
     75 
     76 define void @f13() alwaysinline
     77 ; CHECK: define void @f13() #5
     78 {
     79         ret void;
     80 }
     81 
     82 define void @f14() optsize
     83 ; CHECK: define void @f14() #6
     84 {
     85         ret void;
     86 }
     87 
     88 define void @f15() ssp
     89 ; CHECK: define void @f15() #7
     90 {
     91         ret void;
     92 }
     93 
     94 define void @f16() sspreq
     95 ; CHECK: define void @f16() #8
     96 {
     97         ret void;
     98 }
     99 
    100 define void @f17(i8 align 4)
    101 ; CHECK: define void @f17(i8 align 4)
    102 {
    103         ret void;
    104 }
    105 
    106 define void @f18(i8* nocapture)
    107 ; CHECK: define void @f18(i8* nocapture)
    108 {
    109         ret void;
    110 }
    111 
    112 define void @f19() noredzone
    113 ; CHECK: define void @f19() #9
    114 {
    115         ret void;
    116 }
    117 
    118 define void @f20() noimplicitfloat
    119 ; CHECK: define void @f20() #10
    120 {
    121         ret void;
    122 }
    123 
    124 define void @f21() naked
    125 ; CHECK: define void @f21() #11
    126 {
    127         ret void;
    128 }
    129 
    130 define void @f22() inlinehint
    131 ; CHECK: define void @f22() #12
    132 {
    133         ret void;
    134 }
    135 
    136 define void @f23() alignstack(4)
    137 ; CHECK: define void @f23() #13
    138 {
    139         ret void;
    140 }
    141 
    142 define void @f24() returns_twice
    143 ; CHECK: define void @f24() #14
    144 {
    145         ret void;
    146 }
    147 
    148 define void @f25() uwtable
    149 ; CHECK: define void @f25() #15
    150 {
    151         ret void;
    152 }
    153 
    154 define void @f26() nonlazybind
    155 ; CHECK: define void @f26() #16
    156 {
    157         ret void;
    158 }
    159 
    160 define void @f27() sanitize_address
    161 ; CHECK: define void @f27() #17
    162 {
    163         ret void;
    164 }
    165 define void @f28() sanitize_thread
    166 ; CHECK: define void @f28() #18
    167 {
    168         ret void;
    169 }
    170 define void @f29() sanitize_memory
    171 ; CHECK: define void @f29() #19
    172 {
    173         ret void;
    174 }
    175 
    176 define void @f30() "cpu"="cortex-a8"
    177 ; CHECK: define void @f30() #20
    178 {
    179         ret void;
    180 }
    181 
    182 define i8 @f31(i8 returned %A)
    183 ; CHECK: define i8 @f31(i8 returned %A)
    184 {
    185         ret i8 %A;
    186 }
    187 
    188 define void @f32() sspstrong
    189 ; CHECK: define void @f32() #21
    190 {
    191         ret void;
    192 }
    193 
    194 define void @f33() minsize
    195 ; CHECK: define void @f33() #22
    196 {
    197         ret void;
    198 }
    199 
    200 declare void @nobuiltin()
    201 
    202 define void @f34()
    203 ; CHECK: define void @f34()
    204 {
    205         call void @nobuiltin() nobuiltin
    206 ; CHECK: call void @nobuiltin() #25
    207         ret void;
    208 }
    209 
    210 define void @f35() optnone noinline
    211 ; CHECK: define void @f35() #23
    212 {
    213         ret void;
    214 }
    215 
    216 define void @f36(i8* inalloca) {
    217 ; CHECK: define void @f36(i8* inalloca) {
    218         ret void
    219 }
    220 
    221 define nonnull i8* @f37(i8* nonnull %a) {
    222 ; CHECK: define nonnull i8* @f37(i8* nonnull %a) {
    223         ret i8* %a
    224 }
    225 
    226 define void @f38() unnamed_addr jumptable {
    227 ; CHECK: define void @f38() unnamed_addr #24
    228     call void bitcast (void (i8*)* @f36 to void ()*)()
    229     unreachable
    230 }
    231 
    232 ; CHECK: attributes #0 = { noreturn }
    233 ; CHECK: attributes #1 = { nounwind }
    234 ; CHECK: attributes #2 = { readnone }
    235 ; CHECK: attributes #3 = { readonly }
    236 ; CHECK: attributes #4 = { noinline }
    237 ; CHECK: attributes #5 = { alwaysinline }
    238 ; CHECK: attributes #6 = { optsize }
    239 ; CHECK: attributes #7 = { ssp }
    240 ; CHECK: attributes #8 = { sspreq }
    241 ; CHECK: attributes #9 = { noredzone }
    242 ; CHECK: attributes #10 = { noimplicitfloat }
    243 ; CHECK: attributes #11 = { naked }
    244 ; CHECK: attributes #12 = { inlinehint }
    245 ; CHECK: attributes #13 = { alignstack=4 }
    246 ; CHECK: attributes #14 = { returns_twice }
    247 ; CHECK: attributes #15 = { uwtable }
    248 ; CHECK: attributes #16 = { nonlazybind }
    249 ; CHECK: attributes #17 = { sanitize_address }
    250 ; CHECK: attributes #18 = { sanitize_thread }
    251 ; CHECK: attributes #19 = { sanitize_memory }
    252 ; CHECK: attributes #20 = { "cpu"="cortex-a8" }
    253 ; CHECK: attributes #21 = { sspstrong }
    254 ; CHECK: attributes #22 = { minsize }
    255 ; CHECK: attributes #23 = { noinline optnone }
    256 ; CHECK: attributes #24 = { jumptable }
    257 ; CHECK: attributes #25 = { nobuiltin }
    258