Skip to content

Commit ddbaa11

Browse files
committed
Revert "[OpenMP][NFC] Add min/max threads/teams count into the KernelEnvironment (#70257)"
This reverts commit c2a1249. The MLIR bots are broken with an omp test failure.
1 parent 7fe29e5 commit ddbaa11

31 files changed

+280
-323
lines changed

llvm/include/llvm/Frontend/OpenMP/OMPKinds.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ __OMP_STRUCT_TYPE(AsyncInfo, __tgt_async_info, false, Int8Ptr)
9595
__OMP_STRUCT_TYPE(DependInfo, kmp_dep_info, false, SizeTy, SizeTy, Int8)
9696
__OMP_STRUCT_TYPE(Task, kmp_task_ompbuilder_t, false, VoidPtr, VoidPtr, Int32, VoidPtr, VoidPtr)
9797
__OMP_STRUCT_TYPE(ConfigurationEnvironment, ConfigurationEnvironmentTy, false,
98-
Int8, Int8, Int8, Int32, Int32, Int32, Int32)
98+
Int8, Int8, Int8)
9999
__OMP_STRUCT_TYPE(DynamicEnvironment, DynamicEnvironmentTy, false, Int16)
100100
__OMP_STRUCT_TYPE(KernelEnvironment, KernelEnvironmentTy, false,
101101
ConfigurationEnvironment, IdentPtr, DynamicEnvironmentPtr)

llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4071,21 +4071,18 @@ OpenMPIRBuilder::createTargetInit(const LocationDescription &Loc, bool IsSPMD) {
40714071
uint32_t SrcLocStrSize;
40724072
Constant *SrcLocStr = getOrCreateSrcLocStr(Loc, SrcLocStrSize);
40734073
Constant *Ident = getOrCreateIdent(SrcLocStr, SrcLocStrSize);
4074-
Constant *IsSPMDVal = ConstantInt::getSigned(
4075-
Int8, IsSPMD ? OMP_TGT_EXEC_MODE_SPMD : OMP_TGT_EXEC_MODE_GENERIC);
4076-
Constant *UseGenericStateMachineVal = ConstantInt::getSigned(Int8, !IsSPMD);
4077-
Constant *MayUseNestedParallelismVal = ConstantInt::getSigned(Int8, true);
4078-
Constant *DebugIndentionLevelVal = ConstantInt::getSigned(Int16, 0);
4079-
4080-
Function *Kernel = Builder.GetInsertBlock()->getParent();
4081-
auto [MinThreadsVal, MaxThreadsVal] = readThreadBoundsForKernel(*Kernel);
4082-
auto [MinTeamsVal, MaxTeamsVal] = readTeamBoundsForKernel(*Kernel);
4083-
Constant *MinThreads = ConstantInt::getSigned(Int32, MinThreadsVal);
4084-
Constant *MaxThreads = ConstantInt::getSigned(Int32, MaxThreadsVal);
4085-
Constant *MinTeams = ConstantInt::getSigned(Int32, MinTeamsVal);
4086-
Constant *MaxTeams = ConstantInt::getSigned(Int32, MaxTeamsVal);
4074+
ConstantInt *IsSPMDVal = ConstantInt::getSigned(
4075+
IntegerType::getInt8Ty(Int8->getContext()),
4076+
IsSPMD ? OMP_TGT_EXEC_MODE_SPMD : OMP_TGT_EXEC_MODE_GENERIC);
4077+
ConstantInt *UseGenericStateMachineVal = ConstantInt::getSigned(
4078+
IntegerType::getInt8Ty(Int8->getContext()), !IsSPMD);
4079+
ConstantInt *MayUseNestedParallelismVal =
4080+
ConstantInt::getSigned(IntegerType::getInt8Ty(Int8->getContext()), true);
4081+
ConstantInt *DebugIndentionLevelVal =
4082+
ConstantInt::getSigned(IntegerType::getInt16Ty(Int8->getContext()), 0);
40874083

40884084
// We need to strip the debug prefix to get the correct kernel name.
4085+
Function *Kernel = Builder.GetInsertBlock()->getParent();
40894086
StringRef KernelName = Kernel->getName();
40904087
const std::string DebugPrefix = "_debug__";
40914088
if (KernelName.ends_with(DebugPrefix))
@@ -4116,10 +4113,6 @@ OpenMPIRBuilder::createTargetInit(const LocationDescription &Loc, bool IsSPMD) {
41164113
UseGenericStateMachineVal,
41174114
MayUseNestedParallelismVal,
41184115
IsSPMDVal,
4119-
MinThreads,
4120-
MaxThreads,
4121-
MinTeams,
4122-
MaxTeams,
41234116
});
41244117
Constant *KernelEnvironmentInitializer = ConstantStruct::get(
41254118
KernelEnvironment, {

llvm/lib/Transforms/IPO/OpenMPOpt.cpp

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,6 @@ namespace KernelInfo {
191191
// uint8_t UseGenericStateMachine;
192192
// uint8_t MayUseNestedParallelism;
193193
// llvm::omp::OMPTgtExecModeFlags ExecMode;
194-
// int32_t MinThreads;
195-
// int32_t MaxThreads;
196-
// int32_t MinTeams;
197-
// int32_t MaxTeams;
198194
// };
199195

200196
// struct DynamicEnvironmentTy {
@@ -221,10 +217,6 @@ KERNEL_ENVIRONMENT_IDX(Ident, 1)
221217
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(UseGenericStateMachine, 0)
222218
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(MayUseNestedParallelism, 1)
223219
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(ExecMode, 2)
224-
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(MinThreads, 3)
225-
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(MaxThreads, 4)
226-
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(MinTeams, 5)
227-
KERNEL_ENVIRONMENT_CONFIGURATION_IDX(MaxTeams, 6)
228220

229221
#undef KERNEL_ENVIRONMENT_CONFIGURATION_IDX
230222

@@ -249,10 +241,6 @@ KERNEL_ENVIRONMENT_GETTER(Configuration, ConstantStruct)
249241
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(UseGenericStateMachine)
250242
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(MayUseNestedParallelism)
251243
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(ExecMode)
252-
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(MinThreads)
253-
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(MaxThreads)
254-
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(MinTeams)
255-
KERNEL_ENVIRONMENT_CONFIGURATION_GETTER(MaxTeams)
256244

257245
#undef KERNEL_ENVIRONMENT_CONFIGURATION_GETTER
258246

@@ -3648,10 +3636,6 @@ struct AAKernelInfoFunction : AAKernelInfo {
36483636
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(UseGenericStateMachine)
36493637
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(MayUseNestedParallelism)
36503638
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(ExecMode)
3651-
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(MinThreads)
3652-
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(MaxThreads)
3653-
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(MinTeams)
3654-
KERNEL_ENVIRONMENT_CONFIGURATION_SETTER(MaxTeams)
36553639

36563640
#undef KERNEL_ENVIRONMENT_CONFIGURATION_SETTER
36573641

@@ -3739,19 +3723,6 @@ struct AAKernelInfoFunction : AAKernelInfo {
37393723
else
37403724
setExecModeOfKernelEnvironment(AssumedExecModeC);
37413725

3742-
auto *Int32Ty = Type::getInt32Ty(Fn->getContext());
3743-
auto [MinThreads, MaxThreads] =
3744-
OpenMPIRBuilder::readThreadBoundsForKernel(*Fn);
3745-
if (MinThreads)
3746-
setMinThreadsOfKernelEnvironment(ConstantInt::get(Int32Ty, MinThreads));
3747-
if (MaxThreads)
3748-
setMaxThreadsOfKernelEnvironment(ConstantInt::get(Int32Ty, MaxThreads));
3749-
auto [MinTeams, MaxTeams] = OpenMPIRBuilder::readTeamBoundsForKernel(*Fn);
3750-
if (MinTeams)
3751-
setMinTeamsOfKernelEnvironment(ConstantInt::get(Int32Ty, MinTeams));
3752-
if (MaxTeams)
3753-
setMaxTeamsOfKernelEnvironment(ConstantInt::get(Int32Ty, MaxTeams));
3754-
37553726
ConstantInt *MayUseNestedParallelismC =
37563727
KernelInfo::getMayUseNestedParallelismFromKernelEnvironment(KernelEnvC);
37573728
ConstantInt *AssumedMayUseNestedParallelismC = ConstantInt::get(

llvm/test/Transforms/OpenMP/always_inline_device.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33

44
%struct.ident_t = type { i32, i32, i32, i32, ptr }
55
%struct.KernelEnvironmentTy = type { %struct.ConfigurationEnvironmentTy, ptr, ptr }
6-
%struct.ConfigurationEnvironmentTy = type { i8, i8, i8, i32, i32, i32, i32 }
6+
%struct.ConfigurationEnvironmentTy = type { i8, i8, i8 }
77
@0 = private unnamed_addr constant [23 x i8] c";unknown;unknown;0;0;;\00", align 1
88
@1 = private unnamed_addr constant %struct.ident_t { i32 0, i32 2, i32 0, i32 0, ptr @0 }, align 8
99
@G = external global i8
1010

11-
@kernel_environment = local_unnamed_addr constant %struct.KernelEnvironmentTy { %struct.ConfigurationEnvironmentTy { i8 1, i8 0, i8 1, i32 0, i32 0, i32 0, i32 0 }, ptr @1, ptr null }
11+
@kernel_environment = local_unnamed_addr constant %struct.KernelEnvironmentTy { %struct.ConfigurationEnvironmentTy { i8 1, i8 0, i8 1 }, ptr @1, ptr null }
1212

1313
; Function Attrs: convergent norecurse nounwind
1414
;.
1515
; CHECK: @[[GLOB0:[0-9]+]] = private unnamed_addr constant [23 x i8] c"
1616
; CHECK: @[[GLOB1:[0-9]+]] = private unnamed_addr constant [[STRUCT_IDENT_T:%.*]] { i32 0, i32 2, i32 0, i32 0, ptr @[[GLOB0]] }, align 8
1717
; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = external global i8
18-
; CHECK: @[[KERNEL_ENVIRONMENT:[a-zA-Z0-9_$"\\.-]+]] = local_unnamed_addr constant [[STRUCT_KERNELENVIRONMENTTY:%.*]] { [[STRUCT_CONFIGURATIONENVIRONMENTTY:%.*]] { i8 0, i8 0, i8 3, i32 0, i32 0, i32 0, i32 0 }, ptr @[[GLOB1]], ptr null }
18+
; CHECK: @[[KERNEL_ENVIRONMENT:[a-zA-Z0-9_$"\\.-]+]] = local_unnamed_addr constant [[STRUCT_KERNELENVIRONMENTTY:%.*]] { [[STRUCT_CONFIGURATIONENVIRONMENTTY:%.*]] { i8 0, i8 0, i8 3 }, ptr @[[GLOB1]], ptr null }
1919
;.
2020
define weak void @__omp_offloading_fd02_c0934fc2_foo_l4() #0 {
2121
; CHECK: Function Attrs: norecurse nounwind

0 commit comments

Comments
 (0)