• Home
  • Raw
  • Download

Lines Matching full:optimizer

15 #include "spirv-tools/optimizer.hpp"
45 struct Optimizer::PassToken::Impl {
51 Optimizer::PassToken::PassToken( in PassToken()
52 std::unique_ptr<Optimizer::PassToken::Impl> impl) in PassToken()
55 Optimizer::PassToken::PassToken(std::unique_ptr<opt::Pass>&& pass) in PassToken()
56 : impl_(MakeUnique<Optimizer::PassToken::Impl>(std::move(pass))) {} in PassToken()
58 Optimizer::PassToken::PassToken(PassToken&& that) in PassToken()
61 Optimizer::PassToken& Optimizer::PassToken::operator=(PassToken&& that) { in operator =()
66 Optimizer::PassToken::~PassToken() {} in ~PassToken()
68 struct Optimizer::Impl {
76 Optimizer::Optimizer(spv_target_env env) : impl_(new Impl(env)) { in Optimizer() function in spvtools::Optimizer
80 Optimizer::~Optimizer() {} in ~Optimizer()
82 void Optimizer::SetMessageConsumer(MessageConsumer c) { in SetMessageConsumer()
90 const MessageConsumer& Optimizer::consumer() const { in consumer()
94 Optimizer& Optimizer::RegisterPass(PassToken&& p) { in RegisterPass()
122 Optimizer& Optimizer::RegisterLegalizationPasses(bool preserve_interface) { in RegisterLegalizationPasses()
174 Optimizer& Optimizer::RegisterLegalizationPasses() { in RegisterLegalizationPasses()
178 Optimizer& Optimizer::RegisterPerformancePasses(bool preserve_interface) { in RegisterPerformancePasses()
225 Optimizer& Optimizer::RegisterPerformancePasses() { in RegisterPerformancePasses()
229 Optimizer& Optimizer::RegisterSizePasses(bool preserve_interface) { in RegisterSizePasses()
265 Optimizer& Optimizer::RegisterSizePasses() { return RegisterSizePasses(false); } in RegisterSizePasses()
267 bool Optimizer::RegisterPassesFromFlags(const std::vector<std::string>& flags) { in RegisterPassesFromFlags()
271 bool Optimizer::RegisterPassesFromFlags(const std::vector<std::string>& flags, in RegisterPassesFromFlags()
282 bool Optimizer::FlagHasValidForm(const std::string& flag) const { in FlagHasValidForm()
297 bool Optimizer::RegisterPassFromFlag(const std::string& flag) { in RegisterPassFromFlag()
301 bool Optimizer::RegisterPassFromFlag(const std::string& flag, in RegisterPassFromFlag()
638 void Optimizer::SetTargetEnv(const spv_target_env env) { in SetTargetEnv()
642 bool Optimizer::Run(const uint32_t* original_binary, in Run()
649 bool Optimizer::Run(const uint32_t* original_binary, in Run()
661 bool Optimizer::Run(const uint32_t* original_binary, in Run()
702 "Binary size unexpectedly changed despite the optimizer saying " in Run()
711 "Binary content unexpectedly changed despite the optimizer saying " in Run()
725 Optimizer& Optimizer::SetPrintAll(std::ostream* out) { in SetPrintAll()
730 Optimizer& Optimizer::SetTimeReport(std::ostream* out) { in SetTimeReport()
735 Optimizer& Optimizer::SetValidateAfterAll(bool validate) { in SetValidateAfterAll()
740 Optimizer::PassToken CreateNullPass() { in CreateNullPass()
741 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::NullPass>()); in CreateNullPass()
744 Optimizer::PassToken CreateStripDebugInfoPass() { in CreateStripDebugInfoPass()
745 return MakeUnique<Optimizer::PassToken::Impl>( in CreateStripDebugInfoPass()
749 Optimizer::PassToken CreateStripReflectInfoPass() { in CreateStripReflectInfoPass()
753 Optimizer::PassToken CreateStripNonSemanticInfoPass() { in CreateStripNonSemanticInfoPass()
754 return MakeUnique<Optimizer::PassToken::Impl>( in CreateStripNonSemanticInfoPass()
758 Optimizer::PassToken CreateEliminateDeadFunctionsPass() { in CreateEliminateDeadFunctionsPass()
759 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadFunctionsPass()
763 Optimizer::PassToken CreateEliminateDeadMembersPass() { in CreateEliminateDeadMembersPass()
764 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadMembersPass()
768 Optimizer::PassToken CreateSetSpecConstantDefaultValuePass( in CreateSetSpecConstantDefaultValuePass()
770 return MakeUnique<Optimizer::PassToken::Impl>( in CreateSetSpecConstantDefaultValuePass()
774 Optimizer::PassToken CreateSetSpecConstantDefaultValuePass( in CreateSetSpecConstantDefaultValuePass()
776 return MakeUnique<Optimizer::PassToken::Impl>( in CreateSetSpecConstantDefaultValuePass()
780 Optimizer::PassToken CreateFlattenDecorationPass() { in CreateFlattenDecorationPass()
781 return MakeUnique<Optimizer::PassToken::Impl>( in CreateFlattenDecorationPass()
785 Optimizer::PassToken CreateFreezeSpecConstantValuePass() { in CreateFreezeSpecConstantValuePass()
786 return MakeUnique<Optimizer::PassToken::Impl>( in CreateFreezeSpecConstantValuePass()
790 Optimizer::PassToken CreateFoldSpecConstantOpAndCompositePass() { in CreateFoldSpecConstantOpAndCompositePass()
791 return MakeUnique<Optimizer::PassToken::Impl>( in CreateFoldSpecConstantOpAndCompositePass()
795 Optimizer::PassToken CreateUnifyConstantPass() { in CreateUnifyConstantPass()
796 return MakeUnique<Optimizer::PassToken::Impl>( in CreateUnifyConstantPass()
800 Optimizer::PassToken CreateEliminateDeadConstantPass() { in CreateEliminateDeadConstantPass()
801 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadConstantPass()
805 Optimizer::PassToken CreateDeadVariableEliminationPass() { in CreateDeadVariableEliminationPass()
806 return MakeUnique<Optimizer::PassToken::Impl>( in CreateDeadVariableEliminationPass()
810 Optimizer::PassToken CreateStrengthReductionPass() { in CreateStrengthReductionPass()
811 return MakeUnique<Optimizer::PassToken::Impl>( in CreateStrengthReductionPass()
815 Optimizer::PassToken CreateBlockMergePass() { in CreateBlockMergePass()
816 return MakeUnique<Optimizer::PassToken::Impl>( in CreateBlockMergePass()
820 Optimizer::PassToken CreateInlineExhaustivePass() { in CreateInlineExhaustivePass()
821 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInlineExhaustivePass()
825 Optimizer::PassToken CreateInlineOpaquePass() { in CreateInlineOpaquePass()
826 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInlineOpaquePass()
830 Optimizer::PassToken CreateLocalAccessChainConvertPass() { in CreateLocalAccessChainConvertPass()
831 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLocalAccessChainConvertPass()
835 Optimizer::PassToken CreateLocalSingleBlockLoadStoreElimPass() { in CreateLocalSingleBlockLoadStoreElimPass()
836 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLocalSingleBlockLoadStoreElimPass()
840 Optimizer::PassToken CreateLocalSingleStoreElimPass() { in CreateLocalSingleStoreElimPass()
841 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLocalSingleStoreElimPass()
845 Optimizer::PassToken CreateInsertExtractElimPass() { in CreateInsertExtractElimPass()
846 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInsertExtractElimPass()
850 Optimizer::PassToken CreateDeadInsertElimPass() { in CreateDeadInsertElimPass()
851 return MakeUnique<Optimizer::PassToken::Impl>( in CreateDeadInsertElimPass()
855 Optimizer::PassToken CreateDeadBranchElimPass() { in CreateDeadBranchElimPass()
856 return MakeUnique<Optimizer::PassToken::Impl>( in CreateDeadBranchElimPass()
860 Optimizer::PassToken CreateLocalMultiStoreElimPass() { in CreateLocalMultiStoreElimPass()
861 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLocalMultiStoreElimPass()
865 Optimizer::PassToken CreateAggressiveDCEPass() { in CreateAggressiveDCEPass()
866 return MakeUnique<Optimizer::PassToken::Impl>( in CreateAggressiveDCEPass()
870 Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface) { in CreateAggressiveDCEPass()
871 return MakeUnique<Optimizer::PassToken::Impl>( in CreateAggressiveDCEPass()
875 Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface, in CreateAggressiveDCEPass()
877 return MakeUnique<Optimizer::PassToken::Impl>( in CreateAggressiveDCEPass()
881 Optimizer::PassToken CreateRemoveUnusedInterfaceVariablesPass() { in CreateRemoveUnusedInterfaceVariablesPass()
882 return MakeUnique<Optimizer::PassToken::Impl>( in CreateRemoveUnusedInterfaceVariablesPass()
886 Optimizer::PassToken CreatePropagateLineInfoPass() { in CreatePropagateLineInfoPass()
887 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::EmptyPass>()); in CreatePropagateLineInfoPass()
890 Optimizer::PassToken CreateRedundantLineInfoElimPass() { in CreateRedundantLineInfoElimPass()
891 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::EmptyPass>()); in CreateRedundantLineInfoElimPass()
894 Optimizer::PassToken CreateCompactIdsPass() { in CreateCompactIdsPass()
895 return MakeUnique<Optimizer::PassToken::Impl>( in CreateCompactIdsPass()
899 Optimizer::PassToken CreateMergeReturnPass() { in CreateMergeReturnPass()
900 return MakeUnique<Optimizer::PassToken::Impl>( in CreateMergeReturnPass()
904 std::vector<const char*> Optimizer::GetPassNames() const { in GetPassNames()
912 Optimizer::PassToken CreateCFGCleanupPass() { in CreateCFGCleanupPass()
913 return MakeUnique<Optimizer::PassToken::Impl>( in CreateCFGCleanupPass()
917 Optimizer::PassToken CreateLocalRedundancyEliminationPass() { in CreateLocalRedundancyEliminationPass()
918 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLocalRedundancyEliminationPass()
922 Optimizer::PassToken CreateLoopFissionPass(size_t threshold) { in CreateLoopFissionPass()
923 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLoopFissionPass()
927 Optimizer::PassToken CreateLoopFusionPass(size_t max_registers_per_loop) { in CreateLoopFusionPass()
928 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLoopFusionPass()
932 Optimizer::PassToken CreateLoopInvariantCodeMotionPass() { in CreateLoopInvariantCodeMotionPass()
933 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::LICMPass>()); in CreateLoopInvariantCodeMotionPass()
936 Optimizer::PassToken CreateLoopPeelingPass() { in CreateLoopPeelingPass()
937 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLoopPeelingPass()
941 Optimizer::PassToken CreateLoopUnswitchPass() { in CreateLoopUnswitchPass()
942 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLoopUnswitchPass()
946 Optimizer::PassToken CreateRedundancyEliminationPass() { in CreateRedundancyEliminationPass()
947 return MakeUnique<Optimizer::PassToken::Impl>( in CreateRedundancyEliminationPass()
951 Optimizer::PassToken CreateRemoveDuplicatesPass() { in CreateRemoveDuplicatesPass()
952 return MakeUnique<Optimizer::PassToken::Impl>( in CreateRemoveDuplicatesPass()
956 Optimizer::PassToken CreateScalarReplacementPass(uint32_t size_limit) { in CreateScalarReplacementPass()
957 return MakeUnique<Optimizer::PassToken::Impl>( in CreateScalarReplacementPass()
961 Optimizer::PassToken CreatePrivateToLocalPass() { in CreatePrivateToLocalPass()
962 return MakeUnique<Optimizer::PassToken::Impl>( in CreatePrivateToLocalPass()
966 Optimizer::PassToken CreateCCPPass() { in CreateCCPPass()
967 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::CCPPass>()); in CreateCCPPass()
970 Optimizer::PassToken CreateWorkaround1209Pass() { in CreateWorkaround1209Pass()
971 return MakeUnique<Optimizer::PassToken::Impl>( in CreateWorkaround1209Pass()
975 Optimizer::PassToken CreateIfConversionPass() { in CreateIfConversionPass()
976 return MakeUnique<Optimizer::PassToken::Impl>( in CreateIfConversionPass()
980 Optimizer::PassToken CreateReplaceInvalidOpcodePass() { in CreateReplaceInvalidOpcodePass()
981 return MakeUnique<Optimizer::PassToken::Impl>( in CreateReplaceInvalidOpcodePass()
985 Optimizer::PassToken CreateSimplificationPass() { in CreateSimplificationPass()
986 return MakeUnique<Optimizer::PassToken::Impl>( in CreateSimplificationPass()
990 Optimizer::PassToken CreateLoopUnrollPass(bool fully_unroll, int factor) { in CreateLoopUnrollPass()
991 return MakeUnique<Optimizer::PassToken::Impl>( in CreateLoopUnrollPass()
995 Optimizer::PassToken CreateSSARewritePass() { in CreateSSARewritePass()
996 return MakeUnique<Optimizer::PassToken::Impl>( in CreateSSARewritePass()
1000 Optimizer::PassToken CreateCopyPropagateArraysPass() { in CreateCopyPropagateArraysPass()
1001 return MakeUnique<Optimizer::PassToken::Impl>( in CreateCopyPropagateArraysPass()
1005 Optimizer::PassToken CreateVectorDCEPass() { in CreateVectorDCEPass()
1006 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::VectorDCE>()); in CreateVectorDCEPass()
1009 Optimizer::PassToken CreateReduceLoadSizePass( in CreateReduceLoadSizePass()
1011 return MakeUnique<Optimizer::PassToken::Impl>( in CreateReduceLoadSizePass()
1015 Optimizer::PassToken CreateCombineAccessChainsPass() { in CreateCombineAccessChainsPass()
1016 return MakeUnique<Optimizer::PassToken::Impl>( in CreateCombineAccessChainsPass()
1020 Optimizer::PassToken CreateUpgradeMemoryModelPass() { in CreateUpgradeMemoryModelPass()
1021 return MakeUnique<Optimizer::PassToken::Impl>( in CreateUpgradeMemoryModelPass()
1025 Optimizer::PassToken CreateInstBindlessCheckPass(uint32_t shader_id) { in CreateInstBindlessCheckPass()
1026 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInstBindlessCheckPass()
1030 Optimizer::PassToken CreateInstDebugPrintfPass(uint32_t desc_set, in CreateInstDebugPrintfPass()
1032 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInstDebugPrintfPass()
1036 Optimizer::PassToken CreateInstBuffAddrCheckPass(uint32_t shader_id) { in CreateInstBuffAddrCheckPass()
1037 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInstBuffAddrCheckPass()
1041 Optimizer::PassToken CreateConvertRelaxedToHalfPass() { in CreateConvertRelaxedToHalfPass()
1042 return MakeUnique<Optimizer::PassToken::Impl>( in CreateConvertRelaxedToHalfPass()
1046 Optimizer::PassToken CreateRelaxFloatOpsPass() { in CreateRelaxFloatOpsPass()
1047 return MakeUnique<Optimizer::PassToken::Impl>( in CreateRelaxFloatOpsPass()
1051 Optimizer::PassToken CreateCodeSinkingPass() { in CreateCodeSinkingPass()
1052 return MakeUnique<Optimizer::PassToken::Impl>( in CreateCodeSinkingPass()
1056 Optimizer::PassToken CreateFixStorageClassPass() { in CreateFixStorageClassPass()
1057 return MakeUnique<Optimizer::PassToken::Impl>( in CreateFixStorageClassPass()
1061 Optimizer::PassToken CreateGraphicsRobustAccessPass() { in CreateGraphicsRobustAccessPass()
1062 return MakeUnique<Optimizer::PassToken::Impl>( in CreateGraphicsRobustAccessPass()
1066 Optimizer::PassToken CreateReplaceDescArrayAccessUsingVarIndexPass() { in CreateReplaceDescArrayAccessUsingVarIndexPass()
1067 return MakeUnique<Optimizer::PassToken::Impl>( in CreateReplaceDescArrayAccessUsingVarIndexPass()
1071 Optimizer::PassToken CreateSpreadVolatileSemanticsPass() { in CreateSpreadVolatileSemanticsPass()
1072 return MakeUnique<Optimizer::PassToken::Impl>( in CreateSpreadVolatileSemanticsPass()
1076 Optimizer::PassToken CreateDescriptorScalarReplacementPass() { in CreateDescriptorScalarReplacementPass()
1077 return MakeUnique<Optimizer::PassToken::Impl>( in CreateDescriptorScalarReplacementPass()
1081 Optimizer::PassToken CreateWrapOpKillPass() { in CreateWrapOpKillPass()
1082 return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::WrapOpKill>()); in CreateWrapOpKillPass()
1085 Optimizer::PassToken CreateAmdExtToKhrPass() { in CreateAmdExtToKhrPass()
1086 return MakeUnique<Optimizer::PassToken::Impl>( in CreateAmdExtToKhrPass()
1090 Optimizer::PassToken CreateInterpolateFixupPass() { in CreateInterpolateFixupPass()
1091 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInterpolateFixupPass()
1095 Optimizer::PassToken CreateEliminateDeadInputComponentsPass() { in CreateEliminateDeadInputComponentsPass()
1096 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadInputComponentsPass()
1101 Optimizer::PassToken CreateEliminateDeadOutputComponentsPass() { in CreateEliminateDeadOutputComponentsPass()
1102 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadOutputComponentsPass()
1107 Optimizer::PassToken CreateEliminateDeadInputComponentsSafePass() { in CreateEliminateDeadInputComponentsSafePass()
1108 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadInputComponentsSafePass()
1113 Optimizer::PassToken CreateAnalyzeLiveInputPass( in CreateAnalyzeLiveInputPass()
1116 return MakeUnique<Optimizer::PassToken::Impl>( in CreateAnalyzeLiveInputPass()
1120 Optimizer::PassToken CreateEliminateDeadOutputStoresPass( in CreateEliminateDeadOutputStoresPass()
1123 return MakeUnique<Optimizer::PassToken::Impl>( in CreateEliminateDeadOutputStoresPass()
1127 Optimizer::PassToken CreateConvertToSampledImagePass( in CreateConvertToSampledImagePass()
1130 return MakeUnique<Optimizer::PassToken::Impl>( in CreateConvertToSampledImagePass()
1134 Optimizer::PassToken CreateInterfaceVariableScalarReplacementPass() { in CreateInterfaceVariableScalarReplacementPass()
1135 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInterfaceVariableScalarReplacementPass()
1139 Optimizer::PassToken CreateRemoveDontInlinePass() { in CreateRemoveDontInlinePass()
1140 return MakeUnique<Optimizer::PassToken::Impl>( in CreateRemoveDontInlinePass()
1144 Optimizer::PassToken CreateFixFuncCallArgumentsPass() { in CreateFixFuncCallArgumentsPass()
1145 return MakeUnique<Optimizer::PassToken::Impl>( in CreateFixFuncCallArgumentsPass()
1149 Optimizer::PassToken CreateTrimCapabilitiesPass() { in CreateTrimCapabilitiesPass()
1150 return MakeUnique<Optimizer::PassToken::Impl>( in CreateTrimCapabilitiesPass()
1154 Optimizer::PassToken CreateSwitchDescriptorSetPass(uint32_t from, uint32_t to) { in CreateSwitchDescriptorSetPass()
1155 return MakeUnique<Optimizer::PassToken::Impl>( in CreateSwitchDescriptorSetPass()
1159 Optimizer::PassToken CreateInvocationInterlockPlacementPass() { in CreateInvocationInterlockPlacementPass()
1160 return MakeUnique<Optimizer::PassToken::Impl>( in CreateInvocationInterlockPlacementPass()
1164 Optimizer::PassToken CreateModifyMaximalReconvergencePass(bool add) { in CreateModifyMaximalReconvergencePass()
1165 return MakeUnique<Optimizer::PassToken::Impl>( in CreateModifyMaximalReconvergencePass()
1173 return reinterpret_cast<spv_optimizer_t*>(new spvtools::Optimizer(env)); in spvOptimizerCreate()
1176 SPIRV_TOOLS_EXPORT void spvOptimizerDestroy(spv_optimizer_t* optimizer) { in spvOptimizerDestroy() argument
1177 delete reinterpret_cast<spvtools::Optimizer*>(optimizer); in spvOptimizerDestroy()
1181 spv_optimizer_t* optimizer, spv_message_consumer consumer) { in spvOptimizerSetMessageConsumer() argument
1182 reinterpret_cast<spvtools::Optimizer*>(optimizer)-> in spvOptimizerSetMessageConsumer()
1191 spv_optimizer_t* optimizer) { in spvOptimizerRegisterLegalizationPasses() argument
1192 reinterpret_cast<spvtools::Optimizer*>(optimizer)-> in spvOptimizerRegisterLegalizationPasses()
1197 spv_optimizer_t* optimizer) { in spvOptimizerRegisterPerformancePasses() argument
1198 reinterpret_cast<spvtools::Optimizer*>(optimizer)-> in spvOptimizerRegisterPerformancePasses()
1203 spv_optimizer_t* optimizer) { in spvOptimizerRegisterSizePasses() argument
1204 reinterpret_cast<spvtools::Optimizer*>(optimizer)->RegisterSizePasses(); in spvOptimizerRegisterSizePasses()
1208 spv_optimizer_t* optimizer, const char* flag) in spvOptimizerRegisterPassFromFlag() argument
1210 return reinterpret_cast<spvtools::Optimizer*>(optimizer)-> in spvOptimizerRegisterPassFromFlag()
1215 spv_optimizer_t* optimizer, const char** flags, const size_t flag_count) { in spvOptimizerRegisterPassesFromFlags() argument
1218 return reinterpret_cast<spvtools::Optimizer*>(optimizer) in spvOptimizerRegisterPassesFromFlags()
1224 spv_optimizer_t* optimizer, const char** flags, const size_t flag_count) { in spvOptimizerRegisterPassesFromFlagsWhilePreservingTheInterface() argument
1227 return reinterpret_cast<spvtools::Optimizer*>(optimizer) in spvOptimizerRegisterPassesFromFlagsWhilePreservingTheInterface()
1232 spv_result_t spvOptimizerRun(spv_optimizer_t* optimizer, in spvOptimizerRun() argument
1239 if (!reinterpret_cast<spvtools::Optimizer*>(optimizer)-> in spvOptimizerRun()