CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
168 lines
16 KiB
Plaintext
168 lines
16 KiB
Plaintext
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --check-globals smart
|
|
// REQUIRES: amdgpu-registered-target
|
|
// RUN: %clang_cc1 -x hip -triple amdgcn-amd-amdhsa -emit-llvm -fcuda-is-device -debug-info-kind=limited -gheterogeneous-dwarf=diexpression -o - %s | FileCheck --check-prefix=DIEXPRESSION-IR %s
|
|
// XFAIL: *
|
|
|
|
#define __global__ __attribute__((global))
|
|
#define __device__ __attribute__((device))
|
|
#define __shared__ __attribute__((shared))
|
|
#define __constant__ __attribute__((constant))
|
|
|
|
__shared__ int GlobalSharedA;
|
|
__shared__ int GlobalSharedB;
|
|
__device__ int GlobalDeviceA;
|
|
__device__ int GlobalDeviceB;
|
|
__constant__ int GlobalConstantA;
|
|
__constant__ int GlobalConstantB;
|
|
|
|
// DIEXPRESSION-IR-LABEL: @_Z7kernel1i(
|
|
// DIEXPRESSION-IR-NEXT: entry:
|
|
// DIEXPRESSION-IR-NEXT: [[ARG_ADDR:%.*]] = alloca i32, align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARA:%.*]] = alloca i32, align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARB:%.*]] = alloca i32, align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARSHAREDAPOINTER:%.*]] = alloca ptr, align 8, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARSHAREDBPOINTER:%.*]] = alloca ptr, align 8, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARAPOINTER:%.*]] = alloca ptr, align 8, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARBPOINTER:%.*]] = alloca ptr, align 8, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[ARG_ADDR_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[ARG_ADDR]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARA_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[KERNELVARA]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARB_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[KERNELVARB]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARSHAREDAPOINTER_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[KERNELVARSHAREDAPOINTER]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARSHAREDBPOINTER_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[KERNELVARSHAREDBPOINTER]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARAPOINTER_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[KERNELVARAPOINTER]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[KERNELVARBPOINTER_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[KERNELVARBPOINTER]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: store i32 [[ARG:%.*]], ptr [[ARG_ADDR_ASCAST]], align 4
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[ARG_ADDR]], [[META23:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(i32)), [[META38:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[KERNELVARA]], [[META24:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(i32)), [[META39:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[KERNELVARB]], [[META25:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(i32)), [[META40:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[KERNELVARSHAREDAPOINTER]], [[META26:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(ptr)), [[META41:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: store ptr addrspacecast (ptr addrspace(3) @_ZZ7kernel1iE16KernelVarSharedA to ptr), ptr [[KERNELVARSHAREDAPOINTER_ASCAST]], align 8, !dbg [[META41]]
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[KERNELVARSHAREDBPOINTER]], [[META28:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(ptr)), [[META42:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: store ptr addrspacecast (ptr addrspace(3) @_ZZ7kernel1iE16KernelVarSharedB to ptr), ptr [[KERNELVARSHAREDBPOINTER_ASCAST]], align 8, !dbg [[META42]]
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[KERNELVARAPOINTER]], [[META29:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(ptr)), [[META43:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: store ptr [[KERNELVARA_ASCAST]], ptr [[KERNELVARAPOINTER_ASCAST]], align 8, !dbg [[META43]]
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[KERNELVARBPOINTER]], [[META30:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(ptr)), [[META44:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: store ptr [[KERNELVARB_ASCAST]], ptr [[KERNELVARBPOINTER_ASCAST]], align 8, !dbg [[META44]]
|
|
// DIEXPRESSION-IR-NEXT: ret void, !dbg [[DBG45:![0-9]+]]
|
|
//
|
|
__global__ void kernel1(int Arg) {
|
|
__shared__ int KernelVarSharedA;
|
|
__shared__ int KernelVarSharedB;
|
|
int KernelVarA;
|
|
int KernelVarB;
|
|
|
|
auto *KernelVarSharedAPointer = &KernelVarSharedA;
|
|
auto *KernelVarSharedBPointer = &KernelVarSharedB;
|
|
auto *KernelVarAPointer = &KernelVarA;
|
|
auto *KernelVarBPointer = &KernelVarB;
|
|
}
|
|
|
|
// DIEXPRESSION-IR-LABEL: @_Z5func1i(
|
|
// DIEXPRESSION-IR-NEXT: entry:
|
|
// DIEXPRESSION-IR-NEXT: [[ARG_ADDR:%.*]] = alloca i32, align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARA:%.*]] = alloca i32, align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARB:%.*]] = alloca i32, align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARAPOINTER:%.*]] = alloca ptr, align 8, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARBPOINTER:%.*]] = alloca ptr, align 8, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[ARG_ADDR_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[ARG_ADDR]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARA_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[FUNCVARA]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARB_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[FUNCVARB]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARAPOINTER_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[FUNCVARAPOINTER]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: [[FUNCVARBPOINTER_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[FUNCVARBPOINTER]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: store i32 [[ARG:%.*]], ptr [[ARG_ADDR_ASCAST]], align 4
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[ARG_ADDR]], [[META48:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(i32)), [[META53:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[FUNCVARA]], [[META49:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(i32)), [[META54:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[FUNCVARB]], [[META50:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(i32)), [[META55:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[FUNCVARAPOINTER]], [[META51:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(ptr)), [[META56:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: store ptr [[FUNCVARA_ASCAST]], ptr [[FUNCVARAPOINTER_ASCAST]], align 8, !dbg [[META56]]
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[FUNCVARBPOINTER]], [[META52:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref(ptr)), [[META57:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: store ptr [[FUNCVARB_ASCAST]], ptr [[FUNCVARBPOINTER_ASCAST]], align 8, !dbg [[META57]]
|
|
// DIEXPRESSION-IR-NEXT: ret void, !dbg [[DBG58:![0-9]+]]
|
|
//
|
|
__device__ void func1(int Arg) {
|
|
int FuncVarA;
|
|
int FuncVarB;
|
|
|
|
auto *FuncVarAPointer = &FuncVarA;
|
|
auto *FuncVarBPointer = &FuncVarB;
|
|
}
|
|
|
|
struct pair { int first, second; };
|
|
// DIEXPRESSION-IR-LABEL: @_Z5func14pair(
|
|
// DIEXPRESSION-IR-NEXT: entry:
|
|
// DIEXPRESSION-IR-NEXT: [[P:%.*]] = alloca [[STRUCT_PAIR:%.*]], align 4, addrspace(5)
|
|
// DIEXPRESSION-IR-NEXT: [[P1:%.*]] = addrspacecast ptr addrspace(5) [[P]] to ptr
|
|
// DIEXPRESSION-IR-NEXT: store [2 x i32] [[P_COERCE:%.*]], ptr [[P1]], align 4
|
|
// DIEXPRESSION-IR-NEXT: #dbg_declare(ptr addrspace(5) [[P]], [[META67:![0-9]+]], !DIExpression(DIOpArg(0, ptr addrspace(5)), DIOpDeref([[STRUCT_PAIR]])), [[META68:![0-9]+]])
|
|
// DIEXPRESSION-IR-NEXT: ret void, !dbg [[DBG69:![0-9]+]]
|
|
//
|
|
__device__ void func1(pair p) {}
|
|
|
|
//.
|
|
// DIEXPRESSION-IR: [[META0:![0-9]+]] = !DIGlobalVariableExpression(var: [[META1:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(3)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META1]] = distinct !DIGlobalVariable(name: "GlobalSharedA", scope: [[META2:![0-9]+]], file: [[META7:![0-9]+]], line: 10, type: [[META8:![0-9]+]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_group)
|
|
// DIEXPRESSION-IR: [[META2]] = distinct !DICompileUnit(language: DW_LANG_HIP, file: [[META3:![0-9]+]], producer: "{{.*}}clang version {{.*}}", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: [[META4:![0-9]+]], splitDebugInlining: false, nameTableKind: None)
|
|
// DIEXPRESSION-IR: [[META3]] = !DIFile(filename: "{{.*}}clang/test/CodeGenHIP/<stdin>", directory: "")
|
|
// DIEXPRESSION-IR: [[META4]] = !{[[META0]], [[META5:![0-9]+]], [[META9:![0-9]+]], [[META11:![0-9]+]], [[META13:![0-9]+]], [[META15:![0-9]+]], [[META17:![0-9]+]], [[META31:![0-9]+]]}
|
|
// DIEXPRESSION-IR: [[META5]] = !DIGlobalVariableExpression(var: [[META6:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(3)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META6]] = distinct !DIGlobalVariable(name: "GlobalSharedB", scope: [[META2]], file: [[META7]], line: 11, type: [[META8]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_group)
|
|
// DIEXPRESSION-IR: [[META7]] = !DIFile(filename: "{{.*}}clang/test/CodeGenHIP/debug-info-diop-in-diexpression_ir.hip", directory: "")
|
|
// DIEXPRESSION-IR: [[META8]] = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
|
// DIEXPRESSION-IR: [[META9]] = !DIGlobalVariableExpression(var: [[META10:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(1)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META10]] = distinct !DIGlobalVariable(name: "GlobalDeviceA", scope: [[META2]], file: [[META7]], line: 12, type: [[META8]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_global)
|
|
// DIEXPRESSION-IR: [[META11]] = !DIGlobalVariableExpression(var: [[META12:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(1)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META12]] = distinct !DIGlobalVariable(name: "GlobalDeviceB", scope: [[META2]], file: [[META7]], line: 13, type: [[META8]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_global)
|
|
// DIEXPRESSION-IR: [[META13]] = !DIGlobalVariableExpression(var: [[META14:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(4)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META14]] = distinct !DIGlobalVariable(name: "GlobalConstantA", scope: [[META2]], file: [[META7]], line: 14, type: [[META8]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_constant)
|
|
// DIEXPRESSION-IR: [[META15]] = !DIGlobalVariableExpression(var: [[META16:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(4)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META16]] = distinct !DIGlobalVariable(name: "GlobalConstantB", scope: [[META2]], file: [[META7]], line: 15, type: [[META8]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_constant)
|
|
// DIEXPRESSION-IR: [[META17]] = !DIGlobalVariableExpression(var: [[META18:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(3)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META18]] = distinct !DIGlobalVariable(name: "KernelVarSharedA", scope: [[META19:![0-9]+]], file: [[META7]], line: 48, type: [[META8]], isLocal: true, isDefinition: true, memorySpace: DW_MSPACE_LLVM_group)
|
|
// DIEXPRESSION-IR: [[META19]] = distinct !DISubprogram(name: "kernel1", linkageName: "_Z7kernel1i", scope: [[META7]], file: [[META7]], line: 47, type: [[META20:![0-9]+]], scopeLine: 47, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: [[META2]], retainedNodes: [[META22:![0-9]+]])
|
|
// DIEXPRESSION-IR: [[META20]] = !DISubroutineType(types: [[META21:![0-9]+]])
|
|
// DIEXPRESSION-IR: [[META21]] = !{null, [[META8]]}
|
|
// DIEXPRESSION-IR: [[META22]] = !{[[META23]], [[META24]], [[META25]], [[META26]], [[META28]], [[META29]], [[META30]]}
|
|
// DIEXPRESSION-IR: [[META23]] = !DILocalVariable(name: "Arg", arg: 1, scope: [[META19]], file: [[META7]], line: 47, type: [[META8]])
|
|
// DIEXPRESSION-IR: [[META24]] = !DILocalVariable(name: "KernelVarA", scope: [[META19]], file: [[META7]], line: 50, type: [[META8]])
|
|
// DIEXPRESSION-IR: [[META25]] = !DILocalVariable(name: "KernelVarB", scope: [[META19]], file: [[META7]], line: 51, type: [[META8]])
|
|
// DIEXPRESSION-IR: [[META26]] = !DILocalVariable(name: "KernelVarSharedAPointer", scope: [[META19]], file: [[META7]], line: 53, type: [[META27:![0-9]+]])
|
|
// DIEXPRESSION-IR: [[META27]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META8]], size: 64, addressSpace: 1)
|
|
// DIEXPRESSION-IR: [[META28]] = !DILocalVariable(name: "KernelVarSharedBPointer", scope: [[META19]], file: [[META7]], line: 54, type: [[META27]])
|
|
// DIEXPRESSION-IR: [[META29]] = !DILocalVariable(name: "KernelVarAPointer", scope: [[META19]], file: [[META7]], line: 55, type: [[META27]])
|
|
// DIEXPRESSION-IR: [[META30]] = !DILocalVariable(name: "KernelVarBPointer", scope: [[META19]], file: [[META7]], line: 56, type: [[META27]])
|
|
// DIEXPRESSION-IR: [[META31]] = !DIGlobalVariableExpression(var: [[META32:![0-9]+]], expr: !DIExpression(DIOpArg(0, ptr addrspace(3)), DIOpDeref(i32)))
|
|
// DIEXPRESSION-IR: [[META32]] = distinct !DIGlobalVariable(name: "KernelVarSharedB", scope: [[META19]], file: [[META7]], line: 49, type: [[META8]], isLocal: true, isDefinition: true, memorySpace: DW_MSPACE_LLVM_group)
|
|
// DIEXPRESSION-IR: [[META38]] = !DILocation(line: 47, column: 29, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META39]] = !DILocation(line: 50, column: 7, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META40]] = !DILocation(line: 51, column: 7, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META41]] = !DILocation(line: 53, column: 9, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META42]] = !DILocation(line: 54, column: 9, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META43]] = !DILocation(line: 55, column: 9, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META44]] = !DILocation(line: 56, column: 9, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[DBG45]] = !DILocation(line: 57, column: 1, scope: [[META19]])
|
|
// DIEXPRESSION-IR: [[META46:![0-9]+]] = distinct !DISubprogram(name: "func1", linkageName: "_Z5func1i", scope: [[META7]], file: [[META7]], line: 81, type: [[META20]], scopeLine: 81, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: [[META2]], retainedNodes: [[META47:![0-9]+]])
|
|
// DIEXPRESSION-IR: [[META47]] = !{[[META48]], [[META49]], [[META50]], [[META51]], [[META52]]}
|
|
// DIEXPRESSION-IR: [[META48]] = !DILocalVariable(name: "Arg", arg: 1, scope: [[META46]], file: [[META7]], line: 81, type: [[META8]])
|
|
// DIEXPRESSION-IR: [[META49]] = !DILocalVariable(name: "FuncVarA", scope: [[META46]], file: [[META7]], line: 82, type: [[META8]])
|
|
// DIEXPRESSION-IR: [[META50]] = !DILocalVariable(name: "FuncVarB", scope: [[META46]], file: [[META7]], line: 83, type: [[META8]])
|
|
// DIEXPRESSION-IR: [[META51]] = !DILocalVariable(name: "FuncVarAPointer", scope: [[META46]], file: [[META7]], line: 85, type: [[META27]])
|
|
// DIEXPRESSION-IR: [[META52]] = !DILocalVariable(name: "FuncVarBPointer", scope: [[META46]], file: [[META7]], line: 86, type: [[META27]])
|
|
// DIEXPRESSION-IR: [[META53]] = !DILocation(line: 81, column: 27, scope: [[META46]])
|
|
// DIEXPRESSION-IR: [[META54]] = !DILocation(line: 82, column: 7, scope: [[META46]])
|
|
// DIEXPRESSION-IR: [[META55]] = !DILocation(line: 83, column: 7, scope: [[META46]])
|
|
// DIEXPRESSION-IR: [[META56]] = !DILocation(line: 85, column: 9, scope: [[META46]])
|
|
// DIEXPRESSION-IR: [[META57]] = !DILocation(line: 86, column: 9, scope: [[META46]])
|
|
// DIEXPRESSION-IR: [[DBG58]] = !DILocation(line: 87, column: 1, scope: [[META46]])
|
|
// DIEXPRESSION-IR: [[META59:![0-9]+]] = distinct !DISubprogram(name: "func1", linkageName: "_Z5func14pair", scope: [[META7]], file: [[META7]], line: 98, type: [[META60:![0-9]+]], scopeLine: 98, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: [[META2]], retainedNodes: [[META66:![0-9]+]])
|
|
// DIEXPRESSION-IR: [[META60]] = !DISubroutineType(types: [[META61:![0-9]+]])
|
|
// DIEXPRESSION-IR: [[META61]] = !{null, [[META62:![0-9]+]]}
|
|
// DIEXPRESSION-IR: [[META62]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "pair", file: [[META7]], line: 89, size: 64, flags: DIFlagTypePassByValue, elements: [[META63:![0-9]+]], identifier: "_ZTS4pair")
|
|
// DIEXPRESSION-IR: [[META63]] = !{[[META64:![0-9]+]], [[META65:![0-9]+]]}
|
|
// DIEXPRESSION-IR: [[META64]] = !DIDerivedType(tag: DW_TAG_member, name: "first", scope: [[META62]], file: [[META7]], line: 89, baseType: [[META8]], size: 32)
|
|
// DIEXPRESSION-IR: [[META65]] = !DIDerivedType(tag: DW_TAG_member, name: "second", scope: [[META62]], file: [[META7]], line: 89, baseType: [[META8]], size: 32, offset: 32)
|
|
// DIEXPRESSION-IR: [[META66]] = !{[[META67]]}
|
|
// DIEXPRESSION-IR: [[META67]] = !DILocalVariable(name: "p", arg: 1, scope: [[META59]], file: [[META7]], line: 98, type: [[META62]])
|
|
// DIEXPRESSION-IR: [[META68]] = !DILocation(line: 98, column: 28, scope: [[META59]])
|
|
// DIEXPRESSION-IR: [[DBG69]] = !DILocation(line: 98, column: 32, scope: [[META59]])
|
|
//.
|