Skip to content

Commit 8612042

Browse files
sys-igcigcbot
authored andcommitted
[Autobackout][FunctionalRegression]Revert of change: 0a4d70f: Add GenericCastToPtrOpt pass
In cases where we have no local casts to generics and we allocate private memory in global space, we can replace GenericCastToPtrExplicit with simple address space cast.
1 parent 0a4d70f commit 8612042

File tree

8 files changed

+17
-244
lines changed

8 files changed

+17
-244
lines changed

IGC/AdaptorOCL/UnifyIROCL.cpp

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ SPDX-License-Identifier: MIT
66
77
============================= end_copyright_notice ===========================*/
88

9+
#include <chrono>
10+
911
#include "common/LLVMWarningsPush.hpp"
1012
#include <llvm/Support/ScaledNumber.h>
13+
#include "llvm/ADT/PostOrderIterator.h"
1114
#include <llvm/IR/LLVMContext.h>
1215
#include <llvm/IR/Verifier.h>
1316
#include <llvm/Analysis/CFGPrinter.h>
@@ -38,7 +41,6 @@ SPDX-License-Identifier: MIT
3841
#include "Compiler/CISACodeGen/ShaderCodeGen.hpp"
3942
#include "Compiler/CISACodeGen/EstimateFunctionSize.h"
4043
#include "Compiler/CISACodeGen/FixAddrSpaceCast.h"
41-
#include "Compiler/Optimizer/OpenCLPasses/GenericCastToPtrOpt/GenericCastToPtrOpt.hpp"
4244
#include "Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/GASResolving.h"
4345
#include "Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/GASRetValuePropagator.h"
4446
#include "Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/StaticGASResolution.h"
@@ -61,29 +63,35 @@ SPDX-License-Identifier: MIT
6163
#include "Compiler/Optimizer/OpenCLPasses/PrepareInlineSamplerForBindless/PrepareInlineSamplerForBindless.hpp"
6264
#include "Compiler/Optimizer/OpenCLPasses/ResolveInlineSamplerForBindless/ResolveInlineSamplerForBindless.hpp"
6365
#include "Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryUsageAnalysis.hpp"
66+
#include "Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryResolution.hpp"
6467
#include "Compiler/Optimizer/OpenCLPasses/ProgramScopeConstants/ProgramScopeConstantAnalysis.hpp"
6568
#include "Compiler/Optimizer/OpenCLPasses/ProgramScopeConstants/ProgramScopeConstantResolution.hpp"
6669
#include "Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncsAnalysis.hpp"
6770
#include "Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncResolution.hpp"
6871
#include "Compiler/Optimizer/OpenCLPasses/ResourceAllocator/ResourceAllocator.hpp"
6972
#include "Compiler/Optimizer/OpenCLPasses/BreakConstantExpr/BreakConstantExpr.hpp"
7073
#include "Compiler/Optimizer/OpenCLPasses/LocalBuffers/InlineLocalsResolution.hpp"
74+
#include "Compiler/Optimizer/OpenCLPasses/ReplaceUnsupportedIntrinsics/ReplaceUnsupportedIntrinsics.hpp"
7175
#include "Compiler/Optimizer/OpenCLPasses/Atomics/ResolveOCLAtomics.hpp"
7276
#include "Compiler/Optimizer/OpenCLPasses/WGFuncs/WGFuncResolution.hpp"
7377
#include "Compiler/Optimizer/OpenCLPasses/AlignmentAnalysis/AlignmentAnalysis.hpp"
78+
#include "Compiler/Optimizer/PreCompiledFuncImport.hpp"
7479
#include "Compiler/Optimizer/OpenCLPasses/OpenCLPrintf/InjectPrintf.hpp"
7580
#include "Compiler/Optimizer/OpenCLPasses/OpenCLPrintf/OpenCLPrintfAnalysis.hpp"
7681
#include "Compiler/Optimizer/OpenCLPasses/OpenCLPrintf/OpenCLPrintfResolution.hpp"
7782
#include "Compiler/Optimizer/OpenCLPasses/AggregateArguments/AggregateArguments.hpp"
7883
#include "Compiler/Optimizer/OCLBIConverter.h"
7984
#include "Compiler/Optimizer/OpenCLPasses/SetFastMathFlags/SetFastMathFlags.hpp"
8085
#include "Compiler/Optimizer/OpenCLPasses/CorrectlyRoundedDivSqrt/CorrectlyRoundedDivSqrt.hpp"
86+
#include "Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/GenericAddressDynamicResolution.hpp"
87+
#include "Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.h"
8188
#include "Compiler/Optimizer/OpenCLPasses/DeviceEnqueueFuncs/DeviceEnqueue.hpp"
8289
#include "Compiler/Optimizer/OpenCLPasses/UndefinedReferences/UndefinedReferencesPass.hpp"
8390
#include "Compiler/Optimizer/OpenCLPasses/SubGroupFuncs/SubGroupFuncsResolution.hpp"
8491
#include "Compiler/Optimizer/OpenCLPasses/BIFTransforms/BIFTransforms.hpp"
8592
#include "Compiler/Optimizer/OpenCLPasses/BreakdownIntrinsic/BreakdownIntrinsic.h"
8693
#include "Compiler/Optimizer/OpenCLPasses/TransformUnmaskedFunctionsPass/TransformUnmaskedFunctionsPass.h"
94+
#include "Compiler/Optimizer/OpenCLPasses/StatelessToStateful/StatelessToStateful.hpp"
8795
#include "Compiler/Optimizer/OpenCLPasses/KernelFunctionCloning/KernelFunctionCloning.h"
8896
#include "Compiler/Optimizer/OpenCLPasses/NontemporalLoadsAndStoresInAssert/NontemporalLoadsAndStoresInAssert.hpp"
8997
#include "Compiler/Optimizer/OpenCLPasses/HandleDevicelibAssert/HandleDevicelibAssert.hpp"
@@ -106,10 +114,13 @@ SPDX-License-Identifier: MIT
106114
#include "Compiler/Optimizer/OpenCLPasses/AccuracyDecoratedCallsBiFResolution/AccuracyDecoratedCallsBiFResolution.hpp"
107115
#include "Compiler/Optimizer/OpenCLPasses/ScalarArgAsPointer/ScalarArgAsPointer.hpp"
108116
#include "AdaptorCommon/RayTracing/RayTracingPasses.hpp"
117+
#include "Compiler/MetaDataApi/IGCMetaDataHelper.h"
109118
#include "Compiler/CodeGenContextWrapper.hpp"
110119
#include "Compiler/FixResourcePtr.hpp"
120+
#include "Compiler/InitializePasses.h"
111121
#include "Compiler/MetaDataApi/SpirMetaDataApi.h"
112122
#include "Compiler/Optimizer/ReduceOptPass.hpp"
123+
#include "Compiler/CustomUnsafeOptPass.hpp"
113124
#include "MoveStaticAllocas.h"
114125
#include "preprocess_spvir/PreprocessSPVIR.h"
115126
#include "preprocess_spvir/ConvertUserSemanticDecoratorOnFunctions.h"
@@ -126,15 +137,20 @@ SPDX-License-Identifier: MIT
126137

127138
#include "common/debug/Debug.hpp"
128139
#include "common/igc_regkeys.hpp"
140+
#include "common/debug/Dump.hpp"
141+
#include "common/MemStats.h"
129142

130143
#include <iStdLib/utility.h>
131144

132145
#include "Compiler/CISACodeGen/DebugInfo.hpp"
133146
#include "Compiler/CISACodeGen/TimeStatsCounter.h"
134147
#include "Compiler/DebugInfo/ScalarVISAModule.h"
148+
#include "Compiler/DebugInfo/Utils.h"
135149
#include "Compiler/Builtins/BIFFlagCtrl/BIFFlagCtrlResolution.hpp"
150+
#include "DebugInfo/VISADebugEmitter.hpp"
136151

137152
#include <string>
153+
#include <algorithm>
138154

139155
#include <Metrics/IGCMetric.h>
140156

@@ -382,10 +398,6 @@ static void CommonOCLBasedPasses(OpenCLProgramContext *pContext) {
382398
// mark load and stores inside assert calls as nontemporal to avoid caching.
383399
mpm.add(new NontemporalLoadsAndStoresInAssert());
384400

385-
if (IGC_IS_FLAG_ENABLED(EnableGenericCastToPtrOpt)) {
386-
mpm.add(new GenericCastToPtrOpt());
387-
}
388-
389401
// Report undef references after setting func attribs for import linking
390402
mpm.add(new UndefinedReferencesPass());
391403

IGC/Compiler/InitializePasses.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ void initializeErrorCheckPass(llvm::PassRegistry &);
6363
void initializePoisonFP64KernelsPass(llvm::PassRegistry &);
6464
void initializeReduceOptPassPass(llvm::PassRegistry &);
6565
void initializeTypesLegalizationPassPass(llvm::PassRegistry &);
66-
void initializeGenericCastToPtrOptPass(llvm::PassRegistry &);
6766
void initializeGASResolvingPass(llvm::PassRegistry &);
6867
void initializeGASRetValuePropagatorPass(llvm::PassRegistry &);
6968
void initializeStaticGASResolutionPass(llvm::PassRegistry &);

IGC/Compiler/Optimizer/OpenCLPasses/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ add_subdirectory(DpasFuncs)
2323
add_subdirectory(BfloatFuncs)
2424
add_subdirectory(ErrorCheckPass)
2525
add_subdirectory(ExtensionFuncs)
26-
add_subdirectory(GenericCastToPtrOpt)
2726
add_subdirectory(GEPLoopStrengthReduction)
2827
add_subdirectory(GenericAddressResolution)
2928
add_subdirectory(HandleDevicelibAssert)
@@ -83,7 +82,6 @@ set(IGC_BUILD__SRC__Optimizer_OpenCLPasses_All
8382
${IGC_BUILD__SRC__OpenCLPasses_BfloatFuncs}
8483
${IGC_BUILD__SRC__OpenCLPasses_ErrorCheckPass}
8584
${IGC_BUILD__SRC__OpenCLPasses_ExtensionFuncs}
86-
${IGC_BUILD__SRC__OpenCLPasses_GenericCastToPtrOpt}
8785
${IGC_BUILD__SRC__OpenCLPasses_GEPLoopStrengthReduction}
8886
${IGC_BUILD__SRC__OpenCLPasses_GenericAddressResolution}
8987
${IGC_BUILD__SRC__OpenCLPasses_HandleDevicelibAssert}
@@ -147,7 +145,6 @@ set(IGC_BUILD__HDR__Optimizer_OpenCLPasses_All
147145
${IGC_BUILD__HDR__OpenCLPasses_BfloatFuncs}
148146
${IGC_BUILD__HDR__OpenCLPasses_ErrorCheckPass}
149147
${IGC_BUILD__HDR__OpenCLPasses_ExtensionFuncs}
150-
${IGC_BUILD__HDR__OpenCLPasses_GenericCastToPtrOpt}
151148
${IGC_BUILD__HDR__OpenCLPasses_GEPLoopStrengthReduction}
152149
${IGC_BUILD__HDR__OpenCLPasses_GenericAddressResolution}
153150
${IGC_BUILD__HDR__OpenCLPasses_HandleDevicelibAssert}
@@ -212,7 +209,6 @@ set(IGC_BUILD_Compiler_OpenCLPasses_Groups
212209
Compiler__OpenCLPasses_BfloatFuncs
213210
Compiler__OpenCLPasses_ErrorCheckPass
214211
Compiler__OpenCLPasses_ExtensionFuncs
215-
Compiler__OpenCLPasses_GenericCastToPtrOpt
216212
Compiler__OpenCLPasses_GEPLoopStrengthReduction
217213
Compiler__OpenCLPasses_GenericAddressResolution
218214
Compiler__OpenCLPasses_GenericAddressSpaceStaticResolution

IGC/Compiler/Optimizer/OpenCLPasses/GenericCastToPtrOpt/CMakeLists.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.

IGC/Compiler/Optimizer/OpenCLPasses/GenericCastToPtrOpt/GenericCastToPtrOpt.cpp

Lines changed: 0 additions & 124 deletions
This file was deleted.

IGC/Compiler/Optimizer/OpenCLPasses/GenericCastToPtrOpt/GenericCastToPtrOpt.hpp

Lines changed: 0 additions & 33 deletions
This file was deleted.

IGC/Compiler/tests/GenericCastToPtrOpt/generic-cast-to-ptr.ll

Lines changed: 0 additions & 44 deletions
This file was deleted.

IGC/common/igc_flags.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -974,9 +974,6 @@ DECLARE_IGC_REGKEY(bool, EnablePreRARematFlag, true, "Enable PreRA Rematerializa
974974
DECLARE_IGC_REGKEY(bool, EnableGASResolver, true, "Enable GAS Resolver", false)
975975
DECLARE_IGC_REGKEY(bool, EnableLowerGPCallArg, true, "Enable pass to lower generic pointers in function arguments",
976976
false)
977-
DECLARE_IGC_REGKEY(
978-
bool, EnableGenericCastToPtrOpt, true,
979-
"Enable simplification of GenericCastToPtrExplicit_ToGlobal calls", false)
980977
DECLARE_IGC_REGKEY(bool, DisableRecompilation, false, "Disable recompilation, skip retry stage", true)
981978
DECLARE_IGC_REGKEY(bool, SampleMultiversioning, false,
982979
"Create branches aroung samplers which can be redundant with some values", false)

0 commit comments

Comments
 (0)