Lines Matching +full:keep +full:- +full:a +full:- +full:live
1 //==- llvm/CodeGen/AggressiveAntiDepBreaker.h - Anti-Dep Support -*- C++ -*-==//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 // implements register anti-dependence breaking during post-RA
11 // scheduling. It attempts to break all anti-dependencies within a
14 //===----------------------------------------------------------------------===//
39 /// Contains all the state necessary for anti-dep breaking.
42 /// Information about a register reference within a liverange
52 /// Number of non-virtual target registers (i.e. TRI->getNumRegs()).
55 /// Implements a disjoint-union data structure to
56 /// form register groups. A node is represented by an index into
57 /// the vector. A node can "point to" itself to indicate that it
58 /// is the parent of a group, or point to another node to indicate
59 /// that it is a member of the same group as that node.
64 /// Register 0 is always represented by the 0 group, a group
65 /// composed of registers that are not eligible for anti-aliasing.
68 /// Map registers to all their references within a live range.
71 /// The index of the most recent kill (proceeding bottom-up),
72 /// or ~0u if the register is not live.
76 /// up), or ~0u if the register is live.
91 // Get the group for a register. The returned value is
95 // Return a vector of the registers belonging to a group.
96 // If RegRefs is non-NULL then only included referenced registers.
103 // Union Reg1's and Reg2's groups to form a new group.
107 // Remove a register from its current group and place
112 /// Return true if Reg is live.
128 /// The state used to identify and rename anti-dependence registers.
140 /// Initialize anti-dep breaking for a new basic block.
143 /// Identifiy anti-dependencies along the critical path
156 /// Finish anti-dep breaking for a basic block.
160 /// Keep track of a position in the allocation order for each regclass.
163 /// Return true if MO represents a register
167 /// If MI implicitly def/uses a register, then