Home | History | Annotate | Download | only in SystemZ

Lines Matching refs:Terminator

94   // Represents the state of a block terminator.
96 // If this terminator is a relaxable branch, this points to the branch
100 // The address that we currently assume the terminator has.
103 // The current size of the terminator in bytes.
144 void skipTerminator(BlockPosition &Position, TerminatorInfo &Terminator,
148 bool mustRelaxBranch(const TerminatorInfo &Terminator, uint64_t Address);
153 void relaxBranch(TerminatorInfo &Terminator);
173 // accordingly and move Position to the end of the block's non-terminator
196 // Position describes the state immediately before Terminator.
197 // Update Terminator accordingly and move Position past it.
198 // Assume that Terminator will be relaxed if AssumeRelaxed.
200 TerminatorInfo &Terminator,
202 Terminator.Address = Position.Address;
203 Position.Address += Terminator.Size;
205 Position.Address += Terminator.ExtraRelaxSize;
208 // Return a description of terminator instruction MI.
210 TerminatorInfo Terminator;
211 Terminator.Size = TII->getInstSizeInBytes(MI);
216 Terminator.ExtraRelaxSize = 2;
220 Terminator.ExtraRelaxSize = 2;
225 Terminator.ExtraRelaxSize = 6;
229 Terminator.ExtraRelaxSize = 2;
233 Terminator.ExtraRelaxSize = 4;
238 Terminator.ExtraRelaxSize = 4;
243 Terminator.Branch = MI;
244 Terminator.TargetBlock =
247 return Terminator;
283 assert(MI->isTerminator() && "Terminator followed by non-terminator");
295 // Return true if, under current assumptions, Terminator would need to be
297 bool SystemZLongBranch::mustRelaxBranch(const TerminatorInfo &Terminator,
299 if (!Terminator.Branch)
302 const MBBInfo &Target = MBBs[Terminator.TargetBlock];
314 // Return true if, under current assumptions, any terminator needs
376 // Relax the branch described by Terminator.
377 void SystemZLongBranch::relaxBranch(TerminatorInfo &Terminator) {
378 MachineInstr *Branch = Terminator.Branch;
408 Terminator.Size += Terminator.ExtraRelaxSize;
409 Terminator.ExtraRelaxSize = 0;
410 Terminator.Branch = 0;