• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/

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);
299 struct BitTracker::RegisterCell {
300 RegisterCell(uint16_t Width = DefaultBitN) : Bits(Width) {}
315 bool meet(const RegisterCell &RC, unsigned SelfR);
316 RegisterCell &insert(const RegisterCell &RC, const BitMask &M);
317 RegisterCell extract(const BitMask &M) const; // Returns a new cell.
318 RegisterCell &rol(uint16_t Sh); // Rotate left.
319 RegisterCell &fill(uint16_t B, uint16_t E, const BitValue &V);
320 RegisterCell &cat(const RegisterCell &RC); // Concatenate.
324 bool operator== (const RegisterCell &RC) const;
325 bool operator!= (const RegisterCell &RC) const {
330 RegisterCell &regify(unsigned R);
335 static RegisterCell self(unsigned Reg, uint16_t Width);
337 static RegisterCell top(uint16_t Width);
339 static RegisterCell ref(const RegisterCell &C);
348 friend raw_ostream &operator<<(raw_ostream &OS, const RegisterCell &RC);
355 inline const BitTracker::RegisterCell&
362 inline BitTracker::RegisterCell
363 BitTracker::RegisterCell::self(unsigned Reg, uint16_t Width) {
364 RegisterCell RC(Width);
370 inline BitTracker::RegisterCell
371 BitTracker::RegisterCell::top(uint16_t Width) {
372 RegisterCell RC(Width);
378 inline BitTracker::RegisterCell
379 BitTracker::RegisterCell::ref(const RegisterCell &C) {
381 RegisterCell RC(W);
398 RegisterCell getCell(const RegisterRef &RR, const CellMapType &M) const;
399 void putCell(const RegisterRef &RR, RegisterCell RC, CellMapType &M) const;
404 RegisterCell getRef(const RegisterRef &RR, const CellMapType &M) const {
405 RegisterCell RC = getCell(RR, M);
406 return RegisterCell::ref(RC);
411 bool isInt(const RegisterCell &A) const;
413 uint64_t toInt(const RegisterCell &A) const;
416 RegisterCell eIMM(int64_t V, uint16_t W) const;
417 RegisterCell eIMM(const ConstantInt *CI) const;
420 RegisterCell eADD(const RegisterCell &A1, const RegisterCell &A2) const;
421 RegisterCell eSUB(const RegisterCell &A1, const RegisterCell &A2) const;
422 RegisterCell eMLS(const RegisterCell &A1, const RegisterCell &A2) const;
423 RegisterCell eMLU(const RegisterCell &A1, const RegisterCell &A2) const;
426 RegisterCell eASL(const RegisterCell &A1, uint16_t Sh) const;
427 RegisterCell eLSR(const RegisterCell &A1, uint16_t Sh) const;
428 RegisterCell eASR(const RegisterCell &A1, uint16_t Sh) const;
431 RegisterCell eAND(const RegisterCell &A1, const RegisterCell &A2) const;
432 RegisterCell eORL(const RegisterCell &A1, const RegisterCell &A2) const;
433 RegisterCell eXOR(const RegisterCell &A1, const RegisterCell &A2) const;
434 RegisterCell eNOT(const RegisterCell &A1) const;
437 RegisterCell eSET(const RegisterCell &A1, uint16_t BitN) const;
438 RegisterCell eCLR(const RegisterCell &A1, uint16_t BitN) const;
441 RegisterCell eCLB(const RegisterCell &A1, bool B, uint16_t W) const;
442 RegisterCell eCTB(const RegisterCell &A1, bool B, uint16_t W) const;
445 RegisterCell eSXT(const RegisterCell &A1, uint16_t FromN) const;
446 RegisterCell eZXT(const RegisterCell &A1, uint16_t FromN) const;
451 RegisterCell eXTR(const RegisterCell &A1, uint16_t B, uint16_t E) const;
452 RegisterCell eINS(const RegisterCell &A1, const RegisterCell &A2,