Lines Matching defs:Position

143     void skipNonTerminators(BlockPosition &Position, MBBInfo &Block);
144 void skipTerminator(BlockPosition &Position, TerminatorInfo &Terminator,
172 // Position describes the state immediately before Block. Update Block
173 // accordingly and move Position to the end of the block's non-terminator
175 void SystemZLongBranch::skipNonTerminators(BlockPosition &Position,
177 if (Block.Alignment > Position.KnownBits) {
180 Position.Address += ((uint64_t(1) << Block.Alignment) -
181 (uint64_t(1) << Position.KnownBits));
182 Position.KnownBits = Block.Alignment;
187 Position.Address = (Position.Address + AlignMask) & ~AlignMask;
190 Block.Address = Position.Address;
193 Position.Address += Block.Size;
196 // Position describes the state immediately before Terminator.
197 // Update Terminator accordingly and move Position past it.
199 void SystemZLongBranch::skipTerminator(BlockPosition &Position,
202 Terminator.Address = Position.Address;
203 Position.Address += Terminator.Size;
205 Position.Address += Terminator.ExtraRelaxSize;
270 BlockPosition Position(MF->getAlignment());
285 skipNonTerminators(Position, Block);
292 skipTerminator(Position, Terminators.back(), false);
299 return Position.Address;
335 BlockPosition Position(MF->getAlignment());
338 skipNonTerminators(Position, *BI);
340 skipTerminator(Position, *TI, true);
437 BlockPosition Position(MF->getAlignment());
440 skipNonTerminators(Position, *BI);
442 assert(Position.Address <= TI->Address &&
444 if (mustRelaxBranch(*TI, Position.Address))
446 skipTerminator(Position, *TI, false);