forked from OSchip/llvm-project
[OPENMP]Do not add TGT_OMP_TARGET_PARAM flag to non-captured mapped arguments.
If the arguments are mapped, but are actually not used in the target region, the compiler still adds attribute TGT_OMP_TARGET_PARAM for such arguments. It makes the libomptarget to add such parameters to the list of arguments, passed to the kernel at the runtime, and may lead to incorrect results/crashes during execution. Differential Revision: https://reviews.llvm.org/D85755
This commit is contained in:
parent
e14474a39a
commit
ddbd21d288
|
@ -7911,7 +7911,8 @@ public:
|
|||
/// individual struct members.
|
||||
void emitCombinedEntry(MapCombinedInfoTy &CombinedInfo,
|
||||
MapFlagsArrayTy &CurTypes,
|
||||
const StructRangeInfoTy &PartialStruct) const {
|
||||
const StructRangeInfoTy &PartialStruct,
|
||||
bool NotTargetParams = false) const {
|
||||
// Base is the base of the struct
|
||||
CombinedInfo.BasePointers.push_back(PartialStruct.Base.getPointer());
|
||||
// Pointer is the address of the lowest element
|
||||
|
@ -7928,8 +7929,9 @@ public:
|
|||
llvm::Value *Size = CGF.Builder.CreateIntCast(Diff, CGF.Int64Ty,
|
||||
/*isSigned=*/false);
|
||||
CombinedInfo.Sizes.push_back(Size);
|
||||
// Map type is always TARGET_PARAM
|
||||
CombinedInfo.Types.push_back(OMP_MAP_TARGET_PARAM);
|
||||
// Map type is always TARGET_PARAM, if generate info for captures.
|
||||
CombinedInfo.Types.push_back(NotTargetParams ? OMP_MAP_NONE
|
||||
: OMP_MAP_TARGET_PARAM);
|
||||
// If any element has the present modifier, then make sure the runtime
|
||||
// doesn't attempt to allocate the struct.
|
||||
if (CurTypes.end() !=
|
||||
|
@ -7955,7 +7957,7 @@ public:
|
|||
/// pair of the relevant declaration and index where it occurs is appended to
|
||||
/// the device pointers info array.
|
||||
void generateAllInfo(
|
||||
MapCombinedInfoTy &CombinedInfo,
|
||||
MapCombinedInfoTy &CombinedInfo, bool NotTargetParams = false,
|
||||
const llvm::DenseSet<CanonicalDeclPtr<const Decl>> &SkipVarSet =
|
||||
llvm::DenseSet<CanonicalDeclPtr<const Decl>>()) const {
|
||||
// We have to process the component lists that relate with the same
|
||||
|
@ -8078,8 +8080,9 @@ public:
|
|||
UseDevicePtrCombinedInfo.Pointers.push_back(Ptr);
|
||||
UseDevicePtrCombinedInfo.Sizes.push_back(
|
||||
llvm::Constant::getNullValue(CGF.Int64Ty));
|
||||
UseDevicePtrCombinedInfo.Types.push_back(OMP_MAP_RETURN_PARAM |
|
||||
OMP_MAP_TARGET_PARAM);
|
||||
UseDevicePtrCombinedInfo.Types.push_back(
|
||||
OMP_MAP_RETURN_PARAM |
|
||||
(NotTargetParams ? OMP_MAP_NONE : OMP_MAP_TARGET_PARAM));
|
||||
UseDevicePtrCombinedInfo.Mappers.push_back(nullptr);
|
||||
}
|
||||
}
|
||||
|
@ -8144,8 +8147,11 @@ public:
|
|||
Ptr = CGF.EmitScalarExpr(IE);
|
||||
CombinedInfo.BasePointers.emplace_back(Ptr, VD);
|
||||
CombinedInfo.Pointers.push_back(Ptr);
|
||||
CombinedInfo.Sizes.push_back(llvm::Constant::getNullValue(CGF.Int64Ty));
|
||||
CombinedInfo.Types.push_back(OMP_MAP_RETURN_PARAM | OMP_MAP_TARGET_PARAM);
|
||||
CombinedInfo.Sizes.push_back(
|
||||
llvm::Constant::getNullValue(CGF.Int64Ty));
|
||||
CombinedInfo.Types.push_back(
|
||||
OMP_MAP_RETURN_PARAM |
|
||||
(NotTargetParams ? OMP_MAP_NONE : OMP_MAP_TARGET_PARAM));
|
||||
CombinedInfo.Mappers.push_back(nullptr);
|
||||
}
|
||||
}
|
||||
|
@ -8154,7 +8160,7 @@ public:
|
|||
for (const auto &M : Info) {
|
||||
// We need to know when we generate information for the first component
|
||||
// associated with a capture, because the mapping flags depend on it.
|
||||
bool IsFirstComponentList = true;
|
||||
bool IsFirstComponentList = !NotTargetParams;
|
||||
|
||||
// Temporary generated information.
|
||||
MapCombinedInfoTy CurInfo;
|
||||
|
@ -8227,7 +8233,8 @@ public:
|
|||
// If there is an entry in PartialStruct it means we have a struct with
|
||||
// individual members mapped. Emit an extra combined entry.
|
||||
if (PartialStruct.Base.isValid())
|
||||
emitCombinedEntry(CombinedInfo, CurInfo.Types, PartialStruct);
|
||||
emitCombinedEntry(CombinedInfo, CurInfo.Types, PartialStruct,
|
||||
NotTargetParams);
|
||||
|
||||
// We need to append the results of this capture to what we already have.
|
||||
CombinedInfo.append(CurInfo);
|
||||
|
@ -9584,7 +9591,8 @@ void CGOpenMPRuntime::emitTargetCall(
|
|||
CombinedInfo.Types);
|
||||
// Map any list items in a map clause that were not captures because they
|
||||
// weren't referenced within the construct.
|
||||
MEHandler.generateAllInfo(CombinedInfo, MappedVarSet);
|
||||
MEHandler.generateAllInfo(CombinedInfo, /*NotTargetParams=*/true,
|
||||
MappedVarSet);
|
||||
|
||||
TargetDataInfo Info;
|
||||
// Fill up the arrays and create the arguments.
|
||||
|
|
|
@ -11,193 +11,225 @@
|
|||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE00:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE00:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-USE: [[MTYPE00:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE00:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE00n:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE00n:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-USE: [[MTYPE00n:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE00n:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE01:@.+]] = private {{.*}}constant [1 x i64] [i64 400]
|
||||
// CK19: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-USE: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-NOUSE: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 1]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE02:@.+]] = private {{.*}}constant [1 x i64] [i64 240]
|
||||
// CK19: [[MTYPE02:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-USE: [[MTYPE02:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-NOUSE: [[MTYPE02:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE03:@.+]] = private {{.*}}constant [1 x i64] [i64 240]
|
||||
// CK19: [[MTYPE03:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE03:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE03:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE04:@.+]] = private {{.*}}constant [1 x i64] [i64 400]
|
||||
// CK19: [[MTYPE04:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-USE: [[MTYPE04:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE04:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE05:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE05:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-USE: [[MTYPE05:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-NOUSE: [[MTYPE05:@.+]] = private {{.*}}constant [1 x i64] [i64 1]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[MTYPE06:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE06:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE06:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[MTYPE07:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-USE: [[MTYPE07:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE07:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE08:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE08:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE08:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE08:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE09:@.+]] = private {{.*}}constant [1 x i64] [i64 {{8|4}}]
|
||||
// CK19: [[MTYPE09:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-USE: [[MTYPE09:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-NOUSE: [[MTYPE09:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE10:@.+]] = private {{.*}}constant [1 x i64] [i64 240]
|
||||
// CK19: [[MTYPE10:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE10:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE10:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE11:@.+]] = private {{.*}}constant [1 x i64] [i64 240]
|
||||
// CK19: [[MTYPE11:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-USE: [[MTYPE11:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE11:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE12:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE12:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-USE: [[MTYPE12:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-NOUSE: [[MTYPE12:@.+]] = private {{.*}}constant [1 x i64] [i64 1]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[MTYPE13:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-USE: [[MTYPE13:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE13:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[MTYPE14:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-USE: [[MTYPE14:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-NOUSE: [[MTYPE14:@.+]] = private {{.*}}constant [1 x i64] [i64 1]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE15:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE15:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-USE: [[MTYPE15:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-NOUSE: [[MTYPE15:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE16:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 33]
|
||||
// CK19-NOUSE: [[MTYPE16:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-NOUSE: [[MTYPE16:@.+]] = private {{.*}}constant [1 x i64] [i64 1]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[SIZE17:@.+]] = private {{.*}}constant [2 x i64] [i64 {{8|4}}, i64 240]
|
||||
// CK19-USE: [[MTYPE17:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 34]
|
||||
// CK19-NOUSE: [[SIZE17:@.+]] = private {{.*}}constant [1 x i64] [i64 240]
|
||||
// CK19-NOUSE: [[MTYPE17:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-NOUSE: [[MTYPE17:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[SIZE18:@.+]] = private {{.*}}constant [2 x i64] [i64 {{8|4}}, i64 240]
|
||||
// CK19-USE: [[MTYPE18:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 35]
|
||||
// CK19-NOUSE: [[SIZE18:@.+]] = private {{.*}}constant [1 x i64] [i64 240]
|
||||
// CK19-NOUSE: [[MTYPE18:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE18:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE19:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 32]
|
||||
// CK19-NOUSE: [[MTYPE19:@.+]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// CK19-NOUSE: [[MTYPE19:@.+]] = private {{.*}}constant [1 x i64] zeroinitializer
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[SIZE20:@.+]] = private {{.*}}constant [2 x i64] [i64 {{8|4}}, i64 4]
|
||||
// CK19-USE: [[MTYPE20:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 33]
|
||||
// CK19-NOUSE: [[SIZE20:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19-NOUSE: [[MTYPE20:@.+]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// CK19-NOUSE: [[MTYPE20:@.+]] = private {{.*}}constant [1 x i64] [i64 1]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE21:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 35]
|
||||
// CK19-NOUSE: [[MTYPE21:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE21:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[SIZE22:@.+]] = private {{.*}}constant [2 x i64] [i64 {{8|4}}, i64 4]
|
||||
// CK19-USE: [[MTYPE22:@.+]] = private {{.*}}constant [2 x i64] [i64 800, i64 35]
|
||||
// CK19-NOUSE: [[SIZE22:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19-NOUSE: [[MTYPE22:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE22:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE23:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE23:@.+]] = private {{.*}}constant [1 x i64] [i64 39]
|
||||
// CK19-USE: [[MTYPE23:@.+]] = private {{.*}}constant [1 x i64] [i64 39]
|
||||
// CK19-NOUSE: [[MTYPE23:@.+]] = private {{.*}}constant [1 x i64] [i64 7]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE24:@.+]] = private {{.*}}constant [1 x i64] [i64 480]
|
||||
// CK19: [[MTYPE24:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE24:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE24:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE25:@.+]] = private {{.*}}constant [1 x i64] [i64 16]
|
||||
// CK19: [[MTYPE25:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE25:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE25:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE26:@.+]] = private {{.*}}constant [1 x i64] [i64 24]
|
||||
// CK19: [[MTYPE26:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE26:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE26:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE27:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK19: [[MTYPE27:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE27:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE27:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE28:@.+]] = private {{.*}}constant [3 x i64] [i64 {{8|4}}, i64 {{8|4}}, i64 16]
|
||||
// CK19: [[MTYPE28:@.+]] = private {{.*}}constant [3 x i64] [i64 35, i64 16, i64 19]
|
||||
// CK19-USE: [[MTYPE28:@.+]] = private {{.*}}constant [3 x i64] [i64 35, i64 16, i64 19]
|
||||
// CK19-NOUSE: [[MTYPE28:@.+]] = private {{.*}}constant [3 x i64] [i64 3, i64 16, i64 19]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE29:@.+]] = private {{.*}}constant [3 x i64] [i64 {{8|4}}, i64 {{8|4}}, i64 4]
|
||||
// CK19: [[MTYPE29:@.+]] = private {{.*}}constant [3 x i64] [i64 35, i64 16, i64 19]
|
||||
// CK19-USE: [[MTYPE29:@.+]] = private {{.*}}constant [3 x i64] [i64 35, i64 16, i64 19]
|
||||
// CK19-NOUSE: [[MTYPE29:@.+]] = private {{.*}}constant [3 x i64] [i64 3, i64 16, i64 19]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE30:@.+]] = private {{.*}}constant [4 x i64] [i64 800, i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[MTYPE30:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE30:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[SIZE31:@.+]] = private {{.*}}constant [4 x i64] [i64 {{8|4}}, i64 {{8|4}}, i64 {{8|4}}, i64 40]
|
||||
// CK19-USE: [[MTYPE31:@.+]] = private {{.*}}constant [4 x i64] [i64 800, i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[SIZE31:@.+]] = private {{.*}}constant [1 x i64] [i64 40]
|
||||
// CK19-NOUSE: [[MTYPE31:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE31:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE32:@.+]] = private {{.*}}constant [1 x i64] [i64 13728]
|
||||
// CK19: [[MTYPE32:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE32:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE32:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE33:@.+]] = private {{.*}}constant [1 x i64] [i64 13728]
|
||||
// CK19: [[MTYPE33:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE33:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE33:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE34:@.+]] = private {{.*}}constant [1 x i64] [i64 13728]
|
||||
// CK19: [[MTYPE34:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE34:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE34:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[MTYPE35:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE35:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE35:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE36:@.+]] = private {{.*}}constant [1 x i64] [i64 208]
|
||||
// CK19: [[MTYPE36:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE36:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE36:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE37:@.+]] = private {{.*}}constant [3 x i64] [i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[MTYPE37:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE37:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE38:@.+]] = private {{.*}}constant [3 x i64] [i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[MTYPE38:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE38:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE39:@.+]] = private {{.*}}constant [3 x i64] [i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[MTYPE39:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE39:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[MTYPE40:@.+]] = private {{.*}}constant [3 x i64] [i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[MTYPE40:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE40:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19-USE: [[SIZE41:@.+]] = private {{.*}}constant [3 x i64] [i64 {{8|4}}, i64 {{8|4}}, i64 208]
|
||||
// CK19-USE: [[MTYPE41:@.+]] = private {{.*}}constant [3 x i64] [i64 800, i64 800, i64 35]
|
||||
// CK19-NOUSE: [[SIZE41:@.+]] = private {{.*}}constant [1 x i64] [i64 208]
|
||||
// CK19-NOUSE: [[MTYPE41:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE41:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE42:@.+]] = private {{.*}}constant [3 x i64] [i64 {{8|4}}, i64 {{8|4}}, i64 104]
|
||||
// CK19: [[MTYPE42:@.+]] = private {{.*}}constant [3 x i64] [i64 35, i64 16, i64 19]
|
||||
// CK19-USE: [[MTYPE42:@.+]] = private {{.*}}constant [3 x i64] [i64 35, i64 16, i64 19]
|
||||
// CK19-NOUSE: [[MTYPE42:@.+]] = private {{.*}}constant [3 x i64] [i64 3, i64 16, i64 19]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[MTYPE43:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-USE: [[MTYPE43:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK19-NOUSE: [[MTYPE43:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK19-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK19: [[SIZE44:@.+]] = private {{.*}}constant [1 x i64] [i64 320]
|
||||
// CK19: [[MTYPE44:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-USE: [[MTYPE44:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK19-NOUSE: [[MTYPE44:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK19-LABEL: explicit_maps_single{{.*}}(
|
||||
void explicit_maps_single (int ii){
|
||||
|
|
|
@ -64,25 +64,31 @@
|
|||
// CK21: [[ST:%.+]] = type { i32, i32, float* }
|
||||
|
||||
// CK21-LABEL: @.__omp_offloading_{{.*}}foo{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK21: [[MTYPE00:@.+]] = private {{.*}}constant [2 x i64] [i64 32, i64 281474976710659]
|
||||
// CK21-USE: [[MTYPE00:@.+]] = private {{.*}}constant [2 x i64] [i64 32, i64 281474976710659]
|
||||
// CK21-NOUSE: [[MTYPE00:@.+]] = private {{.*}}constant [2 x i64] [i64 0, i64 281474976710659]
|
||||
|
||||
// CK21-LABEL: @.__omp_offloading_{{.*}}foo{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK21: [[SIZE01:@.+]] = private {{.*}}constant [1 x i64] [i64 492]
|
||||
// CK21: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK21-USE: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 35]
|
||||
// CK21-NOUSE: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 3]
|
||||
|
||||
// CK21-LABEL: @.__omp_offloading_{{.*}}foo{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK21: [[MTYPE02:@.+]] = private {{.*}}constant [2 x i64] [i64 32, i64 281474976710674]
|
||||
// CK21-USE: [[MTYPE02:@.+]] = private {{.*}}constant [2 x i64] [i64 32, i64 281474976710674]
|
||||
// CK21-NOUSE: [[MTYPE02:@.+]] = private {{.*}}constant [2 x i64] [i64 0, i64 281474976710674]
|
||||
|
||||
// CK21-LABEL: @.__omp_offloading_{{.*}}foo{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK21: [[SIZE03:@.+]] = private {{.*}}constant [1 x i64] [i64 492]
|
||||
// CK21: [[MTYPE03:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK21-USE: [[MTYPE03:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK21-NOUSE: [[MTYPE03:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK21-LABEL: @.__omp_offloading_{{.*}}foo{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK21: [[SIZE04:@.+]] = private {{.*}}constant [1 x i64] [i64 4]
|
||||
// CK21: [[MTYPE04:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK21-USE: [[MTYPE04:@.+]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// CK21-NOUSE: [[MTYPE04:@.+]] = private {{.*}}constant [1 x i64] [i64 2]
|
||||
|
||||
// CK21-LABEL: @.__omp_offloading_{{.*}}foo{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK21: [[MTYPE05:@.+]] = private {{.*}}constant [3 x i64] [i64 32, i64 281474976710659, i64 281474976710659]
|
||||
// CK21-USE: [[MTYPE05:@.+]] = private {{.*}}constant [3 x i64] [i64 32, i64 281474976710659, i64 281474976710659]
|
||||
// CK21-NOUSE: [[MTYPE05:@.+]] = private {{.*}}constant [3 x i64] [i64 0, i64 281474976710659, i64 281474976710659]
|
||||
|
||||
// CK21-LABEL: explicit_maps_template_args_and_members{{.*}}(
|
||||
|
||||
|
|
|
@ -42,23 +42,27 @@ struct ST {
|
|||
// CK31A-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
//
|
||||
// PRESENT=0x1000 | TARGET_PARAM=0x20 = 0x1020
|
||||
// CK31A: [[MTYPE00:@.+]] = private {{.*}}constant [7 x i64] [i64 [[#0x1020]],
|
||||
// CK31A-USE: [[MTYPE00:@.+]] = private {{.*}}constant [7 x i64] [i64 [[#0x1020]],
|
||||
// CK31A-NOUSE: [[MTYPE00:@.+]] = private {{.*}}constant [7 x i64] [i64 [[#0x1000]],
|
||||
//
|
||||
// MEMBER_OF_1=0x1000000000000 | FROM=0x2 | TO=0x1 = 0x1000000000003
|
||||
// MEMBER_OF_1=0x1000000000000 | PRESENT=0x1000 | FROM=0x2 | TO=0x1 = 0x1000000001003
|
||||
// PRESENT=0x1000 | TARGET_PARAM=0x20 | FROM=0x2 | TO=0x1 = 0x1023
|
||||
// CK31A-SAME: {{^}} i64 [[#0x1000000000003]], i64 [[#0x1000000001003]], i64 [[#0x1023]],
|
||||
// CK31A-USE-SAME: {{^}} i64 [[#0x1000000000003]], i64 [[#0x1000000001003]], i64 [[#0x1023]],
|
||||
// CK31A-NOUSE-SAME: {{^}} i64 [[#0x1000000000003]], i64 [[#0x1000000001003]], i64 [[#0x1003]],
|
||||
//
|
||||
// PRESENT=0x1000 | TARGET_PARAM=0x20 = 0x1020
|
||||
// MEMBER_OF_5=0x5000000000000 | PRESENT=0x1000 | FROM=0x2 | TO=0x1 = 0x5000000001003
|
||||
// MEMBER_OF_5=0x5000000000000 | FROM=0x2 | TO=0x1 = 0x5000000000003
|
||||
// CK31A-SAME: {{^}} i64 [[#0x1020]], i64 [[#0x5000000001003]], i64 [[#0x5000000000003]]]
|
||||
// CK31A-USE-SAME: {{^}} i64 [[#0x1020]], i64 [[#0x5000000001003]], i64 [[#0x5000000000003]]]
|
||||
// CK31A-NOUSE-SAME: {{^}} i64 [[#0x1000]], i64 [[#0x5000000001003]], i64 [[#0x5000000000003]]]
|
||||
|
||||
// CK31A-LABEL: @.__omp_offloading_{{.*}}explicit_maps_single{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK31A: [[SIZE01:@.+]] = private {{.*}}constant [1 x i[[Z:64|32]]] [i[[Z:64|32]] 4]
|
||||
//
|
||||
// PRESENT=0x1000 | CLOSE=0x400 | TARGET_PARAM=0x20 | ALWAYS=0x4 | FROM=0x2 | TO=0x1 = 0x1427
|
||||
// CK31A: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 [[#0x1427]]]
|
||||
// CK31A-USE: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 [[#0x1427]]]
|
||||
// CK31A-NOUSE: [[MTYPE01:@.+]] = private {{.*}}constant [1 x i64] [i64 [[#0x1407]]]
|
||||
|
||||
// CK31A-LABEL: explicit_maps_single{{.*}}(
|
||||
void explicit_maps_single (int ii){
|
||||
|
|
|
@ -40,8 +40,10 @@
|
|||
// MEMBER_OF_1=0x1000000000000 | PRESENT=0x1000 | FROM=0x2 | TO=0x1 = 0x1000000001003
|
||||
|
||||
// CK31B-LABEL: @.__omp_offloading_{{.*}}test_present_members{{.*}}_l{{[0-9]+}}.region_id = weak constant i8 0
|
||||
// CK31B: [[MTYPE00:@.+]] = private {{.*}}constant [3 x i64] [i64 [[#0x1020]],
|
||||
// CK31B-SAME: {{^}} i64 [[#0x1000000000003]], i64 [[#0x1000000001003]]]
|
||||
// CK31B-USE: [[MTYPE00:@.+]] = private {{.*}}constant [3 x i64] [i64 [[#0x1020]],
|
||||
// CK31B-NOUSE: [[MTYPE00:@.+]] = private {{.*}}constant [3 x i64] [i64 [[#0x1000]],
|
||||
// CK31B-USE-SAME: {{^}} i64 [[#0x1000000000003]], i64 [[#0x1000000001003]]]
|
||||
// CK31B-NOUSE-SAME: {{^}} i64 [[#0x1000000000003]], i64 [[#0x1000000001003]]]
|
||||
|
||||
struct ST {
|
||||
int i;
|
||||
|
|
|
@ -20,16 +20,16 @@
|
|||
#ifndef HEADER
|
||||
#define HEADER
|
||||
|
||||
// HOST: @[[MAPTYPES_PRIVATE:.offload_maptypes[0-9.]*]] = private {{.*}}constant [2 x i64] [i64 35, i64 35]
|
||||
// HOST: @[[MAPTYPES_PRIVATE:.offload_maptypes[0-9.]*]] = private {{.*}}constant [2 x i64] [i64 3, i64 3]
|
||||
// HOST: @[[MAPTYPES_FIRSTPRIVATE:.offload_maptypes[0-9.]*]] = private {{.*}}constant [2 x i64] [i64 35, i64 35]
|
||||
// HOST: @[[MAPTYPES_REDUCTION:.offload_maptypes[0-9.]*]] = private {{.*}}constant [2 x i64] [i64 35, i64 35]
|
||||
// HOST: @[[MAPTYPES_FROM:.offload_maptypes[0-9.]*]] = private {{.*}}constant [1 x i64] [i64 34]
|
||||
// HOST: @[[MAPTYPES_TO:.offload_maptypes[0-9.]*]] = private {{.*}}constant [1 x i64] [i64 33]
|
||||
// HOST: @[[MAPTYPES_ALLOC:.offload_maptypes[0-9.]*]] = private {{.*}}constant [1 x i64] [i64 32]
|
||||
// HOST: @[[MAPTYPES_ARRAY_R0:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 35, i64 35, i64 35]
|
||||
// HOST: @[[MAPTYPES_ARRAY_R1:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 33, i64 33, i64 33]
|
||||
// HOST-INT128: @[[MAPTYPES_INT128_R0:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 35, i64 35, i64 35]
|
||||
// HOST-INT128: @[[MAPTYPES_INT128_R1:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 34, i64 34, i64 34]
|
||||
// HOST: @[[MAPTYPES_ARRAY_R0:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 35, i64 35, i64 3]
|
||||
// HOST: @[[MAPTYPES_ARRAY_R1:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 33, i64 33, i64 1]
|
||||
// HOST-INT128: @[[MAPTYPES_INT128_R0:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 35, i64 35, i64 3]
|
||||
// HOST-INT128: @[[MAPTYPES_INT128_R1:.offload_maptypes[0-9.]*]] = private {{.*}}constant [3 x i64] [i64 34, i64 34, i64 2]
|
||||
//
|
||||
// CHECK: @.omp_offloading.entry_name{{[0-9.]*}} = {{.*}} c"[[OFFLOAD_PRIVATE:__omp_offloading_[^"\\]*mapWithPrivate[^"\\]*]]\00"
|
||||
// CHECK: @.omp_offloading.entry_name{{[0-9.]*}} = {{.*}} c"[[OFFLOAD_FIRSTPRIVATE:__omp_offloading_[^"\\]*mapWithFirstprivate[^"\\]*]]\00"
|
||||
|
|
Loading…
Reference in New Issue