Home | History | Annotate | Download | only in SystemZ

Lines Matching refs:Position

118 // Used to keep track of the current position while iterating over the blocks.
120 // The address that we assume this position has.
144 void skipNonTerminators(BlockPosition &Position, MBBInfo &Block);
145 void skipTerminator(BlockPosition &Position, TerminatorInfo &Terminator,
173 // Position describes the state immediately before Block. Update Block
174 // accordingly and move Position to the end of the block's non-terminator
176 void SystemZLongBranch::skipNonTerminators(BlockPosition &Position,
178 if (Block.Alignment > Position.KnownBits) {
181 Position.Address += ((uint64_t(1) << Block.Alignment) -
182 (uint64_t(1) << Position.KnownBits));
183 Position.KnownBits = Block.Alignment;
188 Position.Address = (Position.Address + AlignMask) & ~AlignMask;
190 // Record the block's position.
191 Block.Address = Position.Address;
194 Position.Address += Block.Size;
197 // Position describes the state immediately before Terminator.
198 // Update Terminator accordingly and move Position past it.
200 void SystemZLongBranch::skipTerminator(BlockPosition &Position,
203 Terminator.Address = Position.Address;
204 Position.Address += Terminator.Size;
206 Position.Address += Terminator.ExtraRelaxSize;
271 BlockPosition Position(MF->getAlignment());
286 skipNonTerminators(Position, Block);
293 skipTerminator(Position, Terminators.back(), false);
300 return Position.Address;
335 BlockPosition Position(MF->getAlignment());
337 skipNonTerminators(Position, Block);
339 skipTerminator(Position, *TI, true);
436 BlockPosition Position(MF->getAlignment());
438 skipNonTerminators(Position, Block);
440 assert(Position.Address <= TI->Address &&
442 if (mustRelaxBranch(*TI, Position.Address))
444 skipTerminator(Position, *TI, false);