Lines Matching +full:one +full:- +full:cell

1 //===- BitTracker.h ---------------------------------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
151 // any register, it is more of an abstraction of the two-element set of
152 // possible bit values. One extension here is the "Ref" type, which
159 One, // Bit = 1. enumerator
160 Ref // Bit value same as the one described in RefI.
170 // for one register will be a simple "ref" for another register.
174 // In practice there is a special case for values that are not associa-
183 // one in which V will be contained. If the RefI.Pos refers to the posi-
195 BitValue(bool B) : Type(B ? One : Zero) {} in BitValue()
212 : (T == 1 ? Type == One : false); in is()
223 // the newly calculated one, and return "true" if the value of *this has
225 // To prove that it satisfies the conditions (1)-(5), it is sufficient
258 return Type == Zero || Type == One; in num()
262 assert(Type == Zero || Type == One);
263 return Type == One;
318 RegisterCell extract(const BitMask &M) const; // Returns a new cell.
330 // Replace the ref-to-reg-0 bit values with the given register.
333 // Generate a "ref" cell for the corresponding register. In the resulting
334 // cell each bit will be described as being the same as the corresponding
335 // bit in register Reg (i.e. the cell is "defined" by register Reg).
337 // Generate a "top" cell of given size.
339 // Generate a cell that is a "ref" to another cell.
360 return F->second; in lookup()
388 // A class to evaluate target's instructions and update the cell maps.
404 // generate a ref for a cell corresponding to a register reference.
411 // Check if a cell is an immediate value (i.e. all bits are either 0 or 1).
413 // Convert cell to an immediate value.
416 // Generate cell from an immediate value.
450 // XTR R,b,e: extract bits from A1 starting at bit b, ending at e-1.
456 // User-provided functions for individual targets:
458 // Return a sub-register mask that indicates which bits in Reg belong
460 // the super-register, and have the same ordering in the sub-register
461 // as in the super-register. It is valid to call this function with
468 // Evaluate a non-branching machine instruction, given the cell map with
473 // Evaluate a branch, given the cell map with the input values. Fill out
475 // whether the branch could fall-through. Return "true" if this information