• Home
  • Raw
  • Download

Lines Matching full:optimizer

46 #include "spirv-tools/optimizer.hpp"
92 // Callback passed to spvtools::Optimizer::SetMessageConsumer
183 // Apply the SPIRV-Tools optimizer to generated SPIR-V. HLSL SPIR-V is legalized in the process.
189 spvtools::Optimizer optimizer(target_env); in SpirvToolsTransform() local
190 optimizer.SetMessageConsumer(OptimizerMesssageConsumer); in SpirvToolsTransform()
197 optimizer.RegisterPass(spvtools::CreateStripDebugInfoPass()); in SpirvToolsTransform()
199 optimizer.RegisterPass(spvtools::CreateWrapOpKillPass()); in SpirvToolsTransform()
200 optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass()); in SpirvToolsTransform()
201 optimizer.RegisterPass(spvtools::CreateMergeReturnPass()); in SpirvToolsTransform()
202 optimizer.RegisterPass(spvtools::CreateInlineExhaustivePass()); in SpirvToolsTransform()
203 optimizer.RegisterPass(spvtools::CreateEliminateDeadFunctionsPass()); in SpirvToolsTransform()
204 optimizer.RegisterPass(spvtools::CreateScalarReplacementPass()); in SpirvToolsTransform()
205 optimizer.RegisterPass(spvtools::CreateLocalAccessChainConvertPass()); in SpirvToolsTransform()
206 optimizer.RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass()); in SpirvToolsTransform()
207 optimizer.RegisterPass(spvtools::CreateLocalSingleStoreElimPass()); in SpirvToolsTransform()
208 optimizer.RegisterPass(spvtools::CreateSimplificationPass()); in SpirvToolsTransform()
209 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); in SpirvToolsTransform()
210 optimizer.RegisterPass(spvtools::CreateVectorDCEPass()); in SpirvToolsTransform()
211 optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass()); in SpirvToolsTransform()
212 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); in SpirvToolsTransform()
213 optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass()); in SpirvToolsTransform()
214 optimizer.RegisterPass(spvtools::CreateBlockMergePass()); in SpirvToolsTransform()
215 optimizer.RegisterPass(spvtools::CreateLocalMultiStoreElimPass()); in SpirvToolsTransform()
216 optimizer.RegisterPass(spvtools::CreateIfConversionPass()); in SpirvToolsTransform()
217 optimizer.RegisterPass(spvtools::CreateSimplificationPass()); in SpirvToolsTransform()
218 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); in SpirvToolsTransform()
219 optimizer.RegisterPass(spvtools::CreateVectorDCEPass()); in SpirvToolsTransform()
220 optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass()); in SpirvToolsTransform()
221 optimizer.RegisterPass(spvtools::CreateInterpolateFixupPass()); in SpirvToolsTransform()
223 optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass()); in SpirvToolsTransform()
224 optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsSafePass()); in SpirvToolsTransform()
226 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); in SpirvToolsTransform()
227 optimizer.RegisterPass(spvtools::CreateCFGCleanupPass()); in SpirvToolsTransform()
232 optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger)); in SpirvToolsTransform()
234 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); in SpirvToolsTransform()
238 spvtools::Optimizer optimizer2(target_env); in SpirvToolsTransform()
251 spvtools::Optimizer optimizer(target_env); in SpirvToolsAnalyzeDeadOutputStores() local
252 optimizer.SetMessageConsumer(OptimizerMesssageConsumer); in SpirvToolsAnalyzeDeadOutputStores()
254 optimizer.RegisterPass(spvtools::CreateAnalyzeLiveInputPass(live_locs, live_builtins)); in SpirvToolsAnalyzeDeadOutputStores()
257 optimizer.SetTargetEnv(target_env); in SpirvToolsAnalyzeDeadOutputStores()
259 return optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); in SpirvToolsAnalyzeDeadOutputStores()
267 spvtools::Optimizer optimizer(target_env); in SpirvToolsEliminateDeadOutputStores() local
268 optimizer.SetMessageConsumer(OptimizerMesssageConsumer); in SpirvToolsEliminateDeadOutputStores()
270 optimizer.RegisterPass(spvtools::CreateEliminateDeadOutputStoresPass(live_locs, live_builtins)); in SpirvToolsEliminateDeadOutputStores()
271 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass(false, true)); in SpirvToolsEliminateDeadOutputStores()
272 optimizer.RegisterPass(spvtools::CreateEliminateDeadOutputComponentsPass()); in SpirvToolsEliminateDeadOutputStores()
273 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass(false, true)); in SpirvToolsEliminateDeadOutputStores()
276 optimizer.SetTargetEnv(target_env); in SpirvToolsEliminateDeadOutputStores()
278 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); in SpirvToolsEliminateDeadOutputStores()
284 spvtools::Optimizer optimizer(target_env); in SpirvToolsEliminateDeadInputComponents() local
285 optimizer.SetMessageConsumer(OptimizerMesssageConsumer); in SpirvToolsEliminateDeadInputComponents()
287 optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsPass()); in SpirvToolsEliminateDeadInputComponents()
288 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); in SpirvToolsEliminateDeadInputComponents()
291 optimizer.SetTargetEnv(target_env); in SpirvToolsEliminateDeadInputComponents()
293 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); in SpirvToolsEliminateDeadInputComponents()
296 // Apply the SPIRV-Tools optimizer to strip debug info from SPIR-V. This is implicitly done by
304 spvtools::Optimizer optimizer(target_env); in SpirvToolsStripDebugInfo() local
305 optimizer.SetMessageConsumer(OptimizerMesssageConsumer); in SpirvToolsStripDebugInfo()
307 optimizer.RegisterPass(spvtools::CreateStripDebugInfoPass()); in SpirvToolsStripDebugInfo()
310 optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger)); in SpirvToolsStripDebugInfo()
312 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); in SpirvToolsStripDebugInfo()