@@ -6,11 +6,8 @@ SPDX-License-Identifier: MIT
6
6
7
7
============================= end_copyright_notice ===========================*/
8
8
9
- #include < chrono>
10
-
11
9
#include " common/LLVMWarningsPush.hpp"
12
10
#include < llvm/Support/ScaledNumber.h>
13
- #include " llvm/ADT/PostOrderIterator.h"
14
11
#include < llvm/IR/LLVMContext.h>
15
12
#include < llvm/IR/Verifier.h>
16
13
#include < llvm/Analysis/CFGPrinter.h>
@@ -41,6 +38,7 @@ SPDX-License-Identifier: MIT
41
38
#include " Compiler/CISACodeGen/ShaderCodeGen.hpp"
42
39
#include " Compiler/CISACodeGen/EstimateFunctionSize.h"
43
40
#include " Compiler/CISACodeGen/FixAddrSpaceCast.h"
41
+ #include " Compiler/Optimizer/OpenCLPasses/GenericCastToPtrOpt/GenericCastToPtrOpt.hpp"
44
42
#include " Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/GASResolving.h"
45
43
#include " Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/GASRetValuePropagator.h"
46
44
#include " Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/StaticGASResolution.h"
@@ -63,35 +61,29 @@ SPDX-License-Identifier: MIT
63
61
#include " Compiler/Optimizer/OpenCLPasses/PrepareInlineSamplerForBindless/PrepareInlineSamplerForBindless.hpp"
64
62
#include " Compiler/Optimizer/OpenCLPasses/ResolveInlineSamplerForBindless/ResolveInlineSamplerForBindless.hpp"
65
63
#include " Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryUsageAnalysis.hpp"
66
- #include " Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryResolution.hpp"
67
64
#include " Compiler/Optimizer/OpenCLPasses/ProgramScopeConstants/ProgramScopeConstantAnalysis.hpp"
68
65
#include " Compiler/Optimizer/OpenCLPasses/ProgramScopeConstants/ProgramScopeConstantResolution.hpp"
69
66
#include " Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncsAnalysis.hpp"
70
67
#include " Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncResolution.hpp"
71
68
#include " Compiler/Optimizer/OpenCLPasses/ResourceAllocator/ResourceAllocator.hpp"
72
69
#include " Compiler/Optimizer/OpenCLPasses/BreakConstantExpr/BreakConstantExpr.hpp"
73
70
#include " Compiler/Optimizer/OpenCLPasses/LocalBuffers/InlineLocalsResolution.hpp"
74
- #include " Compiler/Optimizer/OpenCLPasses/ReplaceUnsupportedIntrinsics/ReplaceUnsupportedIntrinsics.hpp"
75
71
#include " Compiler/Optimizer/OpenCLPasses/Atomics/ResolveOCLAtomics.hpp"
76
72
#include " Compiler/Optimizer/OpenCLPasses/WGFuncs/WGFuncResolution.hpp"
77
73
#include " Compiler/Optimizer/OpenCLPasses/AlignmentAnalysis/AlignmentAnalysis.hpp"
78
- #include " Compiler/Optimizer/PreCompiledFuncImport.hpp"
79
74
#include " Compiler/Optimizer/OpenCLPasses/OpenCLPrintf/InjectPrintf.hpp"
80
75
#include " Compiler/Optimizer/OpenCLPasses/OpenCLPrintf/OpenCLPrintfAnalysis.hpp"
81
76
#include " Compiler/Optimizer/OpenCLPasses/OpenCLPrintf/OpenCLPrintfResolution.hpp"
82
77
#include " Compiler/Optimizer/OpenCLPasses/AggregateArguments/AggregateArguments.hpp"
83
78
#include " Compiler/Optimizer/OCLBIConverter.h"
84
79
#include " Compiler/Optimizer/OpenCLPasses/SetFastMathFlags/SetFastMathFlags.hpp"
85
80
#include " Compiler/Optimizer/OpenCLPasses/CorrectlyRoundedDivSqrt/CorrectlyRoundedDivSqrt.hpp"
86
- #include " Compiler/Optimizer/OpenCLPasses/GenericAddressResolution/GenericAddressDynamicResolution.hpp"
87
- #include " Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.h"
88
81
#include " Compiler/Optimizer/OpenCLPasses/DeviceEnqueueFuncs/DeviceEnqueue.hpp"
89
82
#include " Compiler/Optimizer/OpenCLPasses/UndefinedReferences/UndefinedReferencesPass.hpp"
90
83
#include " Compiler/Optimizer/OpenCLPasses/SubGroupFuncs/SubGroupFuncsResolution.hpp"
91
84
#include " Compiler/Optimizer/OpenCLPasses/BIFTransforms/BIFTransforms.hpp"
92
85
#include " Compiler/Optimizer/OpenCLPasses/BreakdownIntrinsic/BreakdownIntrinsic.h"
93
86
#include " Compiler/Optimizer/OpenCLPasses/TransformUnmaskedFunctionsPass/TransformUnmaskedFunctionsPass.h"
94
- #include " Compiler/Optimizer/OpenCLPasses/StatelessToStateful/StatelessToStateful.hpp"
95
87
#include " Compiler/Optimizer/OpenCLPasses/KernelFunctionCloning/KernelFunctionCloning.h"
96
88
#include " Compiler/Optimizer/OpenCLPasses/NontemporalLoadsAndStoresInAssert/NontemporalLoadsAndStoresInAssert.hpp"
97
89
#include " Compiler/Optimizer/OpenCLPasses/HandleDevicelibAssert/HandleDevicelibAssert.hpp"
@@ -114,13 +106,10 @@ SPDX-License-Identifier: MIT
114
106
#include " Compiler/Optimizer/OpenCLPasses/AccuracyDecoratedCallsBiFResolution/AccuracyDecoratedCallsBiFResolution.hpp"
115
107
#include " Compiler/Optimizer/OpenCLPasses/ScalarArgAsPointer/ScalarArgAsPointer.hpp"
116
108
#include " AdaptorCommon/RayTracing/RayTracingPasses.hpp"
117
- #include " Compiler/MetaDataApi/IGCMetaDataHelper.h"
118
109
#include " Compiler/CodeGenContextWrapper.hpp"
119
110
#include " Compiler/FixResourcePtr.hpp"
120
- #include " Compiler/InitializePasses.h"
121
111
#include " Compiler/MetaDataApi/SpirMetaDataApi.h"
122
112
#include " Compiler/Optimizer/ReduceOptPass.hpp"
123
- #include " Compiler/CustomUnsafeOptPass.hpp"
124
113
#include " MoveStaticAllocas.h"
125
114
#include " preprocess_spvir/PreprocessSPVIR.h"
126
115
#include " preprocess_spvir/ConvertUserSemanticDecoratorOnFunctions.h"
@@ -137,20 +126,15 @@ SPDX-License-Identifier: MIT
137
126
138
127
#include " common/debug/Debug.hpp"
139
128
#include " common/igc_regkeys.hpp"
140
- #include " common/debug/Dump.hpp"
141
- #include " common/MemStats.h"
142
129
143
130
#include < iStdLib/utility.h>
144
131
145
132
#include " Compiler/CISACodeGen/DebugInfo.hpp"
146
133
#include " Compiler/CISACodeGen/TimeStatsCounter.h"
147
134
#include " Compiler/DebugInfo/ScalarVISAModule.h"
148
- #include " Compiler/DebugInfo/Utils.h"
149
135
#include " Compiler/Builtins/BIFFlagCtrl/BIFFlagCtrlResolution.hpp"
150
- #include " DebugInfo/VISADebugEmitter.hpp"
151
136
152
137
#include < string>
153
- #include < algorithm>
154
138
155
139
#include < Metrics/IGCMetric.h>
156
140
@@ -400,6 +384,10 @@ static void CommonOCLBasedPasses(OpenCLProgramContext *pContext) {
400
384
// mark load and stores inside assert calls as nontemporal to avoid caching.
401
385
mpm.add (new NontemporalLoadsAndStoresInAssert ());
402
386
387
+ if (IGC_IS_FLAG_ENABLED (EnableGenericCastToPtrOpt)) {
388
+ mpm.add (new GenericCastToPtrOpt ());
389
+ }
390
+
403
391
// Report undef references after setting func attribs for import linking
404
392
mpm.add (new UndefinedReferencesPass ());
405
393
0 commit comments