Lines Matching refs:RegisterCell

40   struct RegisterCell;
44 using CellMapType = std::map<unsigned, RegisterCell>;
52 const RegisterCell &lookup(unsigned Reg) const;
53 RegisterCell get(RegisterRef RR) const;
54 void put(RegisterRef RR, const RegisterCell &RC);
300 struct BitTracker::RegisterCell { struct
301 RegisterCell(uint16_t Width = DefaultBitN) : Bits(Width) {} in Bits() argument
316 bool meet(const RegisterCell &RC, Register SelfR); argument
317 RegisterCell &insert(const RegisterCell &RC, const BitMask &M);
318 RegisterCell extract(const BitMask &M) const; // Returns a new cell.
319 RegisterCell &rol(uint16_t Sh); // Rotate left.
320 RegisterCell &fill(uint16_t B, uint16_t E, const BitValue &V);
321 RegisterCell &cat(const RegisterCell &RC); // Concatenate.
325 bool operator== (const RegisterCell &RC) const;
326 bool operator!= (const RegisterCell &RC) const {
331 RegisterCell &regify(unsigned R);
336 static RegisterCell self(unsigned Reg, uint16_t Width);
338 static RegisterCell top(uint16_t Width);
340 static RegisterCell ref(const RegisterCell &C);
349 friend raw_ostream &operator<<(raw_ostream &OS, const RegisterCell &RC); argument
356 inline const BitTracker::RegisterCell&
363 inline BitTracker::RegisterCell
364 BitTracker::RegisterCell::self(unsigned Reg, uint16_t Width) { in self()
365 RegisterCell RC(Width); in self()
371 inline BitTracker::RegisterCell
372 BitTracker::RegisterCell::top(uint16_t Width) { in top()
373 RegisterCell RC(Width); in top()
379 inline BitTracker::RegisterCell
380 BitTracker::RegisterCell::ref(const RegisterCell &C) { in ref()
382 RegisterCell RC(W); in ref()
399 RegisterCell getCell(const RegisterRef &RR, const CellMapType &M) const;
400 void putCell(const RegisterRef &RR, RegisterCell RC, CellMapType &M) const;
405 RegisterCell getRef(const RegisterRef &RR, const CellMapType &M) const { in getRef()
406 RegisterCell RC = getCell(RR, M); in getRef()
407 return RegisterCell::ref(RC); in getRef()
412 bool isInt(const RegisterCell &A) const;
414 uint64_t toInt(const RegisterCell &A) const;
417 RegisterCell eIMM(int64_t V, uint16_t W) const;
418 RegisterCell eIMM(const ConstantInt *CI) const;
421 RegisterCell eADD(const RegisterCell &A1, const RegisterCell &A2) const;
422 RegisterCell eSUB(const RegisterCell &A1, const RegisterCell &A2) const;
423 RegisterCell eMLS(const RegisterCell &A1, const RegisterCell &A2) const;
424 RegisterCell eMLU(const RegisterCell &A1, const RegisterCell &A2) const;
427 RegisterCell eASL(const RegisterCell &A1, uint16_t Sh) const;
428 RegisterCell eLSR(const RegisterCell &A1, uint16_t Sh) const;
429 RegisterCell eASR(const RegisterCell &A1, uint16_t Sh) const;
432 RegisterCell eAND(const RegisterCell &A1, const RegisterCell &A2) const;
433 RegisterCell eORL(const RegisterCell &A1, const RegisterCell &A2) const;
434 RegisterCell eXOR(const RegisterCell &A1, const RegisterCell &A2) const;
435 RegisterCell eNOT(const RegisterCell &A1) const;
438 RegisterCell eSET(const RegisterCell &A1, uint16_t BitN) const;
439 RegisterCell eCLR(const RegisterCell &A1, uint16_t BitN) const;
442 RegisterCell eCLB(const RegisterCell &A1, bool B, uint16_t W) const;
443 RegisterCell eCTB(const RegisterCell &A1, bool B, uint16_t W) const;
446 RegisterCell eSXT(const RegisterCell &A1, uint16_t FromN) const;
447 RegisterCell eZXT(const RegisterCell &A1, uint16_t FromN) const;
452 RegisterCell eXTR(const RegisterCell &A1, uint16_t B, uint16_t E) const;
453 RegisterCell eINS(const RegisterCell &A1, const RegisterCell &A2,