1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 --amdhsa-code-object-version=2 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK --check-prefix=GFX700 --check-prefix=NOTES %s 2; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx802 --amdhsa-code-object-version=2 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK --check-prefix=GFX802 --check-prefix=NOTES %s 3; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 --amdhsa-code-object-version=2 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s 4; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 --amdhsa-code-object-version=2 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s 5; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx802 --amdhsa-code-object-version=2 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s 6; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 --amdhsa-code-object-version=2 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s 7 8%struct.A = type { i8, float } 9%opencl.image1d_t = type opaque 10%opencl.image2d_t = type opaque 11%opencl.image3d_t = type opaque 12%opencl.queue_t = type opaque 13%opencl.pipe_t = type opaque 14%struct.B = type { i32 addrspace(1)*} 15%opencl.clk_event_t = type opaque 16 17@__test_block_invoke_kernel_runtime_handle = external addrspace(1) externally_initialized constant i8 addrspace(1)* 18 19; CHECK: --- 20; CHECK: Version: [ 1, 0 ] 21; CHECK: Printf: 22; CHECK: - '1:1:4:%d\n' 23; CHECK: - '2:1:8:%g\n' 24; CHECK: Kernels: 25 26; CHECK: - Name: test_char 27; CHECK-NEXT: SymbolName: 'test_char@kd' 28; CHECK-NEXT: Language: OpenCL C 29; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 30; CHECK-NEXT: Args: 31; CHECK-NEXT: - Name: a 32; CHECK-NEXT: TypeName: char 33; CHECK-NEXT: Size: 1 34; CHECK-NEXT: Align: 1 35; CHECK-NEXT: ValueKind: ByValue 36; CHECK-NEXT: AccQual: Default 37; CHECK-NEXT: - Size: 8 38; CHECK-NEXT: Align: 8 39; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 40; CHECK-NEXT: - Size: 8 41; CHECK-NEXT: Align: 8 42; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 43; CHECK-NEXT: - Size: 8 44; CHECK-NEXT: Align: 8 45; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 46; CHECK-NEXT: - Size: 8 47; CHECK-NEXT: Align: 8 48; CHECK-NOT: ValueKind: HiddenHostcallBuffer 49; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 50; CHECK-NEXT: AddrSpaceQual: Global 51; CHECK-NOT: ValueKind: HiddenDefaultQueue 52; CHECK-NOT: ValueKind: HiddenCompletionAction 53; CHECK: ValueKind: HiddenMultiGridSyncArg 54; CHECK-NEXT: AddrSpaceQual: Global 55define amdgpu_kernel void @test_char(i8 %a) #0 56 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !9 57 !kernel_arg_base_type !9 !kernel_arg_type_qual !4 { 58 ret void 59} 60 61; CHECK: - Name: test_char_byref_constant 62; CHECK-NEXT: SymbolName: 'test_char_byref_constant@kd' 63; CHECK-NEXT: Language: OpenCL C 64; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 65; CHECK-NEXT: Args: 66; CHECK-NEXT: - Name: a 67; CHECK-NEXT: TypeName: char 68; CHECK-NEXT: Size: 1 69; CHECK-NEXT: Align: 1 70; CHECK-NEXT: ValueKind: ByValue 71; CHECK-NEXT: AccQual: Default 72; CHECK-NEXT: - Size: 8 73; CHECK-NEXT: Align: 8 74; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 75; CHECK-NEXT: - Size: 8 76; CHECK-NEXT: Align: 8 77; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 78; CHECK-NEXT: - Size: 8 79; CHECK-NEXT: Align: 8 80; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 81; CHECK-NEXT: - Size: 8 82; CHECK-NEXT: Align: 8 83; CHECK-NOT: ValueKind: HiddenHostcallBuffer 84; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 85; CHECK-NEXT: AddrSpaceQual: Global 86; CHECK-NOT: ValueKind: HiddenDefaultQueue 87; CHECK-NOT: ValueKind: HiddenCompletionAction 88; CHECK: ValueKind: HiddenMultiGridSyncArg 89; CHECK-NEXT: AddrSpaceQual: Global 90define amdgpu_kernel void @test_char_byref_constant(i8 addrspace(4)* byref(i8) %a) #0 91 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !9 92 !kernel_arg_base_type !9 !kernel_arg_type_qual !4 { 93 ret void 94} 95 96; CHECK: - Name: test_char_byref_constant_align512 97; CHECK-NEXT: SymbolName: 'test_char_byref_constant_align512@kd' 98; CHECK-NEXT: Language: OpenCL C 99; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 100; CHECK-NEXT: Args: 101; CHECK-NEXT: TypeName: char 102; CHECK-NEXT: Size: 1 103; CHECK-NEXT: Align: 1 104; CHECK-NEXT: ValueKind: ByValue 105; CHECK-NEXT: AccQual: Default 106; CHECK-NEXT: - Name: a 107; CHECK-NEXT: TypeName: char 108; CHECK-NEXT: Size: 1 109; CHECK-NEXT: Align: 512 110; CHECK-NEXT: ValueKind: ByValue 111; CHECK-NEXT: - Size: 8 112; CHECK-NEXT: Align: 8 113; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 114; CHECK-NEXT: - Size: 8 115; CHECK-NEXT: Align: 8 116; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 117; CHECK-NEXT: - Size: 8 118; CHECK-NEXT: Align: 8 119; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 120; CHECK-NEXT: - Size: 8 121; CHECK-NEXT: Align: 8 122; CHECK-NOT: ValueKind: HiddenHostcallBuffer 123; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 124; CHECK-NEXT: AddrSpaceQual: Global 125; CHECK-NOT: ValueKind: HiddenDefaultQueue 126; CHECK-NOT: ValueKind: HiddenCompletionAction 127; CHECK: ValueKind: HiddenMultiGridSyncArg 128; CHECK-NEXT: AddrSpaceQual: Global 129define amdgpu_kernel void @test_char_byref_constant_align512(i8, i8 addrspace(4)* byref(i8) align 512 %a) #0 130 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !111 131 !kernel_arg_base_type !9 !kernel_arg_type_qual !4 { 132 ret void 133} 134 135; CHECK: - Name: test_ushort2 136; CHECK-NEXT: SymbolName: 'test_ushort2@kd' 137; CHECK-NEXT: Language: OpenCL C 138; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 139; CHECK-NEXT: Args: 140; CHECK-NEXT: - Name: a 141; CHECK-NEXT: TypeName: ushort2 142; CHECK-NEXT: Size: 4 143; CHECK-NEXT: Align: 4 144; CHECK-NEXT: ValueKind: ByValue 145; CHECK-NEXT: AccQual: Default 146; CHECK-NEXT: - Size: 8 147; CHECK-NEXT: Align: 8 148; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 149; CHECK-NEXT: - Size: 8 150; CHECK-NEXT: Align: 8 151; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 152; CHECK-NEXT: - Size: 8 153; CHECK-NEXT: Align: 8 154; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 155; CHECK-NEXT: - Size: 8 156; CHECK-NEXT: Align: 8 157; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 158; CHECK-NEXT: AddrSpaceQual: Global 159; CHECK-NEXT: - Size: 8 160; CHECK-NEXT: Align: 8 161; CHECK-NEXT: ValueKind: HiddenNone 162; CHECK-NEXT: AddrSpaceQual: Global 163; CHECK-NEXT: - Size: 8 164; CHECK-NEXT: Align: 8 165; CHECK-NEXT: ValueKind: HiddenNone 166; CHECK-NEXT: AddrSpaceQual: Global 167; CHECK-NEXT: - Size: 8 168; CHECK-NEXT: Align: 8 169; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 170; CHECK-NEXT: AddrSpaceQual: Global 171define amdgpu_kernel void @test_ushort2(<2 x i16> %a) #0 172 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !10 173 !kernel_arg_base_type !10 !kernel_arg_type_qual !4 { 174 ret void 175} 176 177; CHECK: - Name: test_int3 178; CHECK-NEXT: SymbolName: 'test_int3@kd' 179; CHECK-NEXT: Language: OpenCL C 180; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 181; CHECK-NEXT: Args: 182; CHECK-NEXT: - Name: a 183; CHECK-NEXT: TypeName: int3 184; CHECK-NEXT: Size: 16 185; CHECK-NEXT: Align: 16 186; CHECK-NEXT: ValueKind: ByValue 187; CHECK-NEXT: AccQual: Default 188; CHECK-NEXT: - Size: 8 189; CHECK-NEXT: Align: 8 190; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 191; CHECK-NEXT: - Size: 8 192; CHECK-NEXT: Align: 8 193; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 194; CHECK-NEXT: - Size: 8 195; CHECK-NEXT: Align: 8 196; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 197; CHECK-NEXT: - Size: 8 198; CHECK-NEXT: Align: 8 199; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 200; CHECK-NEXT: AddrSpaceQual: Global 201; CHECK-NEXT: - Size: 8 202; CHECK-NEXT: Align: 8 203; CHECK-NEXT: ValueKind: HiddenNone 204; CHECK-NEXT: AddrSpaceQual: Global 205; CHECK-NEXT: - Size: 8 206; CHECK-NEXT: Align: 8 207; CHECK-NEXT: ValueKind: HiddenNone 208; CHECK-NEXT: AddrSpaceQual: Global 209; CHECK-NEXT: - Size: 8 210; CHECK-NEXT: Align: 8 211; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 212; CHECK-NEXT: AddrSpaceQual: Global 213define amdgpu_kernel void @test_int3(<3 x i32> %a) #0 214 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !11 215 !kernel_arg_base_type !11 !kernel_arg_type_qual !4 { 216 ret void 217} 218 219; CHECK: - Name: test_ulong4 220; CHECK-NEXT: SymbolName: 'test_ulong4@kd' 221; CHECK-NEXT: Language: OpenCL C 222; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 223; CHECK-NEXT: Args: 224; CHECK-NEXT: - Name: a 225; CHECK-NEXT: TypeName: ulong4 226; CHECK-NEXT: Size: 32 227; CHECK-NEXT: Align: 32 228; CHECK-NEXT: ValueKind: ByValue 229; CHECK-NEXT: AccQual: Default 230; CHECK-NEXT: - Size: 8 231; CHECK-NEXT: Align: 8 232; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 233; CHECK-NEXT: - Size: 8 234; CHECK-NEXT: Align: 8 235; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 236; CHECK-NEXT: - Size: 8 237; CHECK-NEXT: Align: 8 238; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 239; CHECK-NEXT: - Size: 8 240; CHECK-NEXT: Align: 8 241; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 242; CHECK-NEXT: AddrSpaceQual: Global 243; CHECK-NEXT: - Size: 8 244; CHECK-NEXT: Align: 8 245; CHECK-NEXT: ValueKind: HiddenNone 246; CHECK-NEXT: AddrSpaceQual: Global 247; CHECK-NEXT: - Size: 8 248; CHECK-NEXT: Align: 8 249; CHECK-NEXT: ValueKind: HiddenNone 250; CHECK-NEXT: AddrSpaceQual: Global 251; CHECK-NEXT: - Size: 8 252; CHECK-NEXT: Align: 8 253; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 254; CHECK-NEXT: AddrSpaceQual: Global 255define amdgpu_kernel void @test_ulong4(<4 x i64> %a) #0 256 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !12 257 !kernel_arg_base_type !12 !kernel_arg_type_qual !4 { 258 ret void 259} 260 261; CHECK: - Name: test_half8 262; CHECK-NEXT: SymbolName: 'test_half8@kd' 263; CHECK-NEXT: Language: OpenCL C 264; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 265; CHECK-NEXT: Args: 266; CHECK-NEXT: - Name: a 267; CHECK-NEXT: TypeName: half8 268; CHECK-NEXT: Size: 16 269; CHECK-NEXT: Align: 16 270; CHECK-NEXT: ValueKind: ByValue 271; CHECK-NEXT: AccQual: Default 272; CHECK-NEXT: - Size: 8 273; CHECK-NEXT: Align: 8 274; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 275; CHECK-NEXT: - Size: 8 276; CHECK-NEXT: Align: 8 277; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 278; CHECK-NEXT: - Size: 8 279; CHECK-NEXT: Align: 8 280; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 281; CHECK-NEXT: - Size: 8 282; CHECK-NEXT: Align: 8 283; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 284; CHECK-NEXT: AddrSpaceQual: Global 285; CHECK-NEXT: - Size: 8 286; CHECK-NEXT: Align: 8 287; CHECK-NEXT: ValueKind: HiddenNone 288; CHECK-NEXT: AddrSpaceQual: Global 289; CHECK-NEXT: - Size: 8 290; CHECK-NEXT: Align: 8 291; CHECK-NEXT: ValueKind: HiddenNone 292; CHECK-NEXT: AddrSpaceQual: Global 293; CHECK-NEXT: - Size: 8 294; CHECK-NEXT: Align: 8 295; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 296; CHECK-NEXT: AddrSpaceQual: Global 297define amdgpu_kernel void @test_half8(<8 x half> %a) #0 298 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !13 299 !kernel_arg_base_type !13 !kernel_arg_type_qual !4 { 300 ret void 301} 302 303; CHECK: - Name: test_float16 304; CHECK-NEXT: SymbolName: 'test_float16@kd' 305; CHECK-NEXT: Language: OpenCL C 306; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 307; CHECK-NEXT: Args: 308; CHECK-NEXT: - Name: a 309; CHECK-NEXT: TypeName: float16 310; CHECK-NEXT: Size: 64 311; CHECK-NEXT: Align: 64 312; CHECK-NEXT: ValueKind: ByValue 313; CHECK-NEXT: AccQual: Default 314; CHECK-NEXT: - Size: 8 315; CHECK-NEXT: Align: 8 316; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 317; CHECK-NEXT: - Size: 8 318; CHECK-NEXT: Align: 8 319; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 320; CHECK-NEXT: - Size: 8 321; CHECK-NEXT: Align: 8 322; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 323; CHECK-NEXT: - Size: 8 324; CHECK-NEXT: Align: 8 325; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 326; CHECK-NEXT: AddrSpaceQual: Global 327; CHECK-NEXT: - Size: 8 328; CHECK-NEXT: Align: 8 329; CHECK-NEXT: ValueKind: HiddenNone 330; CHECK-NEXT: AddrSpaceQual: Global 331; CHECK-NEXT: - Size: 8 332; CHECK-NEXT: Align: 8 333; CHECK-NEXT: ValueKind: HiddenNone 334; CHECK-NEXT: AddrSpaceQual: Global 335; CHECK-NEXT: - Size: 8 336; CHECK-NEXT: Align: 8 337; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 338; CHECK-NEXT: AddrSpaceQual: Global 339define amdgpu_kernel void @test_float16(<16 x float> %a) #0 340 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !14 341 !kernel_arg_base_type !14 !kernel_arg_type_qual !4 { 342 ret void 343} 344 345; CHECK: - Name: test_double16 346; CHECK-NEXT: SymbolName: 'test_double16@kd' 347; CHECK-NEXT: Language: OpenCL C 348; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 349; CHECK-NEXT: Args: 350; CHECK-NEXT: - Name: a 351; CHECK-NEXT: TypeName: double16 352; CHECK-NEXT: Size: 128 353; CHECK-NEXT: Align: 128 354; CHECK-NEXT: ValueKind: ByValue 355; CHECK-NEXT: AccQual: Default 356; CHECK-NEXT: - Size: 8 357; CHECK-NEXT: Align: 8 358; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 359; CHECK-NEXT: - Size: 8 360; CHECK-NEXT: Align: 8 361; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 362; CHECK-NEXT: - Size: 8 363; CHECK-NEXT: Align: 8 364; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 365; CHECK-NEXT: - Size: 8 366; CHECK-NEXT: Align: 8 367; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 368; CHECK-NEXT: AddrSpaceQual: Global 369; CHECK-NEXT: - Size: 8 370; CHECK-NEXT: Align: 8 371; CHECK-NEXT: ValueKind: HiddenNone 372; CHECK-NEXT: AddrSpaceQual: Global 373; CHECK-NEXT: - Size: 8 374; CHECK-NEXT: Align: 8 375; CHECK-NEXT: ValueKind: HiddenNone 376; CHECK-NEXT: AddrSpaceQual: Global 377; CHECK-NEXT: - Size: 8 378; CHECK-NEXT: Align: 8 379; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 380; CHECK-NEXT: AddrSpaceQual: Global 381define amdgpu_kernel void @test_double16(<16 x double> %a) #0 382 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !15 383 !kernel_arg_base_type !15 !kernel_arg_type_qual !4 { 384 ret void 385} 386 387; CHECK: - Name: test_pointer 388; CHECK-NEXT: SymbolName: 'test_pointer@kd' 389; CHECK-NEXT: Language: OpenCL C 390; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 391; CHECK-NEXT: Args: 392; CHECK-NEXT: - Name: a 393; CHECK-NEXT: TypeName: 'int addrspace(5)*' 394; CHECK-NEXT: Size: 8 395; CHECK-NEXT: Align: 8 396; CHECK-NEXT: ValueKind: GlobalBuffer 397; CHECK-NEXT: AddrSpaceQual: Global 398; CHECK-NEXT: AccQual: Default 399; CHECK-NEXT: - Size: 8 400; CHECK-NEXT: Align: 8 401; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 402; CHECK-NEXT: - Size: 8 403; CHECK-NEXT: Align: 8 404; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 405; CHECK-NEXT: - Size: 8 406; CHECK-NEXT: Align: 8 407; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 408; CHECK-NEXT: - Size: 8 409; CHECK-NEXT: Align: 8 410; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 411; CHECK-NEXT: AddrSpaceQual: Global 412; CHECK-NEXT: - Size: 8 413; CHECK-NEXT: Align: 8 414; CHECK-NEXT: ValueKind: HiddenNone 415; CHECK-NEXT: AddrSpaceQual: Global 416; CHECK-NEXT: - Size: 8 417; CHECK-NEXT: Align: 8 418; CHECK-NEXT: ValueKind: HiddenNone 419; CHECK-NEXT: AddrSpaceQual: Global 420; CHECK-NEXT: - Size: 8 421; CHECK-NEXT: Align: 8 422; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 423; CHECK-NEXT: AddrSpaceQual: Global 424define amdgpu_kernel void @test_pointer(i32 addrspace(1)* %a) #0 425 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !16 426 !kernel_arg_base_type !16 !kernel_arg_type_qual !4 { 427 ret void 428} 429 430; CHECK: - Name: test_image 431; CHECK-NEXT: SymbolName: 'test_image@kd' 432; CHECK-NEXT: Language: OpenCL C 433; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 434; CHECK-NEXT: Args: 435; CHECK-NEXT: - Name: a 436; CHECK-NEXT: TypeName: image2d_t 437; CHECK-NEXT: Size: 8 438; CHECK-NEXT: Align: 8 439; CHECK-NEXT: ValueKind: Image 440; CHECK-NEXT: AddrSpaceQual: Global 441; CHECK-NEXT: AccQual: Default 442; CHECK-NEXT: - Size: 8 443; CHECK-NEXT: Align: 8 444; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 445; CHECK-NEXT: - Size: 8 446; CHECK-NEXT: Align: 8 447; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 448; CHECK-NEXT: - Size: 8 449; CHECK-NEXT: Align: 8 450; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 451; CHECK-NEXT: - Size: 8 452; CHECK-NEXT: Align: 8 453; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 454; CHECK-NEXT: AddrSpaceQual: Global 455; CHECK-NEXT: - Size: 8 456; CHECK-NEXT: Align: 8 457; CHECK-NEXT: ValueKind: HiddenNone 458; CHECK-NEXT: AddrSpaceQual: Global 459; CHECK-NEXT: - Size: 8 460; CHECK-NEXT: Align: 8 461; CHECK-NEXT: ValueKind: HiddenNone 462; CHECK-NEXT: AddrSpaceQual: Global 463; CHECK-NEXT: - Size: 8 464; CHECK-NEXT: Align: 8 465; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 466; CHECK-NEXT: AddrSpaceQual: Global 467define amdgpu_kernel void @test_image(%opencl.image2d_t addrspace(1)* %a) #0 468 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !17 469 !kernel_arg_base_type !17 !kernel_arg_type_qual !4 { 470 ret void 471} 472 473; CHECK: - Name: test_sampler 474; CHECK-NEXT: SymbolName: 'test_sampler@kd' 475; CHECK-NEXT: Language: OpenCL C 476; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 477; CHECK-NEXT: Args: 478; CHECK-NEXT: - Name: a 479; CHECK-NEXT: TypeName: sampler_t 480; CHECK-NEXT: Size: 4 481; CHECK-NEXT: Align: 4 482; CHECK-NEXT: ValueKind: Sampler 483; CHECK-NEXT: AccQual: Default 484; CHECK-NEXT: - Size: 8 485; CHECK-NEXT: Align: 8 486; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 487; CHECK-NEXT: - Size: 8 488; CHECK-NEXT: Align: 8 489; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 490; CHECK-NEXT: - Size: 8 491; CHECK-NEXT: Align: 8 492; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 493; CHECK-NEXT: - Size: 8 494; CHECK-NEXT: Align: 8 495; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 496; CHECK-NEXT: AddrSpaceQual: Global 497; CHECK-NEXT: - Size: 8 498; CHECK-NEXT: Align: 8 499; CHECK-NEXT: ValueKind: HiddenNone 500; CHECK-NEXT: AddrSpaceQual: Global 501; CHECK-NEXT: - Size: 8 502; CHECK-NEXT: Align: 8 503; CHECK-NEXT: ValueKind: HiddenNone 504; CHECK-NEXT: AddrSpaceQual: Global 505; CHECK-NEXT: - Size: 8 506; CHECK-NEXT: Align: 8 507; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 508; CHECK-NEXT: AddrSpaceQual: Global 509define amdgpu_kernel void @test_sampler(i32 %a) #0 510 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !18 511 !kernel_arg_base_type !18 !kernel_arg_type_qual !4 { 512 ret void 513} 514 515; CHECK: - Name: test_queue 516; CHECK-NEXT: SymbolName: 'test_queue@kd' 517; CHECK-NEXT: Language: OpenCL C 518; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 519; CHECK-NEXT: Args: 520; CHECK-NEXT: - Name: a 521; CHECK-NEXT: TypeName: queue_t 522; CHECK-NEXT: Size: 8 523; CHECK-NEXT: Align: 8 524; CHECK-NEXT: ValueKind: Queue 525; CHECK-NEXT: AddrSpaceQual: Global 526; CHECK-NEXT: AccQual: Default 527; CHECK-NEXT: - Size: 8 528; CHECK-NEXT: Align: 8 529; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 530; CHECK-NEXT: - Size: 8 531; CHECK-NEXT: Align: 8 532; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 533; CHECK-NEXT: - Size: 8 534; CHECK-NEXT: Align: 8 535; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 536; CHECK-NEXT: - Size: 8 537; CHECK-NEXT: Align: 8 538; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 539; CHECK-NEXT: AddrSpaceQual: Global 540; CHECK-NEXT: - Size: 8 541; CHECK-NEXT: Align: 8 542; CHECK-NEXT: ValueKind: HiddenNone 543; CHECK-NEXT: AddrSpaceQual: Global 544; CHECK-NEXT: - Size: 8 545; CHECK-NEXT: Align: 8 546; CHECK-NEXT: ValueKind: HiddenNone 547; CHECK-NEXT: AddrSpaceQual: Global 548; CHECK-NEXT: - Size: 8 549; CHECK-NEXT: Align: 8 550; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 551; CHECK-NEXT: AddrSpaceQual: Global 552define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) #0 553 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !19 554 !kernel_arg_base_type !19 !kernel_arg_type_qual !4 { 555 ret void 556} 557 558; CHECK: - Name: test_struct 559; CHECK-NEXT: SymbolName: 'test_struct@kd' 560; CHECK-NEXT: Language: OpenCL C 561; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 562; CHECK-NEXT: Args: 563; CHECK-NEXT: - Name: a 564; CHECK-NEXT: TypeName: struct A 565; CHECK-NEXT: Size: 8 566; CHECK-NEXT: Align: 4 567; CHECK-NEXT: ValueKind: ByValue 568; CHECK-NEXT: AccQual: Default 569; CHECK-NEXT: - Size: 8 570; CHECK-NEXT: Align: 8 571; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 572; CHECK-NEXT: - Size: 8 573; CHECK-NEXT: Align: 8 574; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 575; CHECK-NEXT: - Size: 8 576; CHECK-NEXT: Align: 8 577; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 578; CHECK-NEXT: - Size: 8 579; CHECK-NEXT: Align: 8 580; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 581; CHECK-NEXT: AddrSpaceQual: Global 582; CHECK-NEXT: - Size: 8 583; CHECK-NEXT: Align: 8 584; CHECK-NEXT: ValueKind: HiddenNone 585; CHECK-NEXT: AddrSpaceQual: Global 586; CHECK-NEXT: - Size: 8 587; CHECK-NEXT: Align: 8 588; CHECK-NEXT: ValueKind: HiddenNone 589; CHECK-NEXT: AddrSpaceQual: Global 590; CHECK-NEXT: - Size: 8 591; CHECK-NEXT: Align: 8 592; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 593; CHECK-NEXT: AddrSpaceQual: Global 594define amdgpu_kernel void @test_struct(%struct.A %a) #0 595 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20 596 !kernel_arg_base_type !20 !kernel_arg_type_qual !4 { 597 ret void 598} 599 600; CHECK: - Name: test_struct_byref_constant 601; CHECK-NEXT: SymbolName: 'test_struct_byref_constant@kd' 602; CHECK-NEXT: Language: OpenCL C 603; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 604; CHECK-NEXT: Args: 605; CHECK-NEXT: - Name: a 606; CHECK-NEXT: TypeName: struct A 607; CHECK-NEXT: Size: 8 608; CHECK-NEXT: Align: 4 609; CHECK-NEXT: ValueKind: ByValue 610; CHECK-NEXT: AccQual: Default 611; CHECK-NEXT: - Size: 8 612; CHECK-NEXT: Align: 8 613; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 614; CHECK-NEXT: - Size: 8 615; CHECK-NEXT: Align: 8 616; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 617; CHECK-NEXT: - Size: 8 618; CHECK-NEXT: Align: 8 619; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 620; CHECK-NEXT: - Size: 8 621; CHECK-NEXT: Align: 8 622; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 623; CHECK-NEXT: AddrSpaceQual: Global 624; CHECK-NEXT: - Size: 8 625; CHECK-NEXT: Align: 8 626; CHECK-NEXT: ValueKind: HiddenNone 627; CHECK-NEXT: AddrSpaceQual: Global 628; CHECK-NEXT: - Size: 8 629; CHECK-NEXT: Align: 8 630; CHECK-NEXT: ValueKind: HiddenNone 631; CHECK-NEXT: AddrSpaceQual: Global 632; CHECK-NEXT: - Size: 8 633; CHECK-NEXT: Align: 8 634; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 635; CHECK-NEXT: AddrSpaceQual: Global 636define amdgpu_kernel void @test_struct_byref_constant(%struct.A addrspace(4)* byref(%struct.A) %a) #0 637 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20 638 !kernel_arg_base_type !20 !kernel_arg_type_qual !4 { 639 ret void 640} 641 642; CHECK: - Name: test_array 643; CHECK-NEXT: SymbolName: 'test_array@kd' 644; CHECK-NEXT: Language: OpenCL C 645; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 646; CHECK-NEXT: Args: 647; CHECK-NEXT: - Name: a 648; CHECK-NEXT: TypeName: struct A 649; CHECK-NEXT: Size: 8 650; CHECK-NEXT: Align: 1 651; CHECK-NEXT: ValueKind: ByValue 652; CHECK-NEXT: AccQual: Default 653; CHECK-NEXT: - Size: 8 654; CHECK-NEXT: Align: 8 655; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 656; CHECK-NEXT: - Size: 8 657; CHECK-NEXT: Align: 8 658; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 659; CHECK-NEXT: - Size: 8 660; CHECK-NEXT: Align: 8 661; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 662; CHECK-NEXT: - Size: 8 663; CHECK-NEXT: Align: 8 664; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 665; CHECK-NEXT: AddrSpaceQual: Global 666; CHECK-NEXT: - Size: 8 667; CHECK-NEXT: Align: 8 668; CHECK-NEXT: ValueKind: HiddenNone 669; CHECK-NEXT: AddrSpaceQual: Global 670; CHECK-NEXT: - Size: 8 671; CHECK-NEXT: Align: 8 672; CHECK-NEXT: ValueKind: HiddenNone 673; CHECK-NEXT: AddrSpaceQual: Global 674; CHECK-NEXT: - Size: 8 675; CHECK-NEXT: Align: 8 676; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 677; CHECK-NEXT: AddrSpaceQual: Global 678define amdgpu_kernel void @test_array([8 x i8] %a) #0 679 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20 680 !kernel_arg_base_type !20 !kernel_arg_type_qual !4 { 681 ret void 682} 683 684; CHECK: - Name: test_array_byref_constant 685; CHECK-NEXT: SymbolName: 'test_array_byref_constant@kd' 686; CHECK-NEXT: Language: OpenCL C 687; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 688; CHECK-NEXT: Args: 689; CHECK-NEXT: - Name: a 690; CHECK-NEXT: TypeName: struct A 691; CHECK-NEXT: Size: 8 692; CHECK-NEXT: Align: 1 693; CHECK-NEXT: ValueKind: ByValue 694; CHECK-NEXT: AccQual: Default 695; CHECK-NEXT: - Size: 8 696; CHECK-NEXT: Align: 8 697; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 698; CHECK-NEXT: - Size: 8 699; CHECK-NEXT: Align: 8 700; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 701; CHECK-NEXT: - Size: 8 702; CHECK-NEXT: Align: 8 703; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 704; CHECK-NEXT: - Size: 8 705; CHECK-NEXT: Align: 8 706; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 707; CHECK-NEXT: AddrSpaceQual: Global 708; CHECK-NEXT: - Size: 8 709; CHECK-NEXT: Align: 8 710; CHECK-NEXT: ValueKind: HiddenNone 711; CHECK-NEXT: AddrSpaceQual: Global 712; CHECK-NEXT: - Size: 8 713; CHECK-NEXT: Align: 8 714; CHECK-NEXT: ValueKind: HiddenNone 715; CHECK-NEXT: AddrSpaceQual: Global 716; CHECK-NEXT: - Size: 8 717; CHECK-NEXT: Align: 8 718; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 719; CHECK-NEXT: AddrSpaceQual: Global 720define amdgpu_kernel void @test_array_byref_constant([8 x i8] addrspace(4)* byref([8 x i8]) %a) #0 721 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20 722 !kernel_arg_base_type !20 !kernel_arg_type_qual !4 { 723 ret void 724} 725 726; CHECK: - Name: test_i128 727; CHECK-NEXT: SymbolName: 'test_i128@kd' 728; CHECK-NEXT: Language: OpenCL C 729; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 730; CHECK-NEXT: Args: 731; CHECK-NEXT: - Name: a 732; CHECK-NEXT: TypeName: i128 733; CHECK-NEXT: Size: 16 734; CHECK-NEXT: Align: 8 735; CHECK-NEXT: ValueKind: ByValue 736; CHECK-NEXT: AccQual: Default 737; CHECK-NEXT: - Size: 8 738; CHECK-NEXT: Align: 8 739; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 740; CHECK-NEXT: - Size: 8 741; CHECK-NEXT: Align: 8 742; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 743; CHECK-NEXT: - Size: 8 744; CHECK-NEXT: Align: 8 745; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 746; CHECK-NEXT: - Size: 8 747; CHECK-NEXT: Align: 8 748; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 749; CHECK-NEXT: AddrSpaceQual: Global 750; CHECK-NEXT: - Size: 8 751; CHECK-NEXT: Align: 8 752; CHECK-NEXT: ValueKind: HiddenNone 753; CHECK-NEXT: AddrSpaceQual: Global 754; CHECK-NEXT: - Size: 8 755; CHECK-NEXT: Align: 8 756; CHECK-NEXT: ValueKind: HiddenNone 757; CHECK-NEXT: AddrSpaceQual: Global 758; CHECK-NEXT: - Size: 8 759; CHECK-NEXT: Align: 8 760; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 761; CHECK-NEXT: AddrSpaceQual: Global 762define amdgpu_kernel void @test_i128(i128 %a) #0 763 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !21 764 !kernel_arg_base_type !21 !kernel_arg_type_qual !4 { 765 ret void 766} 767 768; CHECK: - Name: test_multi_arg 769; CHECK-NEXT: SymbolName: 'test_multi_arg@kd' 770; CHECK-NEXT: Language: OpenCL C 771; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 772; CHECK-NEXT: Args: 773; CHECK-NEXT: - Name: a 774; CHECK-NEXT: TypeName: int 775; CHECK-NEXT: Size: 4 776; CHECK-NEXT: Align: 4 777; CHECK-NEXT: ValueKind: ByValue 778; CHECK-NEXT: AccQual: Default 779; CHECK-NEXT: - Name: b 780; CHECK-NEXT: TypeName: short2 781; CHECK-NEXT: Size: 4 782; CHECK-NEXT: Align: 4 783; CHECK-NEXT: ValueKind: ByValue 784; CHECK-NEXT: AccQual: Default 785; CHECK-NEXT: - Name: c 786; CHECK-NEXT: TypeName: char3 787; CHECK-NEXT: Size: 4 788; CHECK-NEXT: Align: 4 789; CHECK-NEXT: ValueKind: ByValue 790; CHECK-NEXT: AccQual: Default 791; CHECK-NEXT: - Size: 8 792; CHECK-NEXT: Align: 8 793; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 794; CHECK-NEXT: - Size: 8 795; CHECK-NEXT: Align: 8 796; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 797; CHECK-NEXT: - Size: 8 798; CHECK-NEXT: Align: 8 799; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 800; CHECK-NEXT: - Size: 8 801; CHECK-NEXT: Align: 8 802; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 803; CHECK-NEXT: AddrSpaceQual: Global 804; CHECK-NEXT: - Size: 8 805; CHECK-NEXT: Align: 8 806; CHECK-NEXT: ValueKind: HiddenNone 807; CHECK-NEXT: AddrSpaceQual: Global 808; CHECK-NEXT: - Size: 8 809; CHECK-NEXT: Align: 8 810; CHECK-NEXT: ValueKind: HiddenNone 811; CHECK-NEXT: AddrSpaceQual: Global 812; CHECK-NEXT: - Size: 8 813; CHECK-NEXT: Align: 8 814; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 815; CHECK-NEXT: AddrSpaceQual: Global 816define amdgpu_kernel void @test_multi_arg(i32 %a, <2 x i16> %b, <3 x i8> %c) #0 817 !kernel_arg_addr_space !22 !kernel_arg_access_qual !23 !kernel_arg_type !24 818 !kernel_arg_base_type !24 !kernel_arg_type_qual !25 { 819 ret void 820} 821 822; CHECK: - Name: test_addr_space 823; CHECK-NEXT: SymbolName: 'test_addr_space@kd' 824; CHECK-NEXT: Language: OpenCL C 825; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 826; CHECK-NEXT: Args: 827; CHECK-NEXT: - Name: g 828; CHECK-NEXT: TypeName: 'int addrspace(5)*' 829; CHECK-NEXT: Size: 8 830; CHECK-NEXT: Align: 8 831; CHECK-NEXT: ValueKind: GlobalBuffer 832; CHECK-NEXT: AddrSpaceQual: Global 833; CHECK-NEXT: AccQual: Default 834; CHECK-NEXT: - Name: c 835; CHECK-NEXT: TypeName: 'int addrspace(5)*' 836; CHECK-NEXT: Size: 8 837; CHECK-NEXT: Align: 8 838; CHECK-NEXT: ValueKind: GlobalBuffer 839; CHECK-NEXT: AddrSpaceQual: Constant 840; CHECK-NEXT: AccQual: Default 841; CHECK-NEXT: - Name: l 842; CHECK-NEXT: TypeName: 'int addrspace(5)*' 843; CHECK-NEXT: Size: 4 844; CHECK-NEXT: Align: 4 845; CHECK-NEXT: ValueKind: DynamicSharedPointer 846; CHECK-NEXT: PointeeAlign: 4 847; CHECK-NEXT: AddrSpaceQual: Local 848; CHECK-NEXT: AccQual: Default 849; CHECK-NEXT: - Size: 8 850; CHECK-NEXT: Align: 8 851; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 852; CHECK-NEXT: - Size: 8 853; CHECK-NEXT: Align: 8 854; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 855; CHECK-NEXT: - Size: 8 856; CHECK-NEXT: Align: 8 857; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 858; CHECK-NEXT: - Size: 8 859; CHECK-NEXT: Align: 8 860; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 861; CHECK-NEXT: AddrSpaceQual: Global 862; CHECK-NEXT: - Size: 8 863; CHECK-NEXT: Align: 8 864; CHECK-NEXT: ValueKind: HiddenNone 865; CHECK-NEXT: AddrSpaceQual: Global 866; CHECK-NEXT: - Size: 8 867; CHECK-NEXT: Align: 8 868; CHECK-NEXT: ValueKind: HiddenNone 869; CHECK-NEXT: AddrSpaceQual: Global 870; CHECK-NEXT: - Size: 8 871; CHECK-NEXT: Align: 8 872; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 873; CHECK-NEXT: AddrSpaceQual: Global 874define amdgpu_kernel void @test_addr_space(i32 addrspace(1)* %g, 875 i32 addrspace(4)* %c, 876 i32 addrspace(3)* %l) #0 877 !kernel_arg_addr_space !50 !kernel_arg_access_qual !23 !kernel_arg_type !51 878 !kernel_arg_base_type !51 !kernel_arg_type_qual !25 { 879 ret void 880} 881 882; CHECK: - Name: test_type_qual 883; CHECK-NEXT: SymbolName: 'test_type_qual@kd' 884; CHECK-NEXT: Language: OpenCL C 885; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 886; CHECK-NEXT: Args: 887; CHECK-NEXT: - Name: a 888; CHECK-NEXT: TypeName: 'int addrspace(5)*' 889; CHECK-NEXT: Size: 8 890; CHECK-NEXT: Align: 8 891; CHECK-NEXT: ValueKind: GlobalBuffer 892; CHECK-NEXT: AddrSpaceQual: Global 893; CHECK-NEXT: AccQual: Default 894; CHECK-NEXT: IsVolatile: true 895; CHECK-NEXT: - Name: b 896; CHECK-NEXT: TypeName: 'int addrspace(5)*' 897; CHECK-NEXT: Size: 8 898; CHECK-NEXT: Align: 8 899; CHECK-NEXT: ValueKind: GlobalBuffer 900; CHECK-NEXT: AddrSpaceQual: Global 901; CHECK-NEXT: AccQual: Default 902; CHECK-NEXT: IsConst: true 903; CHECK-NEXT: IsRestrict: true 904; CHECK-NEXT: - Name: c 905; CHECK-NEXT: TypeName: 'int addrspace(5)*' 906; CHECK-NEXT: Size: 8 907; CHECK-NEXT: Align: 8 908; CHECK-NEXT: ValueKind: Pipe 909; CHECK-NEXT: AddrSpaceQual: Global 910; CHECK-NEXT: AccQual: Default 911; CHECK-NEXT: IsPipe: true 912; CHECK-NEXT: - Size: 8 913; CHECK-NEXT: Align: 8 914; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 915; CHECK-NEXT: - Size: 8 916; CHECK-NEXT: Align: 8 917; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 918; CHECK-NEXT: - Size: 8 919; CHECK-NEXT: Align: 8 920; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 921; CHECK-NEXT: - Size: 8 922; CHECK-NEXT: Align: 8 923; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 924; CHECK-NEXT: AddrSpaceQual: Global 925; CHECK-NEXT: - Size: 8 926; CHECK-NEXT: Align: 8 927; CHECK-NEXT: ValueKind: HiddenNone 928; CHECK-NEXT: AddrSpaceQual: Global 929; CHECK-NEXT: - Size: 8 930; CHECK-NEXT: Align: 8 931; CHECK-NEXT: ValueKind: HiddenNone 932; CHECK-NEXT: AddrSpaceQual: Global 933; CHECK-NEXT: - Size: 8 934; CHECK-NEXT: Align: 8 935; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 936; CHECK-NEXT: AddrSpaceQual: Global 937define amdgpu_kernel void @test_type_qual(i32 addrspace(1)* %a, 938 i32 addrspace(1)* %b, 939 %opencl.pipe_t addrspace(1)* %c) #0 940 !kernel_arg_addr_space !22 !kernel_arg_access_qual !23 !kernel_arg_type !51 941 !kernel_arg_base_type !51 !kernel_arg_type_qual !70 { 942 ret void 943} 944 945; CHECK: - Name: test_access_qual 946; CHECK-NEXT: SymbolName: 'test_access_qual@kd' 947; CHECK-NEXT: Language: OpenCL C 948; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 949; CHECK-NEXT: Args: 950; CHECK-NEXT: - Name: ro 951; CHECK-NEXT: TypeName: image1d_t 952; CHECK-NEXT: Size: 8 953; CHECK-NEXT: Align: 8 954; CHECK-NEXT: ValueKind: Image 955; CHECK-NEXT: AddrSpaceQual: Global 956; CHECK-NEXT: AccQual: ReadOnly 957; CHECK-NEXT: - Name: wo 958; CHECK-NEXT: TypeName: image2d_t 959; CHECK-NEXT: Size: 8 960; CHECK-NEXT: Align: 8 961; CHECK-NEXT: ValueKind: Image 962; CHECK-NEXT: AddrSpaceQual: Global 963; CHECK-NEXT: AccQual: WriteOnly 964; CHECK-NEXT: - Name: rw 965; CHECK-NEXT: TypeName: image3d_t 966; CHECK-NEXT: Size: 8 967; CHECK-NEXT: Align: 8 968; CHECK-NEXT: ValueKind: Image 969; CHECK-NEXT: AddrSpaceQual: Global 970; CHECK-NEXT: AccQual: ReadWrite 971; CHECK-NEXT: - Size: 8 972; CHECK-NEXT: Align: 8 973; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 974; CHECK-NEXT: - Size: 8 975; CHECK-NEXT: Align: 8 976; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 977; CHECK-NEXT: - Size: 8 978; CHECK-NEXT: Align: 8 979; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 980; CHECK-NEXT: - Size: 8 981; CHECK-NEXT: Align: 8 982; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 983; CHECK-NEXT: AddrSpaceQual: Global 984; CHECK-NEXT: - Size: 8 985; CHECK-NEXT: Align: 8 986; CHECK-NEXT: ValueKind: HiddenNone 987; CHECK-NEXT: AddrSpaceQual: Global 988; CHECK-NEXT: - Size: 8 989; CHECK-NEXT: Align: 8 990; CHECK-NEXT: ValueKind: HiddenNone 991; CHECK-NEXT: AddrSpaceQual: Global 992; CHECK-NEXT: - Size: 8 993; CHECK-NEXT: Align: 8 994; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 995; CHECK-NEXT: AddrSpaceQual: Global 996define amdgpu_kernel void @test_access_qual(%opencl.image1d_t addrspace(1)* %ro, 997 %opencl.image2d_t addrspace(1)* %wo, 998 %opencl.image3d_t addrspace(1)* %rw) #0 999 !kernel_arg_addr_space !60 !kernel_arg_access_qual !61 !kernel_arg_type !62 1000 !kernel_arg_base_type !62 !kernel_arg_type_qual !25 { 1001 ret void 1002} 1003 1004; CHECK: - Name: test_vec_type_hint_half 1005; CHECK-NEXT: SymbolName: 'test_vec_type_hint_half@kd' 1006; CHECK-NEXT: Language: OpenCL C 1007; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1008; CHECK-NEXT: Attrs: 1009; CHECK-NEXT: VecTypeHint: half 1010; CHECK-NEXT: Args: 1011; CHECK-NEXT: - Name: a 1012; CHECK-NEXT: TypeName: int 1013; CHECK-NEXT: Size: 4 1014; CHECK-NEXT: Align: 4 1015; CHECK-NEXT: ValueKind: ByValue 1016; CHECK-NEXT: AccQual: Default 1017; CHECK-NEXT: - Size: 8 1018; CHECK-NEXT: Align: 8 1019; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1020; CHECK-NEXT: - Size: 8 1021; CHECK-NEXT: Align: 8 1022; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1023; CHECK-NEXT: - Size: 8 1024; CHECK-NEXT: Align: 8 1025; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1026; CHECK-NEXT: - Size: 8 1027; CHECK-NEXT: Align: 8 1028; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1029; CHECK-NEXT: AddrSpaceQual: Global 1030; CHECK-NEXT: - Size: 8 1031; CHECK-NEXT: Align: 8 1032; CHECK-NEXT: ValueKind: HiddenNone 1033; CHECK-NEXT: AddrSpaceQual: Global 1034; CHECK-NEXT: - Size: 8 1035; CHECK-NEXT: Align: 8 1036; CHECK-NEXT: ValueKind: HiddenNone 1037; CHECK-NEXT: AddrSpaceQual: Global 1038; CHECK-NEXT: - Size: 8 1039; CHECK-NEXT: Align: 8 1040; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1041; CHECK-NEXT: AddrSpaceQual: Global 1042define amdgpu_kernel void @test_vec_type_hint_half(i32 %a) #0 1043 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1044 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !26 { 1045 ret void 1046} 1047 1048; CHECK: - Name: test_vec_type_hint_float 1049; CHECK-NEXT: SymbolName: 'test_vec_type_hint_float@kd' 1050; CHECK-NEXT: Language: OpenCL C 1051; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1052; CHECK-NEXT: Attrs: 1053; CHECK-NEXT: VecTypeHint: float 1054; CHECK-NEXT: Args: 1055; CHECK-NEXT: - Name: a 1056; CHECK-NEXT: TypeName: int 1057; CHECK-NEXT: Size: 4 1058; CHECK-NEXT: Align: 4 1059; CHECK-NEXT: ValueKind: ByValue 1060; CHECK-NEXT: AccQual: Default 1061; CHECK-NEXT: - Size: 8 1062; CHECK-NEXT: Align: 8 1063; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1064; CHECK-NEXT: - Size: 8 1065; CHECK-NEXT: Align: 8 1066; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1067; CHECK-NEXT: - Size: 8 1068; CHECK-NEXT: Align: 8 1069; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1070; CHECK-NEXT: - Size: 8 1071; CHECK-NEXT: Align: 8 1072; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1073; CHECK-NEXT: AddrSpaceQual: Global 1074; CHECK-NEXT: - Size: 8 1075; CHECK-NEXT: Align: 8 1076; CHECK-NEXT: ValueKind: HiddenNone 1077; CHECK-NEXT: AddrSpaceQual: Global 1078; CHECK-NEXT: - Size: 8 1079; CHECK-NEXT: Align: 8 1080; CHECK-NEXT: ValueKind: HiddenNone 1081; CHECK-NEXT: AddrSpaceQual: Global 1082; CHECK-NEXT: - Size: 8 1083; CHECK-NEXT: Align: 8 1084; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1085; CHECK-NEXT: AddrSpaceQual: Global 1086define amdgpu_kernel void @test_vec_type_hint_float(i32 %a) #0 1087 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1088 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !27 { 1089 ret void 1090} 1091 1092; CHECK: - Name: test_vec_type_hint_double 1093; CHECK-NEXT: SymbolName: 'test_vec_type_hint_double@kd' 1094; CHECK-NEXT: Language: OpenCL C 1095; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1096; CHECK-NEXT: Attrs: 1097; CHECK-NEXT: VecTypeHint: double 1098; CHECK-NEXT: Args: 1099; CHECK-NEXT: - Name: a 1100; CHECK-NEXT: TypeName: int 1101; CHECK-NEXT: Size: 4 1102; CHECK-NEXT: Align: 4 1103; CHECK-NEXT: ValueKind: ByValue 1104; CHECK-NEXT: AccQual: Default 1105; CHECK-NEXT: - Size: 8 1106; CHECK-NEXT: Align: 8 1107; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1108; CHECK-NEXT: - Size: 8 1109; CHECK-NEXT: Align: 8 1110; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1111; CHECK-NEXT: - Size: 8 1112; CHECK-NEXT: Align: 8 1113; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1114; CHECK-NEXT: - Size: 8 1115; CHECK-NEXT: Align: 8 1116; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1117; CHECK-NEXT: AddrSpaceQual: Global 1118; CHECK-NEXT: - Size: 8 1119; CHECK-NEXT: Align: 8 1120; CHECK-NEXT: ValueKind: HiddenNone 1121; CHECK-NEXT: AddrSpaceQual: Global 1122; CHECK-NEXT: - Size: 8 1123; CHECK-NEXT: Align: 8 1124; CHECK-NEXT: ValueKind: HiddenNone 1125; CHECK-NEXT: AddrSpaceQual: Global 1126; CHECK-NEXT: - Size: 8 1127; CHECK-NEXT: Align: 8 1128; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1129; CHECK-NEXT: AddrSpaceQual: Global 1130define amdgpu_kernel void @test_vec_type_hint_double(i32 %a) #0 1131 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1132 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !28 { 1133 ret void 1134} 1135 1136; CHECK: - Name: test_vec_type_hint_char 1137; CHECK-NEXT: SymbolName: 'test_vec_type_hint_char@kd' 1138; CHECK-NEXT: Language: OpenCL C 1139; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1140; CHECK-NEXT: Attrs: 1141; CHECK-NEXT: VecTypeHint: char 1142; CHECK-NEXT: Args: 1143; CHECK-NEXT: - Name: a 1144; CHECK-NEXT: TypeName: int 1145; CHECK-NEXT: Size: 4 1146; CHECK-NEXT: Align: 4 1147; CHECK-NEXT: ValueKind: ByValue 1148; CHECK-NEXT: AccQual: Default 1149; CHECK-NEXT: - Size: 8 1150; CHECK-NEXT: Align: 8 1151; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1152; CHECK-NEXT: - Size: 8 1153; CHECK-NEXT: Align: 8 1154; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1155; CHECK-NEXT: - Size: 8 1156; CHECK-NEXT: Align: 8 1157; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1158; CHECK-NEXT: - Size: 8 1159; CHECK-NEXT: Align: 8 1160; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1161; CHECK-NEXT: AddrSpaceQual: Global 1162; CHECK-NEXT: - Size: 8 1163; CHECK-NEXT: Align: 8 1164; CHECK-NEXT: ValueKind: HiddenNone 1165; CHECK-NEXT: AddrSpaceQual: Global 1166; CHECK-NEXT: - Size: 8 1167; CHECK-NEXT: Align: 8 1168; CHECK-NEXT: ValueKind: HiddenNone 1169; CHECK-NEXT: AddrSpaceQual: Global 1170; CHECK-NEXT: - Size: 8 1171; CHECK-NEXT: Align: 8 1172; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1173; CHECK-NEXT: AddrSpaceQual: Global 1174define amdgpu_kernel void @test_vec_type_hint_char(i32 %a) #0 1175 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1176 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !29 { 1177 ret void 1178} 1179 1180; CHECK: - Name: test_vec_type_hint_short 1181; CHECK-NEXT: SymbolName: 'test_vec_type_hint_short@kd' 1182; CHECK-NEXT: Language: OpenCL C 1183; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1184; CHECK-NEXT: Attrs: 1185; CHECK-NEXT: VecTypeHint: short 1186; CHECK-NEXT: Args: 1187; CHECK-NEXT: - Name: a 1188; CHECK-NEXT: TypeName: int 1189; CHECK-NEXT: Size: 4 1190; CHECK-NEXT: Align: 4 1191; CHECK-NEXT: ValueKind: ByValue 1192; CHECK-NEXT: AccQual: Default 1193; CHECK-NEXT: - Size: 8 1194; CHECK-NEXT: Align: 8 1195; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1196; CHECK-NEXT: - Size: 8 1197; CHECK-NEXT: Align: 8 1198; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1199; CHECK-NEXT: - Size: 8 1200; CHECK-NEXT: Align: 8 1201; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1202; CHECK-NEXT: - Size: 8 1203; CHECK-NEXT: Align: 8 1204; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1205; CHECK-NEXT: AddrSpaceQual: Global 1206; CHECK-NEXT: - Size: 8 1207; CHECK-NEXT: Align: 8 1208; CHECK-NEXT: ValueKind: HiddenNone 1209; CHECK-NEXT: AddrSpaceQual: Global 1210; CHECK-NEXT: - Size: 8 1211; CHECK-NEXT: Align: 8 1212; CHECK-NEXT: ValueKind: HiddenNone 1213; CHECK-NEXT: AddrSpaceQual: Global 1214; CHECK-NEXT: - Size: 8 1215; CHECK-NEXT: Align: 8 1216; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1217; CHECK-NEXT: AddrSpaceQual: Global 1218define amdgpu_kernel void @test_vec_type_hint_short(i32 %a) #0 1219 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1220 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !30 { 1221 ret void 1222} 1223 1224; CHECK: - Name: test_vec_type_hint_long 1225; CHECK-NEXT: SymbolName: 'test_vec_type_hint_long@kd' 1226; CHECK-NEXT: Language: OpenCL C 1227; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1228; CHECK-NEXT: Attrs: 1229; CHECK-NEXT: VecTypeHint: long 1230; CHECK-NEXT: Args: 1231; CHECK-NEXT: - Name: a 1232; CHECK-NEXT: TypeName: int 1233; CHECK-NEXT: Size: 4 1234; CHECK-NEXT: Align: 4 1235; CHECK-NEXT: ValueKind: ByValue 1236; CHECK-NEXT: AccQual: Default 1237; CHECK-NEXT: - Size: 8 1238; CHECK-NEXT: Align: 8 1239; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1240; CHECK-NEXT: - Size: 8 1241; CHECK-NEXT: Align: 8 1242; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1243; CHECK-NEXT: - Size: 8 1244; CHECK-NEXT: Align: 8 1245; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1246; CHECK-NEXT: - Size: 8 1247; CHECK-NEXT: Align: 8 1248; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1249; CHECK-NEXT: AddrSpaceQual: Global 1250; CHECK-NEXT: - Size: 8 1251; CHECK-NEXT: Align: 8 1252; CHECK-NEXT: ValueKind: HiddenNone 1253; CHECK-NEXT: AddrSpaceQual: Global 1254; CHECK-NEXT: - Size: 8 1255; CHECK-NEXT: Align: 8 1256; CHECK-NEXT: ValueKind: HiddenNone 1257; CHECK-NEXT: AddrSpaceQual: Global 1258; CHECK-NEXT: - Size: 8 1259; CHECK-NEXT: Align: 8 1260; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1261; CHECK-NEXT: AddrSpaceQual: Global 1262define amdgpu_kernel void @test_vec_type_hint_long(i32 %a) #0 1263 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1264 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !31 { 1265 ret void 1266} 1267 1268; CHECK: - Name: test_vec_type_hint_unknown 1269; CHECK-NEXT: SymbolName: 'test_vec_type_hint_unknown@kd' 1270; CHECK-NEXT: Language: OpenCL C 1271; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1272; CHECK-NEXT: Attrs: 1273; CHECK-NEXT: VecTypeHint: unknown 1274; CHECK-NEXT: Args: 1275; CHECK-NEXT: - Name: a 1276; CHECK-NEXT: TypeName: int 1277; CHECK-NEXT: Size: 4 1278; CHECK-NEXT: Align: 4 1279; CHECK-NEXT: ValueKind: ByValue 1280; CHECK-NEXT: AccQual: Default 1281; CHECK-NEXT: - Size: 8 1282; CHECK-NEXT: Align: 8 1283; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1284; CHECK-NEXT: - Size: 8 1285; CHECK-NEXT: Align: 8 1286; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1287; CHECK-NEXT: - Size: 8 1288; CHECK-NEXT: Align: 8 1289; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1290; CHECK-NEXT: - Size: 8 1291; CHECK-NEXT: Align: 8 1292; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1293; CHECK-NEXT: AddrSpaceQual: Global 1294; CHECK-NEXT: - Size: 8 1295; CHECK-NEXT: Align: 8 1296; CHECK-NEXT: ValueKind: HiddenNone 1297; CHECK-NEXT: AddrSpaceQual: Global 1298; CHECK-NEXT: - Size: 8 1299; CHECK-NEXT: Align: 8 1300; CHECK-NEXT: ValueKind: HiddenNone 1301; CHECK-NEXT: AddrSpaceQual: Global 1302; CHECK-NEXT: - Size: 8 1303; CHECK-NEXT: Align: 8 1304; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1305; CHECK-NEXT: AddrSpaceQual: Global 1306define amdgpu_kernel void @test_vec_type_hint_unknown(i32 %a) #0 1307 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1308 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !32 { 1309 ret void 1310} 1311 1312; CHECK: - Name: test_reqd_wgs_vec_type_hint 1313; CHECK-NEXT: SymbolName: 'test_reqd_wgs_vec_type_hint@kd' 1314; CHECK-NEXT: Language: OpenCL C 1315; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1316; CHECK-NEXT: Attrs: 1317; CHECK-NEXT: ReqdWorkGroupSize: [ 1, 2, 4 ] 1318; CHECK-NEXT: VecTypeHint: int 1319; CHECK-NEXT: Args: 1320; CHECK-NEXT: - Name: a 1321; CHECK-NEXT: TypeName: int 1322; CHECK-NEXT: Size: 4 1323; CHECK-NEXT: Align: 4 1324; CHECK-NEXT: ValueKind: ByValue 1325; CHECK-NEXT: AccQual: Default 1326; CHECK-NEXT: - Size: 8 1327; CHECK-NEXT: Align: 8 1328; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1329; CHECK-NEXT: - Size: 8 1330; CHECK-NEXT: Align: 8 1331; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1332; CHECK-NEXT: - Size: 8 1333; CHECK-NEXT: Align: 8 1334; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1335; CHECK-NEXT: - Size: 8 1336; CHECK-NEXT: Align: 8 1337; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1338; CHECK-NEXT: AddrSpaceQual: Global 1339; CHECK-NEXT: - Size: 8 1340; CHECK-NEXT: Align: 8 1341; CHECK-NEXT: ValueKind: HiddenNone 1342; CHECK-NEXT: AddrSpaceQual: Global 1343; CHECK-NEXT: - Size: 8 1344; CHECK-NEXT: Align: 8 1345; CHECK-NEXT: ValueKind: HiddenNone 1346; CHECK-NEXT: AddrSpaceQual: Global 1347; CHECK-NEXT: - Size: 8 1348; CHECK-NEXT: Align: 8 1349; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1350; CHECK-NEXT: AddrSpaceQual: Global 1351define amdgpu_kernel void @test_reqd_wgs_vec_type_hint(i32 %a) #0 1352 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1353 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !5 1354 !reqd_work_group_size !6 { 1355 ret void 1356} 1357 1358; CHECK: - Name: test_wgs_hint_vec_type_hint 1359; CHECK-NEXT: SymbolName: 'test_wgs_hint_vec_type_hint@kd' 1360; CHECK-NEXT: Language: OpenCL C 1361; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1362; CHECK-NEXT: Attrs: 1363; CHECK-NEXT: WorkGroupSizeHint: [ 8, 16, 32 ] 1364; CHECK-NEXT: VecTypeHint: uint4 1365; CHECK-NEXT: Args: 1366; CHECK-NEXT: - Name: a 1367; CHECK-NEXT: TypeName: int 1368; CHECK-NEXT: Size: 4 1369; CHECK-NEXT: Align: 4 1370; CHECK-NEXT: ValueKind: ByValue 1371; CHECK-NEXT: AccQual: Default 1372; CHECK-NEXT: - Size: 8 1373; CHECK-NEXT: Align: 8 1374; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1375; CHECK-NEXT: - Size: 8 1376; CHECK-NEXT: Align: 8 1377; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1378; CHECK-NEXT: - Size: 8 1379; CHECK-NEXT: Align: 8 1380; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1381; CHECK-NEXT: - Size: 8 1382; CHECK-NEXT: Align: 8 1383; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1384; CHECK-NEXT: AddrSpaceQual: Global 1385; CHECK-NEXT: - Size: 8 1386; CHECK-NEXT: Align: 8 1387; CHECK-NEXT: ValueKind: HiddenNone 1388; CHECK-NEXT: AddrSpaceQual: Global 1389; CHECK-NEXT: - Size: 8 1390; CHECK-NEXT: Align: 8 1391; CHECK-NEXT: ValueKind: HiddenNone 1392; CHECK-NEXT: AddrSpaceQual: Global 1393; CHECK-NEXT: - Size: 8 1394; CHECK-NEXT: Align: 8 1395; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1396; CHECK-NEXT: AddrSpaceQual: Global 1397define amdgpu_kernel void @test_wgs_hint_vec_type_hint(i32 %a) #0 1398 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 1399 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !7 1400 !work_group_size_hint !8 { 1401 ret void 1402} 1403 1404; CHECK: - Name: test_arg_ptr_to_ptr 1405; CHECK-NEXT: SymbolName: 'test_arg_ptr_to_ptr@kd' 1406; CHECK-NEXT: Language: OpenCL C 1407; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1408; CHECK-NEXT: Args: 1409; CHECK-NEXT: - Name: a 1410; CHECK-NEXT: TypeName: 'int addrspace(5)* addrspace(5)*' 1411; CHECK-NEXT: Size: 8 1412; CHECK-NEXT: Align: 8 1413; CHECK-NEXT: ValueKind: GlobalBuffer 1414; CHECK-NEXT: AddrSpaceQual: Global 1415; CHECK-NEXT: AccQual: Default 1416; CHECK-NEXT: - Size: 8 1417; CHECK-NEXT: Align: 8 1418; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1419; CHECK-NEXT: - Size: 8 1420; CHECK-NEXT: Align: 8 1421; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1422; CHECK-NEXT: - Size: 8 1423; CHECK-NEXT: Align: 8 1424; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1425; CHECK-NEXT: - Size: 8 1426; CHECK-NEXT: Align: 8 1427; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1428; CHECK-NEXT: AddrSpaceQual: Global 1429; CHECK-NEXT: - Size: 8 1430; CHECK-NEXT: Align: 8 1431; CHECK-NEXT: ValueKind: HiddenNone 1432; CHECK-NEXT: AddrSpaceQual: Global 1433; CHECK-NEXT: - Size: 8 1434; CHECK-NEXT: Align: 8 1435; CHECK-NEXT: ValueKind: HiddenNone 1436; CHECK-NEXT: AddrSpaceQual: Global 1437; CHECK-NEXT: - Size: 8 1438; CHECK-NEXT: Align: 8 1439; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1440; CHECK-NEXT: AddrSpaceQual: Global 1441define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 addrspace(5)* addrspace(1)* %a) #0 1442 !kernel_arg_addr_space !81 !kernel_arg_access_qual !2 !kernel_arg_type !80 1443 !kernel_arg_base_type !80 !kernel_arg_type_qual !4 { 1444 ret void 1445} 1446 1447; CHECK: - Name: test_arg_struct_contains_ptr 1448; CHECK-NEXT: SymbolName: 'test_arg_struct_contains_ptr@kd' 1449; CHECK-NEXT: Language: OpenCL C 1450; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1451; CHECK-NEXT: Args: 1452; CHECK-NEXT: - Name: a 1453; CHECK-NEXT: TypeName: struct B 1454; CHECK-NEXT: Size: 8 1455; CHECK-NEXT: Align: 8 1456; CHECK-NEXT: ValueKind: ByValue 1457; CHECK-NEXT: AccQual: Default 1458; CHECK-NEXT: - Size: 8 1459; CHECK-NEXT: Align: 8 1460; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1461; CHECK-NEXT: - Size: 8 1462; CHECK-NEXT: Align: 8 1463; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1464; CHECK-NEXT: - Size: 8 1465; CHECK-NEXT: Align: 8 1466; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1467; CHECK-NEXT: - Size: 8 1468; CHECK-NEXT: Align: 8 1469; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1470; CHECK-NEXT: AddrSpaceQual: Global 1471define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B %a) #0 1472 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !82 1473 !kernel_arg_base_type !82 !kernel_arg_type_qual !4 { 1474 ret void 1475} 1476 1477; CHECK: - Name: test_arg_vector_of_ptr 1478; CHECK-NEXT: SymbolName: 'test_arg_vector_of_ptr@kd' 1479; CHECK-NEXT: Language: OpenCL C 1480; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1481; CHECK-NEXT: Args: 1482; CHECK-NEXT: - Name: a 1483; CHECK-NEXT: TypeName: 'global int addrspace(5)* __attribute__((ext_vector_type(2)))' 1484; CHECK-NEXT: Size: 16 1485; CHECK-NEXT: Align: 16 1486; CHECK-NEXT: ValueKind: ByValue 1487; CHECK-NEXT: AccQual: Default 1488; CHECK-NEXT: - Size: 8 1489; CHECK-NEXT: Align: 8 1490; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1491; CHECK-NEXT: - Size: 8 1492; CHECK-NEXT: Align: 8 1493; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1494; CHECK-NEXT: - Size: 8 1495; CHECK-NEXT: Align: 8 1496; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1497; CHECK-NEXT: - Size: 8 1498; CHECK-NEXT: Align: 8 1499; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1500; CHECK-NEXT: AddrSpaceQual: Global 1501; CHECK-NEXT: - Size: 8 1502; CHECK-NEXT: Align: 8 1503; CHECK-NEXT: ValueKind: HiddenNone 1504; CHECK-NEXT: AddrSpaceQual: Global 1505; CHECK-NEXT: - Size: 8 1506; CHECK-NEXT: Align: 8 1507; CHECK-NEXT: ValueKind: HiddenNone 1508; CHECK-NEXT: AddrSpaceQual: Global 1509; CHECK-NEXT: - Size: 8 1510; CHECK-NEXT: Align: 8 1511; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1512; CHECK-NEXT: AddrSpaceQual: Global 1513define amdgpu_kernel void @test_arg_vector_of_ptr(<2 x i32 addrspace(1)*> %a) #0 1514 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !83 1515 !kernel_arg_base_type !83 !kernel_arg_type_qual !4 { 1516 ret void 1517} 1518 1519; CHECK: - Name: test_arg_unknown_builtin_type 1520; CHECK-NEXT: SymbolName: 'test_arg_unknown_builtin_type@kd' 1521; CHECK-NEXT: Language: OpenCL C 1522; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1523; CHECK-NEXT: Args: 1524; CHECK-NEXT: - Name: a 1525; CHECK-NEXT: TypeName: clk_event_t 1526; CHECK-NEXT: Size: 8 1527; CHECK-NEXT: Align: 8 1528; CHECK-NEXT: ValueKind: GlobalBuffer 1529; CHECK-NEXT: AddrSpaceQual: Global 1530; CHECK-NEXT: AccQual: Default 1531; CHECK-NEXT: - Size: 8 1532; CHECK-NEXT: Align: 8 1533; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1534; CHECK-NEXT: - Size: 8 1535; CHECK-NEXT: Align: 8 1536; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1537; CHECK-NEXT: - Size: 8 1538; CHECK-NEXT: Align: 8 1539; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1540; CHECK-NEXT: - Size: 8 1541; CHECK-NEXT: Align: 8 1542; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1543; CHECK-NEXT: AddrSpaceQual: Global 1544; CHECK-NEXT: - Size: 8 1545; CHECK-NEXT: Align: 8 1546; CHECK-NEXT: ValueKind: HiddenNone 1547; CHECK-NEXT: AddrSpaceQual: Global 1548; CHECK-NEXT: - Size: 8 1549; CHECK-NEXT: Align: 8 1550; CHECK-NEXT: ValueKind: HiddenNone 1551; CHECK-NEXT: AddrSpaceQual: Global 1552; CHECK-NEXT: - Size: 8 1553; CHECK-NEXT: Align: 8 1554; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1555; CHECK-NEXT: AddrSpaceQual: Global 1556define amdgpu_kernel void @test_arg_unknown_builtin_type( 1557 %opencl.clk_event_t addrspace(1)* %a) #0 1558 !kernel_arg_addr_space !81 !kernel_arg_access_qual !2 !kernel_arg_type !84 1559 !kernel_arg_base_type !84 !kernel_arg_type_qual !4 { 1560 ret void 1561} 1562 1563; CHECK: - Name: test_pointee_align 1564; CHECK-NEXT: SymbolName: 'test_pointee_align@kd' 1565; CHECK-NEXT: Language: OpenCL C 1566; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1567; CHECK-NEXT: Args: 1568; CHECK-NEXT: - Name: a 1569; CHECK-NEXT: TypeName: 'long addrspace(5)*' 1570; CHECK-NEXT: Size: 8 1571; CHECK-NEXT: Align: 8 1572; CHECK-NEXT: ValueKind: GlobalBuffer 1573; CHECK-NEXT: AddrSpaceQual: Global 1574; CHECK-NEXT: AccQual: Default 1575; CHECK-NEXT: - Name: b 1576; CHECK-NEXT: TypeName: 'char addrspace(5)*' 1577; CHECK-NEXT: Size: 4 1578; CHECK-NEXT: Align: 4 1579; CHECK-NEXT: ValueKind: DynamicSharedPointer 1580; CHECK-NEXT: PointeeAlign: 1 1581; CHECK-NEXT: AddrSpaceQual: Local 1582; CHECK-NEXT: AccQual: Default 1583; CHECK-NEXT: - Name: c 1584; CHECK-NEXT: TypeName: 'char2 addrspace(5)*' 1585; CHECK-NEXT: Size: 4 1586; CHECK-NEXT: Align: 4 1587; CHECK-NEXT: ValueKind: DynamicSharedPointer 1588; CHECK-NEXT: PointeeAlign: 2 1589; CHECK-NEXT: AddrSpaceQual: Local 1590; CHECK-NEXT: AccQual: Default 1591; CHECK-NEXT: - Name: d 1592; CHECK-NEXT: TypeName: 'char3 addrspace(5)*' 1593; CHECK-NEXT: Size: 4 1594; CHECK-NEXT: Align: 4 1595; CHECK-NEXT: ValueKind: DynamicSharedPointer 1596; CHECK-NEXT: PointeeAlign: 4 1597; CHECK-NEXT: AddrSpaceQual: Local 1598; CHECK-NEXT: AccQual: Default 1599; CHECK-NEXT: - Name: e 1600; CHECK-NEXT: TypeName: 'char4 addrspace(5)*' 1601; CHECK-NEXT: Size: 4 1602; CHECK-NEXT: Align: 4 1603; CHECK-NEXT: ValueKind: DynamicSharedPointer 1604; CHECK-NEXT: PointeeAlign: 4 1605; CHECK-NEXT: AddrSpaceQual: Local 1606; CHECK-NEXT: AccQual: Default 1607; CHECK-NEXT: - Name: f 1608; CHECK-NEXT: TypeName: 'char8 addrspace(5)*' 1609; CHECK-NEXT: Size: 4 1610; CHECK-NEXT: Align: 4 1611; CHECK-NEXT: ValueKind: DynamicSharedPointer 1612; CHECK-NEXT: PointeeAlign: 8 1613; CHECK-NEXT: AddrSpaceQual: Local 1614; CHECK-NEXT: AccQual: Default 1615; CHECK-NEXT: - Name: g 1616; CHECK-NEXT: TypeName: 'char16 addrspace(5)*' 1617; CHECK-NEXT: Size: 4 1618; CHECK-NEXT: Align: 4 1619; CHECK-NEXT: ValueKind: DynamicSharedPointer 1620; CHECK-NEXT: PointeeAlign: 16 1621; CHECK-NEXT: AddrSpaceQual: Local 1622; CHECK-NEXT: AccQual: Default 1623; CHECK-NEXT: - Name: h 1624; CHECK-NEXT: Size: 4 1625; CHECK-NEXT: Align: 4 1626; CHECK-NEXT: ValueKind: DynamicSharedPointer 1627; CHECK-NEXT: PointeeAlign: 1 1628; CHECK-NEXT: AddrSpaceQual: Local 1629; CHECK-NEXT: - Size: 8 1630; CHECK-NEXT: Align: 8 1631; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1632; CHECK-NEXT: - Size: 8 1633; CHECK-NEXT: Align: 8 1634; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1635; CHECK-NEXT: - Size: 8 1636; CHECK-NEXT: Align: 8 1637; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1638; CHECK-NEXT: - Size: 8 1639; CHECK-NEXT: Align: 8 1640; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1641; CHECK-NEXT: AddrSpaceQual: Global 1642; CHECK-NEXT: - Size: 8 1643; CHECK-NEXT: Align: 8 1644; CHECK-NEXT: ValueKind: HiddenNone 1645; CHECK-NEXT: AddrSpaceQual: Global 1646; CHECK-NEXT: - Size: 8 1647; CHECK-NEXT: Align: 8 1648; CHECK-NEXT: ValueKind: HiddenNone 1649; CHECK-NEXT: AddrSpaceQual: Global 1650; CHECK-NEXT: - Size: 8 1651; CHECK-NEXT: Align: 8 1652; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1653; CHECK-NEXT: AddrSpaceQual: Global 1654define amdgpu_kernel void @test_pointee_align(i64 addrspace(1)* %a, 1655 i8 addrspace(3)* %b, 1656 <2 x i8> addrspace(3)* %c, 1657 <3 x i8> addrspace(3)* %d, 1658 <4 x i8> addrspace(3)* %e, 1659 <8 x i8> addrspace(3)* %f, 1660 <16 x i8> addrspace(3)* %g, 1661 {} addrspace(3)* %h) #0 1662 !kernel_arg_addr_space !91 !kernel_arg_access_qual !92 !kernel_arg_type !93 1663 !kernel_arg_base_type !93 !kernel_arg_type_qual !94 { 1664 ret void 1665} 1666 1667; CHECK: - Name: test_pointee_align_attribute 1668; CHECK-NEXT: SymbolName: 'test_pointee_align_attribute@kd' 1669; CHECK-NEXT: Language: OpenCL C 1670; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1671; CHECK-NEXT: Args: 1672; CHECK-NEXT: - Name: a 1673; CHECK-NEXT: TypeName: 'long addrspace(5)*' 1674; CHECK-NEXT: Size: 8 1675; CHECK-NEXT: Align: 8 1676; CHECK-NEXT: ValueKind: GlobalBuffer 1677; CHECK-NEXT: AddrSpaceQual: Global 1678; CHECK-NEXT: AccQual: Default 1679; CHECK-NEXT: - Name: b 1680; CHECK-NEXT: TypeName: 'char addrspace(5)*' 1681; CHECK-NEXT: Size: 4 1682; CHECK-NEXT: Align: 4 1683; CHECK-NEXT: ValueKind: DynamicSharedPointer 1684; CHECK-NEXT: PointeeAlign: 8 1685; CHECK-NEXT: AddrSpaceQual: Local 1686; CHECK-NEXT: AccQual: Default 1687; CHECK-NEXT: - Name: c 1688; CHECK-NEXT: TypeName: 'char2 addrspace(5)*' 1689; CHECK-NEXT: Size: 4 1690; CHECK-NEXT: Align: 4 1691; CHECK-NEXT: ValueKind: DynamicSharedPointer 1692; CHECK-NEXT: PointeeAlign: 32 1693; CHECK-NEXT: AddrSpaceQual: Local 1694; CHECK-NEXT: AccQual: Default 1695; CHECK-NEXT: - Name: d 1696; CHECK-NEXT: TypeName: 'char3 addrspace(5)*' 1697; CHECK-NEXT: Size: 4 1698; CHECK-NEXT: Align: 4 1699; CHECK-NEXT: ValueKind: DynamicSharedPointer 1700; CHECK-NEXT: PointeeAlign: 64 1701; CHECK-NEXT: AddrSpaceQual: Local 1702; CHECK-NEXT: AccQual: Default 1703; CHECK-NEXT: - Name: e 1704; CHECK-NEXT: TypeName: 'char4 addrspace(5)*' 1705; CHECK-NEXT: Size: 4 1706; CHECK-NEXT: Align: 4 1707; CHECK-NEXT: ValueKind: DynamicSharedPointer 1708; CHECK-NEXT: PointeeAlign: 256 1709; CHECK-NEXT: AddrSpaceQual: Local 1710; CHECK-NEXT: AccQual: Default 1711; CHECK-NEXT: - Name: f 1712; CHECK-NEXT: TypeName: 'char8 addrspace(5)*' 1713; CHECK-NEXT: Size: 4 1714; CHECK-NEXT: Align: 4 1715; CHECK-NEXT: ValueKind: DynamicSharedPointer 1716; CHECK-NEXT: PointeeAlign: 128 1717; CHECK-NEXT: AddrSpaceQual: Local 1718; CHECK-NEXT: AccQual: Default 1719; CHECK-NEXT: - Name: g 1720; CHECK-NEXT: TypeName: 'char16 addrspace(5)*' 1721; CHECK-NEXT: Size: 4 1722; CHECK-NEXT: Align: 4 1723; CHECK-NEXT: ValueKind: DynamicSharedPointer 1724; CHECK-NEXT: PointeeAlign: 1024 1725; CHECK-NEXT: AddrSpaceQual: Local 1726; CHECK-NEXT: AccQual: Default 1727; CHECK-NEXT: - Name: h 1728; CHECK-NEXT: Size: 4 1729; CHECK-NEXT: Align: 4 1730; CHECK-NEXT: ValueKind: DynamicSharedPointer 1731; CHECK-NEXT: PointeeAlign: 16 1732; CHECK-NEXT: AddrSpaceQual: Local 1733; CHECK-NEXT: - Size: 8 1734; CHECK-NEXT: Align: 8 1735; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1736; CHECK-NEXT: - Size: 8 1737; CHECK-NEXT: Align: 8 1738; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1739; CHECK-NEXT: - Size: 8 1740; CHECK-NEXT: Align: 8 1741; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1742; CHECK-NEXT: - Size: 8 1743; CHECK-NEXT: Align: 8 1744; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1745; CHECK-NEXT: AddrSpaceQual: Global 1746; CHECK-NEXT: - Size: 8 1747; CHECK-NEXT: Align: 8 1748; CHECK-NEXT: ValueKind: HiddenNone 1749; CHECK-NEXT: AddrSpaceQual: Global 1750; CHECK-NEXT: - Size: 8 1751; CHECK-NEXT: Align: 8 1752; CHECK-NEXT: ValueKind: HiddenNone 1753; CHECK-NEXT: AddrSpaceQual: Global 1754; CHECK-NEXT: - Size: 8 1755; CHECK-NEXT: Align: 8 1756; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1757; CHECK-NEXT: AddrSpaceQual: Global 1758define amdgpu_kernel void @test_pointee_align_attribute(i64 addrspace(1)* align 16 %a, 1759 i8 addrspace(3)* align 8 %b, 1760 <2 x i8> addrspace(3)* align 32 %c, 1761 <3 x i8> addrspace(3)* align 64 %d, 1762 <4 x i8> addrspace(3)* align 256 %e, 1763 <8 x i8> addrspace(3)* align 128 %f, 1764 <16 x i8> addrspace(3)* align 1024 %g, 1765 {} addrspace(3)* align 16 %h) #0 1766 !kernel_arg_addr_space !91 !kernel_arg_access_qual !92 !kernel_arg_type !93 1767 !kernel_arg_base_type !93 !kernel_arg_type_qual !94 { 1768 ret void 1769} 1770 1771 1772; CHECK: - Name: __test_block_invoke_kernel 1773; CHECK-NEXT: SymbolName: '__test_block_invoke_kernel@kd' 1774; CHECK-NEXT: Language: OpenCL C 1775; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1776; CHECK-NEXT: Attrs: 1777; CHECK-NEXT: RuntimeHandle: __test_block_invoke_kernel_runtime_handle 1778; CHECK-NEXT: Args: 1779; CHECK-NEXT: - Name: arg 1780; CHECK-NEXT: TypeName: __block_literal 1781; CHECK-NEXT: Size: 25 1782; CHECK-NEXT: Align: 1 1783; CHECK-NEXT: ValueKind: ByValue 1784; CHECK-NEXT: AccQual: Default 1785; CHECK-NEXT: - Size: 8 1786; CHECK-NEXT: Align: 8 1787; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1788; CHECK-NEXT: - Size: 8 1789; CHECK-NEXT: Align: 8 1790; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1791; CHECK-NEXT: - Size: 8 1792; CHECK-NEXT: Align: 8 1793; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1794; CHECK-NEXT: - Size: 8 1795; CHECK-NEXT: Align: 8 1796; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1797; CHECK-NEXT: AddrSpaceQual: Global 1798; CHECK-NEXT: - Size: 8 1799; CHECK-NEXT: Align: 8 1800; CHECK-NEXT: ValueKind: HiddenNone 1801; CHECK-NEXT: AddrSpaceQual: Global 1802; CHECK-NEXT: - Size: 8 1803; CHECK-NEXT: Align: 8 1804; CHECK-NEXT: ValueKind: HiddenNone 1805; CHECK-NEXT: AddrSpaceQual: Global 1806; CHECK-NEXT: - Size: 8 1807; CHECK-NEXT: Align: 8 1808; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1809; CHECK-NEXT: AddrSpaceQual: Global 1810define amdgpu_kernel void @__test_block_invoke_kernel( 1811 <{ i32, i32, i8*, i8 addrspace(1)*, i8 }> %arg) #1 1812 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !110 1813 !kernel_arg_base_type !110 !kernel_arg_type_qual !4 { 1814 ret void 1815} 1816 1817; CHECK: - Name: test_enqueue_kernel_caller 1818; CHECK-NEXT: SymbolName: 'test_enqueue_kernel_caller@kd' 1819; CHECK-NEXT: Language: OpenCL C 1820; CHECK-NEXT: LanguageVersion: [ 2, 0 ] 1821; CHECK-NEXT: Args: 1822; CHECK-NEXT: - Name: a 1823; CHECK-NEXT: TypeName: char 1824; CHECK-NEXT: Size: 1 1825; CHECK-NEXT: Align: 1 1826; CHECK-NEXT: ValueKind: ByValue 1827; CHECK-NEXT: AccQual: Default 1828; CHECK-NEXT: - Size: 8 1829; CHECK-NEXT: Align: 8 1830; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX 1831; CHECK-NEXT: - Size: 8 1832; CHECK-NEXT: Align: 8 1833; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY 1834; CHECK-NEXT: - Size: 8 1835; CHECK-NEXT: Align: 8 1836; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ 1837; CHECK-NEXT: - Size: 8 1838; CHECK-NEXT: Align: 8 1839; CHECK-NEXT: ValueKind: HiddenPrintfBuffer 1840; CHECK-NEXT: AddrSpaceQual: Global 1841; CHECK-NEXT: - Size: 8 1842; CHECK-NEXT: Align: 8 1843; CHECK-NEXT: ValueKind: HiddenDefaultQueue 1844; CHECK-NEXT: AddrSpaceQual: Global 1845; CHECK-NEXT: - Size: 8 1846; CHECK-NEXT: Align: 8 1847; CHECK-NEXT: ValueKind: HiddenCompletionAction 1848; CHECK-NEXT: AddrSpaceQual: Global 1849; CHECK-NEXT: - Size: 8 1850; CHECK-NEXT: Align: 8 1851; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg 1852; CHECK-NEXT: AddrSpaceQual: Global 1853define amdgpu_kernel void @test_enqueue_kernel_caller(i8 %a) #2 1854 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !9 1855 !kernel_arg_base_type !9 !kernel_arg_type_qual !4 { 1856 ret void 1857} 1858 1859; CHECK: - Name: unknown_addrspace_kernarg 1860; CHECK: Args: 1861; CHECK-NEXT: - Name: ptr 1862; CHECK-NEXT: Size: 8 1863; CHECK-NEXT: Align: 8 1864; CHECK-NEXT: ValueKind: GlobalBuffer 1865define amdgpu_kernel void @unknown_addrspace_kernarg(i32 addrspace(12345)* %ptr) #0 { 1866 ret void 1867} 1868 1869attributes #0 = { "amdgpu-implicitarg-num-bytes"="56" } 1870attributes #1 = { "amdgpu-implicitarg-num-bytes"="56" "runtime-handle"="__test_block_invoke_kernel_runtime_handle" } 1871attributes #2 = { "amdgpu-implicitarg-num-bytes"="56" "calls-enqueue-kernel" } 1872 1873!llvm.printf.fmts = !{!100, !101} 1874 1875!1 = !{i32 0} 1876!2 = !{!"none"} 1877!3 = !{!"int"} 1878!4 = !{!""} 1879!5 = !{i32 undef, i32 1} 1880!6 = !{i32 1, i32 2, i32 4} 1881!7 = !{<4 x i32> undef, i32 0} 1882!8 = !{i32 8, i32 16, i32 32} 1883!9 = !{!"char"} 1884!10 = !{!"ushort2"} 1885!11 = !{!"int3"} 1886!12 = !{!"ulong4"} 1887!13 = !{!"half8"} 1888!14 = !{!"float16"} 1889!15 = !{!"double16"} 1890!16 = !{!"int addrspace(5)*"} 1891!17 = !{!"image2d_t"} 1892!18 = !{!"sampler_t"} 1893!19 = !{!"queue_t"} 1894!20 = !{!"struct A"} 1895!21 = !{!"i128"} 1896!22 = !{i32 0, i32 0, i32 0} 1897!23 = !{!"none", !"none", !"none"} 1898!24 = !{!"int", !"short2", !"char3"} 1899!25 = !{!"", !"", !""} 1900!26 = !{half undef, i32 1} 1901!27 = !{float undef, i32 1} 1902!28 = !{double undef, i32 1} 1903!29 = !{i8 undef, i32 1} 1904!30 = !{i16 undef, i32 1} 1905!31 = !{i64 undef, i32 1} 1906!32 = !{i32 addrspace(5)*undef, i32 1} 1907!50 = !{i32 1, i32 2, i32 3} 1908!51 = !{!"int addrspace(5)*", !"int addrspace(5)*", !"int addrspace(5)*"} 1909!60 = !{i32 1, i32 1, i32 1} 1910!61 = !{!"read_only", !"write_only", !"read_write"} 1911!62 = !{!"image1d_t", !"image2d_t", !"image3d_t"} 1912!70 = !{!"volatile", !"const restrict", !"pipe"} 1913!80 = !{!"int addrspace(5)* addrspace(5)*"} 1914!81 = !{i32 1} 1915!82 = !{!"struct B"} 1916!83 = !{!"global int addrspace(5)* __attribute__((ext_vector_type(2)))"} 1917!84 = !{!"clk_event_t"} 1918!opencl.ocl.version = !{!90} 1919!90 = !{i32 2, i32 0} 1920!91 = !{i32 0, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3} 1921!92 = !{!"none", !"none", !"none", !"none", !"none", !"none", !"none"} 1922!93 = !{!"long addrspace(5)*", !"char addrspace(5)*", !"char2 addrspace(5)*", !"char3 addrspace(5)*", !"char4 addrspace(5)*", !"char8 addrspace(5)*", !"char16 addrspace(5)*"} 1923!94 = !{!"", !"", !"", !"", !"", !"", !""} 1924!100 = !{!"1:1:4:%d\5Cn"} 1925!101 = !{!"2:1:8:%g\5Cn"} 1926!110 = !{!"__block_literal"} 1927!111 = !{!"char", !"char"} 1928; PARSER: AMDGPU HSA Metadata Parser Test: PASS 1929