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