Lines Matching +full:y +full:- +full:rc
1 //===- BitTracker.h ---------------------------------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
54 void put(RegisterRef RR, const RegisterCell &RC);
151 // any register, it is more of an abstraction of the two-element set of
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-
217 // (2) x.y = y.x
218 // (3) x.(y.z) = (x.y).z
225 // To prove that it satisfies the conditions (1)-(5), it is sufficient
227 // x <= y <=> x.y = x
316 bool meet(const RegisterCell &RC, Register SelfR);
317 RegisterCell &insert(const RegisterCell &RC, const BitMask &M);
321 RegisterCell &cat(const RegisterCell &RC); // Concatenate.
325 bool operator== (const RegisterCell &RC) const;
326 bool operator!= (const RegisterCell &RC) const {
327 return !operator==(RC);
330 // Replace the ref-to-reg-0 bit values with the given register.
349 friend raw_ostream &operator<<(raw_ostream &OS, const RegisterCell &RC);
360 return F->second; in lookup()
365 RegisterCell RC(Width); in self()
367 RC.Bits[i] = BitValue::self(BitRef(Reg, i)); in self()
368 return RC; in self()
373 RegisterCell RC(Width); in top()
375 RC.Bits[i] = BitValue(BitValue::Top); in top()
376 return RC; in top()
382 RegisterCell RC(W); in ref()
384 RC[i] = BitValue::ref(C[i]); in ref()
385 return RC; in ref()
400 void putCell(const RegisterRef &RR, RegisterCell RC, CellMapType &M) const;
406 RegisterCell RC = getCell(RR, M); in getRef() local
407 return RegisterCell::ref(RC); in getRef()
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
467 virtual bool track(const TargetRegisterClass *RC) const { return true; } in track()
468 // Evaluate a non-branching machine instruction, given the cell map with
475 // whether the branch could fall-through. Return "true" if this information
479 // Given a register class RC, return a register class that should be assumed
480 // when a register from class RC is used with a subregister of index Idx.
482 composeWithSubRegIndex(const TargetRegisterClass &RC, unsigned Idx) const { in composeWithSubRegIndex()
484 return RC; in composeWithSubRegIndex()