/third_party/skia/third_party/externals/spirv-tools/source/opt/ |
H A D | struct_cfg_analysis.cpp | 120 uint32_t StructuredCFGAnalysis::MergeBlock(uint32_t bb_id) { in MergeBlock() argument 121 uint32_t header_id = ContainingConstruct(bb_id); in MergeBlock() 131 uint32_t StructuredCFGAnalysis::NestingDepth(uint32_t bb_id) { in NestingDepth() argument 136 for (uint32_t merge_block_id = MergeBlock(bb_id); merge_block_id != 0; in NestingDepth() 144 uint32_t StructuredCFGAnalysis::LoopMergeBlock(uint32_t bb_id) { in LoopMergeBlock() argument 145 uint32_t header_id = ContainingLoop(bb_id); in LoopMergeBlock() 155 uint32_t StructuredCFGAnalysis::LoopContinueBlock(uint32_t bb_id) { in LoopContinueBlock() argument 156 uint32_t header_id = ContainingLoop(bb_id); in LoopContinueBlock() 166 uint32_t StructuredCFGAnalysis::LoopNestingDepth(uint32_t bb_id) { in LoopNestingDepth() argument 171 for (uint32_t merge_block_id = LoopMergeBlock(bb_id); merge_block_i in LoopNestingDepth() 179 SwitchMergeBlock(uint32_t bb_id) SwitchMergeBlock() argument 190 IsContinueBlock(uint32_t bb_id) IsContinueBlock() argument 195 IsInContainingLoopsContinueConstruct( uint32_t bb_id) IsInContainingLoopsContinueConstruct() argument 204 IsInContinueConstruct(uint32_t bb_id) IsInContinueConstruct() argument 214 IsMergeBlock(uint32_t bb_id) IsMergeBlock() argument [all...] |
H A D | struct_cfg_analysis.h | 36 // that contains |bb_id|. Returns |0| if |bb_id| is not contained in any 38 uint32_t ContainingConstruct(uint32_t bb_id) { in ContainingConstruct() argument 39 auto it = bb_to_construct_.find(bb_id); in ContainingConstruct() 52 // that contains |bb_id|. Returns |0| if |bb_id| is not contained in any 54 uint32_t MergeBlock(uint32_t bb_id); 62 // that contains |bb_id|. Return |0| if |bb_id| is not contained in any loop 64 uint32_t ContainingLoop(uint32_t bb_id) { in ContainingLoop() argument 92 ContainingSwitch(uint32_t bb_id) ContainingSwitch() argument [all...] |
H A D | register_pressure.cpp | 100 uint32_t bb_id = bb.id(); in ComputePhiUses() local 101 bb.ForEachSuccessorLabel([live, bb_id, this](uint32_t sid) { in ComputePhiUses() 103 succ_bb->ForEachPhiInst([live, bb_id, this](const Instruction* phi) { in ComputePhiUses() 105 if (phi->GetSingleWordInOperand(i + 1) == bb_id) { in ComputePhiUses() 176 [&loop, this](uint32_t bb_id) { in DoLoopLivenessUnification() 177 return bb_id != loop.GetHeaderBlock()->id() && in DoLoopLivenessUnification() 178 loop_desc_[bb_id] == &loop; in DoLoopLivenessUnification() 191 for (uint32_t bb_id : blocks_in_loop) { in DoLoopLivenessUnification() 192 BasicBlock* bb = cfg_.block(bb_id); in DoLoopLivenessUnification() 298 for (uint32_t bb_id in ComputeLoopRegisterPressure() [all...] |
H A D | register_pressure.h | 97 // Returns liveness and register information for the basic block id |bb_id|. 99 const RegionRegisterLiveness* Get(uint32_t bb_id) const { in Get() 100 RegionRegisterLivenessMap::const_iterator it = block_pressure_.find(bb_id); in Get() 113 // Returns liveness and register information for the basic block id |bb_id|. 115 RegionRegisterLiveness* Get(uint32_t bb_id) { in Get() argument 116 RegionRegisterLivenessMap::iterator it = block_pressure_.find(bb_id); in Get() 123 // Returns liveness and register information for the basic block id |bb_id| or 125 RegionRegisterLiveness* GetOrInsert(uint32_t bb_id) { in GetOrInsert() argument 126 return &block_pressure_[bb_id]; in GetOrInsert()
|
H A D | loop_utils.cpp | 148 // Return the new def to use for the basic block |bb_id|. 149 // If |bb_id| does not have a suitable def to use then we: 152 // beginning of |bb_id| and return this new instruction. 153 Instruction* GetOrBuildIncoming(uint32_t bb_id) { in GetOrBuildIncoming() 154 assert(base_->cfg_->block(bb_id) != nullptr && "Unknown basic block"); in GetOrBuildIncoming() 156 Instruction*& incoming_phi = bb_to_phi_[bb_id]; in GetOrBuildIncoming() 161 BasicBlock* bb = &*base_->cfg_->block(bb_id); in GetOrBuildIncoming() 184 // to build a phi instruction unless |bb_id| is the loop merge block. in GetOrBuildIncoming() 186 base_->GetDefiningBlocks(bb_id); in GetOrBuildIncoming() 192 if (defining_blocks.size() > 1 || bb_id in GetOrBuildIncoming() 219 GetDefiningBlocks(uint32_t bb_id) GetDefiningBlocks() argument [all...] |
H A D | loop_descriptor.cpp | 358 for (uint32_t bb_id : GetBlocks()) { in GetExitBlocks() 359 const BasicBlock* bb = cfg->block(bb_id); in GetExitBlocks() 404 for (uint32_t bb_id : GetBlocks()) { in IsSafeToClone() 405 BasicBlock* bb = cfg.block(bb_id); in IsSafeToClone() 415 for (uint32_t bb_id : blocks) { in IsSafeToClone() 416 BasicBlock* bb = cfg.block(bb_id); in IsSafeToClone() 435 for (uint32_t bb_id : GetBlocks()) { in IsLCSSA() 436 for (Instruction& insn : *cfg->block(bb_id)) { in IsLCSSA() 991 for (uint32_t bb_id : current_loop.GetBlocks()) in AddLoopNest() 992 basic_block_to_loop_.insert(std::make_pair(bb_id, in AddLoopNest() [all...] |
H A D | loop_descriptor.h | 195 // Returns true if the basic block id |bb_id| is inside this loop. 196 inline bool IsInsideLoop(uint32_t bb_id) const { in IsInsideLoop() 197 return loop_basic_blocks_.count(bb_id); in IsInsideLoop() 213 // Removes the Basic Block id |bb_id| from this loop and its parents. 216 void RemoveBasicBlock(uint32_t bb_id) { in RemoveBasicBlock() argument 218 loop->loop_basic_blocks_.erase(bb_id); in RemoveBasicBlock() 498 inline void SetBasicBlockToLoop(uint32_t bb_id, Loop* loop) { in SetBasicBlockToLoop() argument 499 basic_block_to_loop_[bb_id] = loop; in SetBasicBlockToLoop() 516 // Removes the basic block id |bb_id| from the block to loop mapping. 517 inline void ForgetBasicBlock(uint32_t bb_id) { in ForgetBasicBlock() argument [all...] |
H A D | function.h | 119 iterator FindBlock(uint32_t bb_id) { in FindBlock() argument 120 return std::find_if(begin(), end(), [bb_id](const BasicBlock& it_bb) { in FindBlock() 121 return bb_id == it_bb.id(); in FindBlock()
|
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/opt/ |
H A D | struct_cfg_analysis.cpp | 120 uint32_t StructuredCFGAnalysis::MergeBlock(uint32_t bb_id) { in MergeBlock() argument 121 uint32_t header_id = ContainingConstruct(bb_id); in MergeBlock() 131 uint32_t StructuredCFGAnalysis::NestingDepth(uint32_t bb_id) { in NestingDepth() argument 136 for (uint32_t merge_block_id = MergeBlock(bb_id); merge_block_id != 0; in NestingDepth() 144 uint32_t StructuredCFGAnalysis::LoopMergeBlock(uint32_t bb_id) { in LoopMergeBlock() argument 145 uint32_t header_id = ContainingLoop(bb_id); in LoopMergeBlock() 155 uint32_t StructuredCFGAnalysis::LoopContinueBlock(uint32_t bb_id) { in LoopContinueBlock() argument 156 uint32_t header_id = ContainingLoop(bb_id); in LoopContinueBlock() 166 uint32_t StructuredCFGAnalysis::LoopNestingDepth(uint32_t bb_id) { in LoopNestingDepth() argument 171 for (uint32_t merge_block_id = LoopMergeBlock(bb_id); merge_block_i in LoopNestingDepth() 179 SwitchMergeBlock(uint32_t bb_id) SwitchMergeBlock() argument 190 IsContinueBlock(uint32_t bb_id) IsContinueBlock() argument 195 IsInContainingLoopsContinueConstruct( uint32_t bb_id) IsInContainingLoopsContinueConstruct() argument 204 IsInContinueConstruct(uint32_t bb_id) IsInContinueConstruct() argument 214 IsMergeBlock(uint32_t bb_id) IsMergeBlock() argument [all...] |
H A D | struct_cfg_analysis.h | 36 // that contains |bb_id|. Returns |0| if |bb_id| is not contained in any 38 uint32_t ContainingConstruct(uint32_t bb_id) { in ContainingConstruct() argument 39 auto it = bb_to_construct_.find(bb_id); in ContainingConstruct() 52 // that contains |bb_id|. Returns |0| if |bb_id| is not contained in any 54 uint32_t MergeBlock(uint32_t bb_id); 62 // that contains |bb_id|. Return |0| if |bb_id| is not contained in any loop 64 uint32_t ContainingLoop(uint32_t bb_id) { in ContainingLoop() argument 92 ContainingSwitch(uint32_t bb_id) ContainingSwitch() argument [all...] |
H A D | register_pressure.cpp | 100 uint32_t bb_id = bb.id(); in ComputePhiUses() local 101 bb.ForEachSuccessorLabel([live, bb_id, this](uint32_t sid) { in ComputePhiUses() 103 succ_bb->ForEachPhiInst([live, bb_id, this](const Instruction* phi) { in ComputePhiUses() 105 if (phi->GetSingleWordInOperand(i + 1) == bb_id) { in ComputePhiUses() 176 [&loop, this](uint32_t bb_id) { in DoLoopLivenessUnification() 177 return bb_id != loop.GetHeaderBlock()->id() && in DoLoopLivenessUnification() 178 loop_desc_[bb_id] == &loop; in DoLoopLivenessUnification() 191 for (uint32_t bb_id : blocks_in_loop) { in DoLoopLivenessUnification() 192 BasicBlock* bb = cfg_.block(bb_id); in DoLoopLivenessUnification() 298 for (uint32_t bb_id in ComputeLoopRegisterPressure() [all...] |
H A D | register_pressure.h | 97 // Returns liveness and register information for the basic block id |bb_id|. 99 const RegionRegisterLiveness* Get(uint32_t bb_id) const { in Get() 100 RegionRegisterLivenessMap::const_iterator it = block_pressure_.find(bb_id); in Get() 113 // Returns liveness and register information for the basic block id |bb_id|. 115 RegionRegisterLiveness* Get(uint32_t bb_id) { in Get() argument 116 RegionRegisterLivenessMap::iterator it = block_pressure_.find(bb_id); in Get() 123 // Returns liveness and register information for the basic block id |bb_id| or 125 RegionRegisterLiveness* GetOrInsert(uint32_t bb_id) { in GetOrInsert() argument 126 return &block_pressure_[bb_id]; in GetOrInsert()
|
H A D | loop_utils.cpp | 148 // Return the new def to use for the basic block |bb_id|. 149 // If |bb_id| does not have a suitable def to use then we: 152 // beginning of |bb_id| and return this new instruction. 153 Instruction* GetOrBuildIncoming(uint32_t bb_id) { in GetOrBuildIncoming() 154 assert(base_->cfg_->block(bb_id) != nullptr && "Unknown basic block"); in GetOrBuildIncoming() 156 Instruction*& incoming_phi = bb_to_phi_[bb_id]; in GetOrBuildIncoming() 161 BasicBlock* bb = &*base_->cfg_->block(bb_id); in GetOrBuildIncoming() 184 // to build a phi instruction unless |bb_id| is the loop merge block. in GetOrBuildIncoming() 186 base_->GetDefiningBlocks(bb_id); in GetOrBuildIncoming() 192 if (defining_blocks.size() > 1 || bb_id in GetOrBuildIncoming() 219 GetDefiningBlocks(uint32_t bb_id) GetDefiningBlocks() argument [all...] |
H A D | loop_descriptor.cpp | 358 for (uint32_t bb_id : GetBlocks()) { in GetExitBlocks() 359 const BasicBlock* bb = cfg->block(bb_id); in GetExitBlocks() 404 for (uint32_t bb_id : GetBlocks()) { in IsSafeToClone() 405 BasicBlock* bb = cfg.block(bb_id); in IsSafeToClone() 415 for (uint32_t bb_id : blocks) { in IsSafeToClone() 416 BasicBlock* bb = cfg.block(bb_id); in IsSafeToClone() 435 for (uint32_t bb_id : GetBlocks()) { in IsLCSSA() 436 for (Instruction& insn : *cfg->block(bb_id)) { in IsLCSSA() 991 for (uint32_t bb_id : current_loop.GetBlocks()) in AddLoopNest() 992 basic_block_to_loop_.insert(std::make_pair(bb_id, in AddLoopNest() [all...] |
H A D | loop_descriptor.h | 195 // Returns true if the basic block id |bb_id| is inside this loop. 196 inline bool IsInsideLoop(uint32_t bb_id) const { in IsInsideLoop() 197 return loop_basic_blocks_.count(bb_id); in IsInsideLoop() 213 // Removes the Basic Block id |bb_id| from this loop and its parents. 216 void RemoveBasicBlock(uint32_t bb_id) { in RemoveBasicBlock() argument 218 loop->loop_basic_blocks_.erase(bb_id); in RemoveBasicBlock() 498 inline void SetBasicBlockToLoop(uint32_t bb_id, Loop* loop) { in SetBasicBlockToLoop() argument 499 basic_block_to_loop_[bb_id] = loop; in SetBasicBlockToLoop() 516 // Removes the basic block id |bb_id| from the block to loop mapping. 517 inline void ForgetBasicBlock(uint32_t bb_id) { in ForgetBasicBlock() argument [all...] |
/third_party/spirv-tools/source/opt/ |
H A D | struct_cfg_analysis.cpp | 119 uint32_t StructuredCFGAnalysis::MergeBlock(uint32_t bb_id) { in MergeBlock() argument 120 uint32_t header_id = ContainingConstruct(bb_id); in MergeBlock() 130 uint32_t StructuredCFGAnalysis::NestingDepth(uint32_t bb_id) { in NestingDepth() argument 135 for (uint32_t merge_block_id = MergeBlock(bb_id); merge_block_id != 0; in NestingDepth() 143 uint32_t StructuredCFGAnalysis::LoopMergeBlock(uint32_t bb_id) { in LoopMergeBlock() argument 144 uint32_t header_id = ContainingLoop(bb_id); in LoopMergeBlock() 154 uint32_t StructuredCFGAnalysis::LoopContinueBlock(uint32_t bb_id) { in LoopContinueBlock() argument 155 uint32_t header_id = ContainingLoop(bb_id); in LoopContinueBlock() 165 uint32_t StructuredCFGAnalysis::LoopNestingDepth(uint32_t bb_id) { in LoopNestingDepth() argument 170 for (uint32_t merge_block_id = LoopMergeBlock(bb_id); merge_block_i in LoopNestingDepth() 178 SwitchMergeBlock(uint32_t bb_id) SwitchMergeBlock() argument 189 IsContinueBlock(uint32_t bb_id) IsContinueBlock() argument 194 IsInContainingLoopsContinueConstruct( uint32_t bb_id) IsInContainingLoopsContinueConstruct() argument 203 IsInContinueConstruct(uint32_t bb_id) IsInContinueConstruct() argument 213 IsMergeBlock(uint32_t bb_id) IsMergeBlock() argument [all...] |
H A D | struct_cfg_analysis.h | 36 // that contains |bb_id|. Returns |0| if |bb_id| is not contained in any 38 uint32_t ContainingConstruct(uint32_t bb_id) { in ContainingConstruct() argument 39 auto it = bb_to_construct_.find(bb_id); in ContainingConstruct() 52 // that contains |bb_id|. Returns |0| if |bb_id| is not contained in any 54 uint32_t MergeBlock(uint32_t bb_id); 62 // that contains |bb_id|. Return |0| if |bb_id| is not contained in any loop 64 uint32_t ContainingLoop(uint32_t bb_id) { in ContainingLoop() argument 92 ContainingSwitch(uint32_t bb_id) ContainingSwitch() argument [all...] |
H A D | register_pressure.cpp | 99 uint32_t bb_id = bb.id(); in ComputePhiUses() local 100 bb.ForEachSuccessorLabel([live, bb_id, this](uint32_t sid) { in ComputePhiUses() 102 succ_bb->ForEachPhiInst([live, bb_id, this](const Instruction* phi) { in ComputePhiUses() 104 if (phi->GetSingleWordInOperand(i + 1) == bb_id) { in ComputePhiUses() 175 [&loop, this](uint32_t bb_id) { in DoLoopLivenessUnification() 176 return bb_id != loop.GetHeaderBlock()->id() && in DoLoopLivenessUnification() 177 loop_desc_[bb_id] == &loop; in DoLoopLivenessUnification() 190 for (uint32_t bb_id : blocks_in_loop) { in DoLoopLivenessUnification() 191 BasicBlock* bb = cfg_.block(bb_id); in DoLoopLivenessUnification() 297 for (uint32_t bb_id in ComputeLoopRegisterPressure() [all...] |
H A D | register_pressure.h | 97 // Returns liveness and register information for the basic block id |bb_id|. 99 const RegionRegisterLiveness* Get(uint32_t bb_id) const { in Get() 100 RegionRegisterLivenessMap::const_iterator it = block_pressure_.find(bb_id); in Get() 113 // Returns liveness and register information for the basic block id |bb_id|. 115 RegionRegisterLiveness* Get(uint32_t bb_id) { in Get() argument 116 RegionRegisterLivenessMap::iterator it = block_pressure_.find(bb_id); in Get() 123 // Returns liveness and register information for the basic block id |bb_id| or 125 RegionRegisterLiveness* GetOrInsert(uint32_t bb_id) { in GetOrInsert() argument 126 return &block_pressure_[bb_id]; in GetOrInsert()
|
H A D | loop_utils.cpp | 147 // Return the new def to use for the basic block |bb_id|. 148 // If |bb_id| does not have a suitable def to use then we: 151 // beginning of |bb_id| and return this new instruction. 152 Instruction* GetOrBuildIncoming(uint32_t bb_id) { in GetOrBuildIncoming() 153 assert(base_->cfg_->block(bb_id) != nullptr && "Unknown basic block"); in GetOrBuildIncoming() 155 Instruction*& incoming_phi = bb_to_phi_[bb_id]; in GetOrBuildIncoming() 160 BasicBlock* bb = &*base_->cfg_->block(bb_id); in GetOrBuildIncoming() 183 // to build a phi instruction unless |bb_id| is the loop merge block. in GetOrBuildIncoming() 185 base_->GetDefiningBlocks(bb_id); in GetOrBuildIncoming() 191 if (defining_blocks.size() > 1 || bb_id in GetOrBuildIncoming() 218 GetDefiningBlocks(uint32_t bb_id) GetDefiningBlocks() argument [all...] |
H A D | loop_descriptor.cpp | 356 for (uint32_t bb_id : GetBlocks()) { in GetExitBlocks() 357 const BasicBlock* bb = cfg->block(bb_id); in GetExitBlocks() 402 for (uint32_t bb_id : GetBlocks()) { in IsSafeToClone() 403 BasicBlock* bb = cfg.block(bb_id); in IsSafeToClone() 413 for (uint32_t bb_id : blocks) { in IsSafeToClone() 414 BasicBlock* bb = cfg.block(bb_id); in IsSafeToClone() 433 for (uint32_t bb_id : GetBlocks()) { in IsLCSSA() 434 for (Instruction& insn : *cfg->block(bb_id)) { in IsLCSSA() 990 for (uint32_t bb_id : current_loop.GetBlocks()) in AddLoopNest() 991 basic_block_to_loop_.insert(std::make_pair(bb_id, in AddLoopNest() [all...] |
H A D | loop_descriptor.h | 195 // Returns true if the basic block id |bb_id| is inside this loop. 196 inline bool IsInsideLoop(uint32_t bb_id) const { in IsInsideLoop() 197 return loop_basic_blocks_.count(bb_id); in IsInsideLoop() 213 // Removes the Basic Block id |bb_id| from this loop and its parents. 216 void RemoveBasicBlock(uint32_t bb_id) { in RemoveBasicBlock() argument 218 loop->loop_basic_blocks_.erase(bb_id); in RemoveBasicBlock() 499 inline void SetBasicBlockToLoop(uint32_t bb_id, Loop* loop) { in SetBasicBlockToLoop() argument 500 basic_block_to_loop_[bb_id] = loop; in SetBasicBlockToLoop() 517 // Removes the basic block id |bb_id| from the block to loop mapping. 518 inline void ForgetBasicBlock(uint32_t bb_id) { in ForgetBasicBlock() argument [all...] |
/third_party/skia/third_party/externals/spirv-tools/test/opt/loop_optimizations/ |
H A D | nested_loops.cpp | 199 for (uint32_t bb_id : loop->GetBlocks()) { in CheckLoopBlocks() 200 EXPECT_EQ(expected_ids->count(bb_id), 1u); in CheckLoopBlocks() 201 expected_ids->erase(bb_id); in CheckLoopBlocks() 356 for (uint32_t bb_id : {22, 24}) EXPECT_EQ(ld[bb_id], nullptr); in TEST_F()
|
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/test/opt/loop_optimizations/ |
H A D | nested_loops.cpp | 199 for (uint32_t bb_id : loop->GetBlocks()) { in CheckLoopBlocks() 200 EXPECT_EQ(expected_ids->count(bb_id), 1u); in CheckLoopBlocks() 201 expected_ids->erase(bb_id); in CheckLoopBlocks() 356 for (uint32_t bb_id : {22, 24}) EXPECT_EQ(ld[bb_id], nullptr); in TEST_F()
|
/third_party/spirv-tools/test/opt/loop_optimizations/ |
H A D | nested_loops.cpp | 199 for (uint32_t bb_id : loop->GetBlocks()) { in CheckLoopBlocks() 200 EXPECT_EQ(expected_ids->count(bb_id), 1u); in CheckLoopBlocks() 201 expected_ids->erase(bb_id); in CheckLoopBlocks() 356 for (uint32_t bb_id : {22, 24}) EXPECT_EQ(ld[bb_id], nullptr); in TEST_F()
|