Lines Matching refs:optimizer
46 #include "spirv-tools/optimizer.hpp"
174 // Apply the SPIRV-Tools optimizer to generated SPIR-V. HLSL SPIR-V is legalized in the process.
180 spvtools::Optimizer optimizer(target_env);
181 optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
188 optimizer.RegisterPass(spvtools::CreateStripDebugInfoPass());
190 optimizer.RegisterPass(spvtools::CreateWrapOpKillPass());
191 optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass());
192 optimizer.RegisterPass(spvtools::CreateMergeReturnPass());
193 optimizer.RegisterPass(spvtools::CreateInlineExhaustivePass());
194 optimizer.RegisterPass(spvtools::CreateEliminateDeadFunctionsPass());
195 optimizer.RegisterPass(spvtools::CreateScalarReplacementPass());
196 optimizer.RegisterPass(spvtools::CreateLocalAccessChainConvertPass());
197 optimizer.RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass());
198 optimizer.RegisterPass(spvtools::CreateLocalSingleStoreElimPass());
199 optimizer.RegisterPass(spvtools::CreateSimplificationPass());
200 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
201 optimizer.RegisterPass(spvtools::CreateVectorDCEPass());
202 optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass());
203 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
204 optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass());
205 optimizer.RegisterPass(spvtools::CreateBlockMergePass());
206 optimizer.RegisterPass(spvtools::CreateLocalMultiStoreElimPass());
207 optimizer.RegisterPass(spvtools::CreateIfConversionPass());
208 optimizer.RegisterPass(spvtools::CreateSimplificationPass());
209 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
210 optimizer.RegisterPass(spvtools::CreateVectorDCEPass());
211 optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass());
212 optimizer.RegisterPass(spvtools::CreateInterpolateFixupPass());
214 optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass());
215 optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsSafePass());
217 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
218 optimizer.RegisterPass(spvtools::CreateCFGCleanupPass());
221 optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger));
223 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
231 spvtools::Optimizer optimizer(target_env);
232 optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
234 optimizer.RegisterPass(spvtools::CreateAnalyzeLiveInputPass(live_locs, live_builtins));
237 optimizer.SetTargetEnv(target_env);
239 return optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
247 spvtools::Optimizer optimizer(target_env);
248 optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
250 optimizer.RegisterPass(spvtools::CreateEliminateDeadOutputStoresPass(live_locs, live_builtins));
251 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass(false, true));
252 optimizer.RegisterPass(spvtools::CreateEliminateDeadOutputComponentsPass());
253 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass(false, true));
256 optimizer.SetTargetEnv(target_env);
258 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
264 spvtools::Optimizer optimizer(target_env);
265 optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
267 optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsPass());
268 optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
271 optimizer.SetTargetEnv(target_env);
273 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
276 // Apply the SPIRV-Tools optimizer to strip debug info from SPIR-V. This is implicitly done by
284 spvtools::Optimizer optimizer(target_env);
285 optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
287 optimizer.RegisterPass(spvtools::CreateStripDebugInfoPass());
290 optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger));
292 optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);