Lines Matching full:terminator

93 // Represents the state of a block terminator.
95 // If this terminator is a relaxable branch, this points to the branch
99 // The address that we currently assume the terminator has.
102 // The current size of the terminator in bytes.
148 void skipTerminator(BlockPosition &Position, TerminatorInfo &Terminator,
152 bool mustRelaxBranch(const TerminatorInfo &Terminator, uint64_t Address);
157 void relaxBranch(TerminatorInfo &Terminator);
177 // accordingly and move Position to the end of the block's non-terminator
200 // Position describes the state immediately before Terminator.
201 // Update Terminator accordingly and move Position past it.
202 // Assume that Terminator will be relaxed if AssumeRelaxed.
204 TerminatorInfo &Terminator, in skipTerminator() argument
206 Terminator.Address = Position.Address; in skipTerminator()
207 Position.Address += Terminator.Size; in skipTerminator()
209 Position.Address += Terminator.ExtraRelaxSize; in skipTerminator()
212 // Return a description of terminator instruction MI.
214 TerminatorInfo Terminator; in describeTerminator() local
215 Terminator.Size = TII->getInstSizeInBytes(MI); in describeTerminator()
220 Terminator.ExtraRelaxSize = 2; in describeTerminator()
224 Terminator.ExtraRelaxSize = 2; in describeTerminator()
229 Terminator.ExtraRelaxSize = 6; in describeTerminator()
234 Terminator.ExtraRelaxSize = 2; in describeTerminator()
239 Terminator.ExtraRelaxSize = 4; in describeTerminator()
244 Terminator.ExtraRelaxSize = 4; in describeTerminator()
249 Terminator.ExtraRelaxSize = 6; in describeTerminator()
254 Terminator.Branch = &MI; in describeTerminator()
255 Terminator.TargetBlock = in describeTerminator()
258 return Terminator; in describeTerminator()
294 assert(MI->isTerminator() && "Terminator followed by non-terminator"); in initMBBInfo()
306 // Return true if, under current assumptions, Terminator would need to be
308 bool SystemZLongBranch::mustRelaxBranch(const TerminatorInfo &Terminator, in mustRelaxBranch() argument
310 if (!Terminator.Branch) in mustRelaxBranch()
313 const MBBInfo &Target = MBBs[Terminator.TargetBlock]; in mustRelaxBranch()
325 // Return true if, under current assumptions, any terminator needs
328 for (auto &Terminator : Terminators) in mustRelaxABranch() local
329 if (mustRelaxBranch(Terminator, Terminator.Address)) in mustRelaxABranch()
385 // Relax the branch described by Terminator.
386 void SystemZLongBranch::relaxBranch(TerminatorInfo &Terminator) { in relaxBranch() argument
387 MachineInstr *Branch = Terminator.Branch; in relaxBranch()
429 Terminator.Size += Terminator.ExtraRelaxSize; in relaxBranch()
430 Terminator.ExtraRelaxSize = 0; in relaxBranch()
431 Terminator.Branch = nullptr; in relaxBranch()