Lines Matching refs:RegisterSubReg
85 struct RegisterSubReg { struct
89 explicit RegisterSubReg(unsigned R, unsigned SR = 0) : Reg(R), SubReg(SR) {} in RegisterSubReg() argument
90 explicit RegisterSubReg(const MachineOperand &MO) in RegisterSubReg() function
97 bool operator== (const RegisterSubReg &R) const { in operator ==() argument
315 virtual bool evaluate(const RegisterSubReg &R, const LatticeCell &SrcC,
358 bool getCell(const RegisterSubReg &R, const CellMap &Inputs, LatticeCell &RC);
364 bool evaluateCMPrr(uint32_t Cmp, const RegisterSubReg &R1, const RegisterSubReg &R2,
366 bool evaluateCMPri(uint32_t Cmp, const RegisterSubReg &R1, const APInt &A2,
368 bool evaluateCMPrp(uint32_t Cmp, const RegisterSubReg &R1, uint64_t Props2,
377 bool evaluateCOPY(const RegisterSubReg &R1, const CellMap &Inputs,
381 bool evaluateANDrr(const RegisterSubReg &R1, const RegisterSubReg &R2,
383 bool evaluateANDri(const RegisterSubReg &R1, const APInt &A2,
386 bool evaluateORrr(const RegisterSubReg &R1, const RegisterSubReg &R2,
388 bool evaluateORri(const RegisterSubReg &R1, const APInt &A2,
391 bool evaluateXORrr(const RegisterSubReg &R1, const RegisterSubReg &R2,
393 bool evaluateXORri(const RegisterSubReg &R1, const APInt &A2,
398 bool evaluateZEXTr(const RegisterSubReg &R1, unsigned Width, unsigned Bits,
402 bool evaluateSEXTr(const RegisterSubReg &R1, unsigned Width, unsigned Bits,
408 bool evaluateCLBr(const RegisterSubReg &R1, bool Zeros, bool Ones,
411 bool evaluateCTBr(const RegisterSubReg &R1, bool Zeros, bool Ones,
416 bool evaluateEXTRACTr(const RegisterSubReg &R1, unsigned Width, unsigned Bits,
422 bool evaluateSplatr(const RegisterSubReg &R1, unsigned Bits, unsigned Count,
634 RegisterSubReg DefR(MD); in visitPHI()
661 RegisterSubReg UseR(SO); in visitPHI()
704 RegisterSubReg DefR(MO); in visitNonBranch()
1080 bool MachineConstEvaluator::getCell(const RegisterSubReg &R, const CellMap &Inputs, in getCell()
1106 bool MachineConstEvaluator::evaluateCMPrr(uint32_t Cmp, const RegisterSubReg &R1, in evaluateCMPrr()
1107 const RegisterSubReg &R2, const CellMap &Inputs, bool &Result) { in evaluateCMPrr()
1145 bool MachineConstEvaluator::evaluateCMPri(uint32_t Cmp, const RegisterSubReg &R1, in evaluateCMPri()
1172 bool MachineConstEvaluator::evaluateCMPrp(uint32_t Cmp, const RegisterSubReg &R1, in evaluateCMPrp()
1365 bool MachineConstEvaluator::evaluateCOPY(const RegisterSubReg &R1, in evaluateCOPY()
1370 bool MachineConstEvaluator::evaluateANDrr(const RegisterSubReg &R1, in evaluateANDrr()
1371 const RegisterSubReg &R2, const CellMap &Inputs, LatticeCell &Result) { in evaluateANDrr()
1401 bool MachineConstEvaluator::evaluateANDri(const RegisterSubReg &R1, in evaluateANDri()
1437 bool MachineConstEvaluator::evaluateORrr(const RegisterSubReg &R1, in evaluateORrr()
1438 const RegisterSubReg &R2, const CellMap &Inputs, LatticeCell &Result) { in evaluateORrr()
1468 bool MachineConstEvaluator::evaluateORri(const RegisterSubReg &R1, in evaluateORri()
1504 bool MachineConstEvaluator::evaluateXORrr(const RegisterSubReg &R1, in evaluateXORrr()
1505 const RegisterSubReg &R2, const CellMap &Inputs, LatticeCell &Result) { in evaluateXORrr()
1533 bool MachineConstEvaluator::evaluateXORri(const RegisterSubReg &R1, in evaluateXORri()
1566 bool MachineConstEvaluator::evaluateZEXTr(const RegisterSubReg &R1, unsigned Width, in evaluateZEXTr()
1597 bool MachineConstEvaluator::evaluateSEXTr(const RegisterSubReg &R1, unsigned Width, in evaluateSEXTr()
1662 bool MachineConstEvaluator::evaluateCLBr(const RegisterSubReg &R1, bool Zeros, in evaluateCLBr()
1697 bool MachineConstEvaluator::evaluateCTBr(const RegisterSubReg &R1, bool Zeros, in evaluateCTBr()
1732 bool MachineConstEvaluator::evaluateEXTRACTr(const RegisterSubReg &R1, in evaluateEXTRACTr()
1790 bool MachineConstEvaluator::evaluateSplatr(const RegisterSubReg &R1, in evaluateSplatr()
1847 bool evaluate(const RegisterSubReg &R, const LatticeCell &SrcC,
1862 bool evaluateHexRSEQ32(RegisterSubReg RL, RegisterSubReg RH, const CellMap &Inputs,
1936 RegisterSubReg DefR(MD); in evaluate()
1943 RegisterSubReg SrcR(MI.getOperand(1)); in evaluate()
1965 RegisterSubReg SrcRL(OpLo), SrcRH(OpHi); in evaluate()
2052 RegisterSubReg R(MI.getOperand(1)); in evaluate()
2092 RegisterSubReg R1(MI.getOperand(1)); in evaluate()
2124 RegisterSubReg R1(MI.getOperand(1)); in evaluate()
2152 RegisterSubReg R1(MI.getOperand(1)); in evaluate()
2203 bool HexagonConstEvaluator::evaluate(const RegisterSubReg &R, in evaluate()
2294 RegisterSubReg PR(MD); in evaluate()
2516 bool HexagonConstEvaluator::evaluateHexRSEQ32(RegisterSubReg RL, RegisterSubReg RH, in evaluateHexRSEQ32()
2585 RegisterSubReg DefR(MI.getOperand(0)); in evaluateHexCompare()
2605 RegisterSubReg R1(Src1); in evaluateHexCompare2()
2607 RegisterSubReg R2(Src2); in evaluateHexCompare2()
2616 RegisterSubReg R2(Src2); in evaluateHexCompare2()
2635 RegisterSubReg R1(Src1); in evaluateHexLogical()
2643 Eval = evaluateANDrr(R1, RegisterSubReg(Src2), Inputs, RC); in evaluateHexLogical()
2654 Eval = evaluateORrr(R1, RegisterSubReg(Src2), Inputs, RC); in evaluateHexLogical()
2665 Eval = evaluateXORrr(R1, RegisterSubReg(Src2), Inputs, RC); in evaluateHexLogical()
2669 RegisterSubReg DefR(MI.getOperand(0)); in evaluateHexLogical()
2678 RegisterSubReg CR(MI.getOperand(1)); in evaluateHexCondMove()
2693 RegisterSubReg DefR(MI.getOperand(0)); in evaluateHexCondMove()
2706 RegisterSubReg R(ValOp); in evaluateHexCondMove()
2721 RegisterSubReg R1(MI.getOperand(1)); in evaluateHexExt()
2751 RegisterSubReg DefR(MI.getOperand(0)); in evaluateHexExt()
2765 RegisterSubReg DefR(MI.getOperand(0)); in evaluateHexVector1()
2766 RegisterSubReg R1(MI.getOperand(1)); in evaluateHexVector1()
2804 RegisterSubReg R(MO); in rewriteHexConstDefs()
2975 RegisterSubReg DefR(MI.getOperand(0)); in rewriteHexConstUses()
2977 RegisterSubReg R2(MI.getOperand(2)); in rewriteHexConstUses()
2978 RegisterSubReg R3(MI.getOperand(3)); in rewriteHexConstUses()
2992 RegisterSubReg R1(Acc); in rewriteHexConstUses()
3039 RegisterSubReg R1(MI.getOperand(1)); in rewriteHexConstUses()
3040 RegisterSubReg R2(MI.getOperand(2)); in rewriteHexConstUses()
3058 RegisterSubReg SR(SO); in rewriteHexConstUses()
3059 RegisterSubReg DefR(MI.getOperand(0)); in rewriteHexConstUses()
3075 RegisterSubReg R1(MI.getOperand(1)); in rewriteHexConstUses()
3076 RegisterSubReg R2(MI.getOperand(2)); in rewriteHexConstUses()
3090 RegisterSubReg SR(SO); in rewriteHexConstUses()
3091 RegisterSubReg DefR(MI.getOperand(0)); in rewriteHexConstUses()