Lines Matching defs:LatticeCell
109 class LatticeCell {
127 LatticeCell() : Kind(Top), Size(0), IsSpecial(false) {
132 bool meet(const LatticeCell &L);
138 LatticeCell(const LatticeCell &L) {
148 LatticeCell &operator=(const LatticeCell &L) {
187 raw_ostream &operator<< (raw_ostream &os, const LatticeCell &L) {
228 const LatticeCell &get(Register R) const {
238 void update(Register R, const LatticeCell &L) { Map[R] = L; }
243 using MapType = std::map<Register, LatticeCell>;
249 LatticeCell Top, Bottom;
280 LatticeCell Bottom;
315 virtual bool evaluate(const RegisterSubReg &R, const LatticeCell &SrcC,
316 LatticeCell &Result) = 0;
358 bool getCell(const RegisterSubReg &R, const CellMap &Inputs, LatticeCell &RC);
377 LatticeCell &Result);
381 const CellMap &Inputs, LatticeCell &Result);
383 const CellMap &Inputs, LatticeCell &Result);
386 const CellMap &Inputs, LatticeCell &Result);
388 const CellMap &Inputs, LatticeCell &Result);
391 const CellMap &Inputs, LatticeCell &Result);
393 const CellMap &Inputs, LatticeCell &Result);
398 const CellMap &Inputs, LatticeCell &Result);
402 const CellMap &Inputs, LatticeCell &Result);
408 const CellMap &Inputs, LatticeCell &Result);
411 const CellMap &Inputs, LatticeCell &Result);
417 LatticeCell &Result);
422 const CellMap &Inputs, LatticeCell &Result);
461 bool LatticeCell::convertToProperty() {
479 void LatticeCell::print(raw_ostream &os) const {
520 bool LatticeCell::meet(const LatticeCell &L) {
547 bool LatticeCell::add(const Constant *LC) {
591 bool LatticeCell::add(uint32_t Property) {
602 uint32_t LatticeCell::properties() const {
641 const LatticeCell &T = Cells.get(DefR.Reg);
649 LatticeCell DefC = Cells.get(DefR.Reg);
669 LatticeCell SrcC;
710 const LatticeCell &T = Cells.get(DefR.Reg);
718 LatticeCell RC = Cells.get(DefR.Reg);
1080 LatticeCell &RC) {
1083 const LatticeCell &L = Inputs.get(R.Reg);
1108 LatticeCell LS1, LS2;
1147 LatticeCell LS;
1174 LatticeCell LS;
1365 const CellMap &Inputs, LatticeCell &Result) {
1370 const RegisterSubReg &R2, const CellMap &Inputs, LatticeCell &Result) {
1372 const LatticeCell &L1 = Inputs.get(R2.Reg);
1373 const LatticeCell &L2 = Inputs.get(R2.Reg);
1382 LatticeCell LS2;
1390 LatticeCell RC;
1401 const APInt &A2, const CellMap &Inputs, LatticeCell &Result) {
1406 LatticeCell RC;
1412 LatticeCell LS1;
1437 const RegisterSubReg &R2, const CellMap &Inputs, LatticeCell &Result) {
1439 const LatticeCell &L1 = Inputs.get(R2.Reg);
1440 const LatticeCell &L2 = Inputs.get(R2.Reg);
1449 LatticeCell LS2;
1457 LatticeCell RC;
1468 const APInt &A2, const CellMap &Inputs, LatticeCell &Result) {
1473 LatticeCell RC;
1479 LatticeCell LS1;
1504 const RegisterSubReg &R2, const CellMap &Inputs, LatticeCell &Result) {
1506 LatticeCell LS1, LS2;
1522 LatticeCell RC;
1533 const APInt &A2, const CellMap &Inputs, LatticeCell &Result) {
1535 LatticeCell LS1;
1566 unsigned Bits, const CellMap &Inputs, LatticeCell &Result) {
1568 LatticeCell LS1;
1597 unsigned Bits, const CellMap &Inputs, LatticeCell &Result) {
1599 LatticeCell LS1;
1662 bool Ones, const CellMap &Inputs, LatticeCell &Result) {
1664 LatticeCell LS1;
1697 bool Ones, const CellMap &Inputs, LatticeCell &Result) {
1699 LatticeCell LS1;
1733 const CellMap &Inputs, LatticeCell &Result) {
1736 LatticeCell LS1;
1791 LatticeCell &Result) {
1793 LatticeCell LS1;
1846 bool evaluate(const RegisterSubReg &R, const LatticeCell &SrcC,
1847 LatticeCell &Result) override;
1862 LatticeCell &Result);
1941 LatticeCell RC;
1963 LatticeCell RC;
1997 LatticeCell RC = Outputs.get(DefR.Reg);
2006 LatticeCell RC = Outputs.get(DefR.Reg);
2040 LatticeCell RC = Outputs.get(DefR.Reg);
2052 LatticeCell RC = Outputs.get(DefR.Reg);
2093 LatticeCell T;
2101 LatticeCell RC = Outputs.get(DefR.Reg);
2125 LatticeCell T;
2133 LatticeCell RC = Outputs.get(DefR.Reg);
2155 LatticeCell RC = Outputs.get(DefR.Reg);
2203 const LatticeCell &Input, LatticeCell &Result) {
2299 const LatticeCell &PredC = Inputs.get(PR.Reg);
2517 const CellMap &Inputs, LatticeCell &Result) {
2519 LatticeCell LSL, LSH;
2586 LatticeCell L = Outputs.get(DefR.Reg);
2637 LatticeCell RC;
2680 LatticeCell LS;
2694 LatticeCell RC = Outputs.get(DefR.Reg);
2707 const LatticeCell &LR = Inputs.get(R.Reg);
2708 LatticeCell LSR;
2753 LatticeCell RC = Outputs.get(DefR.Reg);
2768 LatticeCell RC = Outputs.get(DefR.Reg);
2814 const LatticeCell &L = Inputs.get(R.Reg);
2865 const LatticeCell &L = Inputs.get(R);
2979 LatticeCell LS2, LS3;
3012 const LatticeCell &LI = Swap ? LS2 : LS3;
3041 LatticeCell LS1, LS2;
3077 LatticeCell LS1, LS2;