Lines Matching refs:MachineBasicBlock
120 DominatorTreeBase<MachineBasicBlock> *DT;
123 DT = new DominatorTreeBase<MachineBasicBlock>(true); //true indicate
136 inline const std::vector<MachineBasicBlock *> &getRoots() const {
144 inline MachineDomTreeNode *operator[](MachineBasicBlock *BB) const {
148 inline MachineDomTreeNode *getNode(MachineBasicBlock *BB) const {
156 inline bool dominates(MachineBasicBlock *A, MachineBasicBlock *B) const {
166 properlyDominates(MachineBasicBlock *A, MachineBasicBlock *B) const {
170 inline MachineBasicBlock *
171 findNearestCommonDominator(MachineBasicBlock *A, MachineBasicBlock *B) {
253 // bixia TODO: port it to BasicBlock, not just MachineBasicBlock.
2655 typedef MachineBasicBlock BlockType;
2858 static MachineBasicBlock *getTrueBranch(MachineInstr *instr) {
2862 static void setTrueBranch(MachineInstr *instr, MachineBasicBlock *blk) {
2866 static MachineBasicBlock *
2867 getFalseBranch(MachineBasicBlock *blk, MachineInstr *instr) {
2869 MachineBasicBlock *trueBranch = getTrueBranch(instr);
2870 MachineBasicBlock::succ_iterator iter = blk->succ_begin();
2871 MachineBasicBlock::succ_iterator iterNext = iter;
2901 static DebugLoc getLastDebugLocInBB(MachineBasicBlock *blk) {
2902 //get DebugLoc from the first MachineBasicBlock instruction with debug info
2904 for (MachineBasicBlock::iterator iter = blk->begin(); iter != blk->end(); ++iter) {
2913 static MachineInstr *getNormalBlockBranchInstr(MachineBasicBlock *blk) {
2914 MachineBasicBlock::reverse_iterator iter = blk->rbegin();
2927 static MachineInstr *getLoopendBlockBranchInstr(MachineBasicBlock *blk) {
2931 for (MachineBasicBlock::reverse_iterator iter = blk->rbegin(),
2946 static MachineInstr *getReturnInstr(MachineBasicBlock *blk) {
2947 MachineBasicBlock::reverse_iterator iter = blk->rbegin();
2957 static MachineInstr *getContinueInstr(MachineBasicBlock *blk) {
2958 MachineBasicBlock::reverse_iterator iter = blk->rbegin();
2968 static MachineInstr *getLoopBreakInstr(MachineBasicBlock *blk) {
2969 for (MachineBasicBlock::iterator iter = blk->begin(); (iter != blk->end()); ++iter) {
2978 static bool isReturnBlock(MachineBasicBlock *blk) {
2993 static MachineBasicBlock::iterator
2994 getInstrPos(MachineBasicBlock *blk, MachineInstr *instr) {
2996 MachineBasicBlock::iterator iter = blk->begin();
2997 MachineBasicBlock::iterator iterEnd = blk->end();
3006 static MachineInstr *insertInstrBefore(MachineBasicBlock *blk, int newOpcode,
3011 static MachineInstr *insertInstrBefore(MachineBasicBlock *blk, int newOpcode,
3017 MachineBasicBlock::iterator res;
3029 static void insertInstrEnd(MachineBasicBlock *blk, int newOpcode,
3034 static void insertInstrEnd(MachineBasicBlock *blk, int newOpcode,
3046 static MachineInstr *insertInstrBefore(MachineBasicBlock::iterator instrPos,
3051 MachineBasicBlock *blk = oldInstr->getParent();
3063 static void insertCondBranchBefore(MachineBasicBlock::iterator instrPos,
3069 MachineBasicBlock *blk = oldInstr->getParent();
3082 static void insertCondBranchBefore(MachineBasicBlock *blk,
3083 MachineBasicBlock::iterator insertPos,
3100 static void insertCondBranchEnd(MachineBasicBlock *blk,
3115 static void insertAssignInstrBefore(MachineBasicBlock::iterator instrPos,
3121 MachineBasicBlock *blk = oldInstr->getParent();
3129 static void insertAssignInstrBefore(MachineBasicBlock *blk,
3147 static void insertCompareInstrBefore(MachineBasicBlock *blk,
3148 MachineBasicBlock::iterator instrPos,
3166 static void cloneSuccessorList(MachineBasicBlock *dstBlk,
3167 MachineBasicBlock *srcBlk) {
3168 for (MachineBasicBlock::succ_iterator iter = srcBlk->succ_begin(),
3174 static MachineBasicBlock *clone(MachineBasicBlock *srcBlk) {
3176 MachineBasicBlock *newBlk = func->CreateMachineBasicBlock();
3179 for (MachineBasicBlock::iterator iter = srcBlk->begin(),
3188 //MachineBasicBlock::ReplaceUsesOfBlockWith doesn't serve the purpose because
3191 static void replaceInstrUseOfBlockWith(MachineBasicBlock *srcBlk,
3192 MachineBasicBlock *oldBlk,
3193 MachineBasicBlock *newBlk) {
3201 static void wrapup(MachineBasicBlock *entryBlk) {
3208 MachineBasicBlock::iterator pre = entryBlk->begin();
3209 MachineBasicBlock::iterator iterEnd = entryBlk->end();
3210 MachineBasicBlock::iterator iter = pre;