Lines Matching full:basicblock
254 struct BasicBlock {
269 BasicBlock* fall_through;
270 BasicBlock* taken;
271 BasicBlock* i_dom; // Immediate dominator.
273 GrowableArray<BasicBlock*>* predecessors;
290 BasicBlock* block;
364 BasicBlock* FindBlock(unsigned int code_offset) {
388 BasicBlock* GetEntryBlock() const {
392 BasicBlock* GetExitBlock() const {
396 BasicBlock* GetBasicBlock(int block_id) const {
404 GrowableArray<BasicBlock*>* GetBlockList() {
564 bool IsBackedge(BasicBlock* branch_bb, BasicBlock* target_bb) {
568 bool IsBackwardsBranch(BasicBlock* branch_bb) {
576 MIR* FindMoveResult(BasicBlock* bb, MIR* mir);
581 void CheckForDominanceFrontier(BasicBlock* dom_bb, const BasicBlock* succ_bb);
588 void AppendMIR(BasicBlock* bb, MIR* mir);
589 void PrependMIR(BasicBlock* bb, MIR* mir);
590 void InsertMIRAfter(BasicBlock* bb, MIR* current_mir, MIR* new_mir);
595 void GetBlockName(BasicBlock* bb, char* name);
598 CallInfo* NewMemCallInfo(BasicBlock* bb, MIR* mir, InvokeType type, bool is_range);
599 BasicBlock* NewMemBB(BBType block_type, int block_id);
624 bool DoSSAConversion(BasicBlock* bb);
628 BasicBlock* SplitBlock(unsigned int code_offset, BasicBlock* orig_block,
629 BasicBlock** immed_pred_block_p);
630 BasicBlock* FindBlock(unsigned int code_offset, bool split, bool create,
631 BasicBlock** immed_pred_block_p);
633 BasicBlock* ProcessCanBranch(BasicBlock* cur_block, MIR* insn, int cur_offset, int width,
635 void ProcessCanSwitch(BasicBlock* cur_block, MIR* insn, int cur_offset, int width, int flags);
636 BasicBlock* ProcessCanThrow(BasicBlock* cur_block, MIR* insn, int cur_offset, int width,
644 bool FindLocalLiveIn(BasicBlock* bb);
646 bool CountUses(struct BasicBlock* bb);
647 bool InferTypeAndSize(BasicBlock* bb);
648 bool VerifyPredInfo(BasicBlock* bb);
649 BasicBlock* NeedsVisit(BasicBlock* bb);
650 BasicBlock* NextUnvisitedSuccessor(BasicBlock* bb);
651 void MarkPreOrder(BasicBlock* bb);
652 void RecordDFSOrders(BasicBlock* bb);
655 void ComputeDomPostOrderTraversal(BasicBlock* bb);
658 void DoDFSPreOrderSSARename(BasicBlock* block);
662 bool BasicBlockOpt(BasicBlock* bb);
663 bool EliminateNullChecks(BasicBlock* bb);
664 void NullCheckEliminationInit(BasicBlock* bb);
665 bool BuildExtendedBBList(struct BasicBlock* bb);
666 bool FillDefBlockMatrix(BasicBlock* bb);
667 void InitializeDominationInfo(BasicBlock* bb);
668 bool ComputeblockIDom(BasicBlock* bb);
669 bool ComputeBlockDominators(BasicBlock* bb);
670 bool SetDominators(BasicBlock* bb);
671 bool ComputeBlockLiveIns(BasicBlock* bb);
672 bool InsertPhiNodeOperands(BasicBlock* bb);
673 bool ComputeDominanceFrontier(BasicBlock* bb);
674 void DoConstantPropogation(BasicBlock* bb);
675 void CountChecks(BasicBlock* bb);
676 bool CombineBlocks(BasicBlock* bb);
677 void AnalyzeBlock(BasicBlock* bb, struct MethodStats* stats);
701 GrowableArray<BasicBlock*> block_list_;
703 BasicBlock* entry_block_;
704 BasicBlock* exit_block_;
705 BasicBlock* cur_block_;
708 SafeMap<unsigned int, BasicBlock*> block_map_; // FindBlock lookup cache.
717 std::vector<BasicBlock*> extended_basic_blocks_; // Heads of block "traces".