reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/Hexagon/HexagonBitTracker.cpp
  215         return evaluateLoad(MI, Inputs, Outputs);
  234     if (evaluateFormalCopy(MI, Inputs, Outputs))
  266   auto cop = [this, &Reg, &MI, &Inputs](unsigned N,
  274     return rc(N);
  345       return rr0(rc(1), Outputs);
  350       RegisterCell PC = eXTR(rc(1), 0, PW);
  360       return rr0(eINS(RC, eXTR(rc(1), 0, PW), 0), Outputs);
  373       RegisterCell CW = RegisterCell(W0).insert(rc(1), BT::BitMask(0, W1-1));
  374       RegisterCell RC = eADD(eSXT(CW, W1), rc(2));
  379       return rr0(eADD(rc(1), rc(2)), Outputs);
  379       return rr0(eADD(rc(1), rc(2)), Outputs);
  381       return rr0(eADD(rc(1), eIMM(im(2), W0)), Outputs);
  383       RegisterCell RC = eADD(eIMM(im(1), W0), eASL(rc(2), im(3)));
  387       RegisterCell RC = eADD(eIMM(im(1), W0), eLSR(rc(2), im(3)));
  391       RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
  391       RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
  395       RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
  400       RegisterCell M = eMLS(rc(2), rc(3));
  400       RegisterCell M = eMLS(rc(2), rc(3));
  405       RegisterCell M = eMLS(eIMM(im(2), W0), rc(3));
  406       RegisterCell RC = eADD(rc(1), lo(M, W0));
  410       RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
  411       RegisterCell RC = eADD(rc(1), lo(M, W0));
  415       RegisterCell M = eMLS(rc(2), rc(3));
  415       RegisterCell M = eMLS(rc(2), rc(3));
  416       RegisterCell RC = eADD(rc(1), lo(M, W0));
  420       RegisterCell RC = eADD(rc(1), eSUB(eIMM(im(2), W0), rc(3)));
  420       RegisterCell RC = eADD(rc(1), eSUB(eIMM(im(2), W0), rc(3)));
  424       RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
  424       RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
  428       RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3)));
  428       RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3)));
  428       RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3)));
  432       RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3)));
  432       RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3)));
  432       RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3)));
  436       RegisterCell RC = eADD(rc(1), eASL(rc(2), im(3)));
  436       RegisterCell RC = eADD(rc(1), eASL(rc(2), im(3)));
  446       return rr0(eSUB(rc(1), rc(2)), Outputs);
  446       return rr0(eSUB(rc(1), rc(2)), Outputs);
  448       return rr0(eSUB(eIMM(im(1), W0), rc(2)), Outputs);
  450       RegisterCell RC = eSUB(eIMM(im(1), W0), eASL(rc(2), im(3)));
  454       RegisterCell RC = eSUB(eIMM(im(1), W0), eLSR(rc(2), im(3)));
  458       RegisterCell RC = eSUB(rc(1), eADD(rc(2), eIMM(im(3), W0)));
  458       RegisterCell RC = eSUB(rc(1), eADD(rc(2), eIMM(im(3), W0)));
  462       RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3)));
  462       RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3)));
  462       RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3)));
  467       return rr0(eSUB(eIMM(0, W0), rc(1)), Outputs);
  470       RegisterCell M = eMLS(rc(1), rc(2));
  470       RegisterCell M = eMLS(rc(1), rc(2));
  474       return rr0(eMLS(rc(1), rc(2)), Outputs);
  474       return rr0(eMLS(rc(1), rc(2)), Outputs);
  476       return rr0(eADD(rc(1), eMLS(rc(2), rc(3))), Outputs);
  476       return rr0(eADD(rc(1), eMLS(rc(2), rc(3))), Outputs);
  476       return rr0(eADD(rc(1), eMLS(rc(2), rc(3))), Outputs);
  478       return rr0(eSUB(rc(1), eMLS(rc(2), rc(3))), Outputs);
  478       return rr0(eSUB(rc(1), eMLS(rc(2), rc(3))), Outputs);
  478       return rr0(eSUB(rc(1), eMLS(rc(2), rc(3))), Outputs);
  480       RegisterCell M = eMLS(rc(1), rc(2));
  480       RegisterCell M = eMLS(rc(1), rc(2));
  484       RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
  485       RegisterCell RC = eADD(rc(1), lo(M, W0));
  489       RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
  490       RegisterCell RC = eSUB(rc(1), lo(M, W0));
  494       RegisterCell M = eMLS(rc(2), rc(3));
  494       RegisterCell M = eMLS(rc(2), rc(3));
  495       RegisterCell RC = eADD(rc(1), lo(M, W0));
  499       RegisterCell M = eMLS(rc(1), eIMM(im(2), W0));
  503       RegisterCell M = eMLS(rc(1), eIMM(-im(2), W0));
  507       RegisterCell M = eMLS(rc(1), eIMM(im(2), W0));
  511       RegisterCell M = eMLU(rc(1), rc(2));
  511       RegisterCell M = eMLU(rc(1), rc(2));
  515       return rr0(eMLU(rc(1), rc(2)), Outputs);
  515       return rr0(eMLU(rc(1), rc(2)), Outputs);
  517       return rr0(eADD(rc(1), eMLU(rc(2), rc(3))), Outputs);
  517       return rr0(eADD(rc(1), eMLU(rc(2), rc(3))), Outputs);
  517       return rr0(eADD(rc(1), eMLU(rc(2), rc(3))), Outputs);
  519       return rr0(eSUB(rc(1), eMLU(rc(2), rc(3))), Outputs);
  519       return rr0(eSUB(rc(1), eMLU(rc(2), rc(3))), Outputs);
  519       return rr0(eSUB(rc(1), eMLU(rc(2), rc(3))), Outputs);
  525       return rr0(eAND(rc(1), eIMM(im(2), W0)), Outputs);
  528       return rr0(eAND(rc(1), rc(2)), Outputs);
  528       return rr0(eAND(rc(1), rc(2)), Outputs);
  531       return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
  531       return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
  533       RegisterCell RC = eAND(eIMM(im(1), W0), eASL(rc(2), im(3)));
  537       RegisterCell RC = eAND(eIMM(im(1), W0), eLSR(rc(2), im(3)));
  541       return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
  541       return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
  541       return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
  543       return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  543       return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  543       return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  545       return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
  545       return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
  545       return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
  547       return rr0(eAND(rc(1), eXOR(rc(2), rc(3))), Outputs);
  547       return rr0(eAND(rc(1), eXOR(rc(2), rc(3))), Outputs);
  547       return rr0(eAND(rc(1), eXOR(rc(2), rc(3))), Outputs);
  549       return rr0(eORL(rc(1), eIMM(im(2), W0)), Outputs);
  552       return rr0(eORL(rc(1), rc(2)), Outputs);
  552       return rr0(eORL(rc(1), rc(2)), Outputs);
  555       return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
  555       return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
  557       RegisterCell RC = eORL(eIMM(im(1), W0), eASL(rc(2), im(3)));
  561       RegisterCell RC = eORL(eIMM(im(1), W0), eLSR(rc(2), im(3)));
  565       return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
  565       return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
  565       return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
  567       return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  567       return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  567       return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  570       RegisterCell RC = eORL(rc(1), eAND(rc(2), eIMM(im(3), W0)));
  570       RegisterCell RC = eORL(rc(1), eAND(rc(2), eIMM(im(3), W0)));
  574       RegisterCell RC = eORL(rc(1), eORL(rc(2), eIMM(im(3), W0)));
  574       RegisterCell RC = eORL(rc(1), eORL(rc(2), eIMM(im(3), W0)));
  578       return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
  578       return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
  578       return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
  580       return rr0(eORL(rc(1), eXOR(rc(2), rc(3))), Outputs);
  580       return rr0(eORL(rc(1), eXOR(rc(2), rc(3))), Outputs);
  580       return rr0(eORL(rc(1), eXOR(rc(2), rc(3))), Outputs);
  583       return rr0(eXOR(rc(1), rc(2)), Outputs);
  583       return rr0(eXOR(rc(1), rc(2)), Outputs);
  585       return rr0(eXOR(rc(1), eAND(rc(2), rc(3))), Outputs);
  585       return rr0(eXOR(rc(1), eAND(rc(2), rc(3))), Outputs);
  585       return rr0(eXOR(rc(1), eAND(rc(2), rc(3))), Outputs);
  587       return rr0(eXOR(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  587       return rr0(eXOR(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  587       return rr0(eXOR(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  589       return rr0(eXOR(rc(1), eORL(rc(2), rc(3))), Outputs);
  589       return rr0(eXOR(rc(1), eORL(rc(2), rc(3))), Outputs);
  589       return rr0(eXOR(rc(1), eORL(rc(2), rc(3))), Outputs);
  591       return rr0(eXOR(rc(1), eXOR(rc(2), rc(3))), Outputs);
  591       return rr0(eXOR(rc(1), eXOR(rc(2), rc(3))), Outputs);
  591       return rr0(eXOR(rc(1), eXOR(rc(2), rc(3))), Outputs);
  594       return rr0(eNOT(rc(1)), Outputs);
  598       return rr0(eASL(rc(1), im(2)), Outputs);
  600       return rr0(eASL(rc(1), 16), Outputs);
  603       return rr0(eADD(rc(1), eASL(rc(2), im(3))), Outputs);
  603       return rr0(eADD(rc(1), eASL(rc(2), im(3))), Outputs);
  606       return rr0(eSUB(rc(1), eASL(rc(2), im(3))), Outputs);
  606       return rr0(eSUB(rc(1), eASL(rc(2), im(3))), Outputs);
  609       return rr0(eAND(rc(1), eASL(rc(2), im(3))), Outputs);
  609       return rr0(eAND(rc(1), eASL(rc(2), im(3))), Outputs);
  612       return rr0(eORL(rc(1), eASL(rc(2), im(3))), Outputs);
  612       return rr0(eORL(rc(1), eASL(rc(2), im(3))), Outputs);
  615       return rr0(eXOR(rc(1), eASL(rc(2), im(3))), Outputs);
  615       return rr0(eXOR(rc(1), eASL(rc(2), im(3))), Outputs);
  623       return rr0(eASR(rc(1), im(2)), Outputs);
  625       return rr0(eASR(rc(1), 16), Outputs);
  628       return rr0(eADD(rc(1), eASR(rc(2), im(3))), Outputs);
  628       return rr0(eADD(rc(1), eASR(rc(2), im(3))), Outputs);
  631       return rr0(eSUB(rc(1), eASR(rc(2), im(3))), Outputs);
  631       return rr0(eSUB(rc(1), eASR(rc(2), im(3))), Outputs);
  634       return rr0(eAND(rc(1), eASR(rc(2), im(3))), Outputs);
  634       return rr0(eAND(rc(1), eASR(rc(2), im(3))), Outputs);
  637       return rr0(eORL(rc(1), eASR(rc(2), im(3))), Outputs);
  637       return rr0(eORL(rc(1), eASR(rc(2), im(3))), Outputs);
  642       RegisterCell XC = eSXT(rc(1).cat(eIMM(0, W0)), W0);
  649         return rr0(rc(1), Outputs);
  651       RegisterCell XC = eSXT(rc(1).cat(eIMM(0, W0)), W0);
  663       return rr0(eLSR(rc(1), im(2)), Outputs);
  666       return rr0(eADD(rc(1), eLSR(rc(2), im(3))), Outputs);
  666       return rr0(eADD(rc(1), eLSR(rc(2), im(3))), Outputs);
  669       return rr0(eSUB(rc(1), eLSR(rc(2), im(3))), Outputs);
  669       return rr0(eSUB(rc(1), eLSR(rc(2), im(3))), Outputs);
  672       return rr0(eAND(rc(1), eLSR(rc(2), im(3))), Outputs);
  672       return rr0(eAND(rc(1), eLSR(rc(2), im(3))), Outputs);
  675       return rr0(eORL(rc(1), eLSR(rc(2), im(3))), Outputs);
  675       return rr0(eORL(rc(1), eLSR(rc(2), im(3))), Outputs);
  678       return rr0(eXOR(rc(1), eLSR(rc(2), im(3))), Outputs);
  678       return rr0(eXOR(rc(1), eLSR(rc(2), im(3))), Outputs);
  681       RegisterCell RC = rc(1);
  686       RegisterCell RC = rc(1);
  691       RegisterCell RC = rc(1);
  706       RegisterCell BF1 = eXTR(rc(1), 0, BX), BF2 = eXTR(rc(1), BX, W1);
  706       RegisterCell BF1 = eXTR(rc(1), 0, BX), BF2 = eXTR(rc(1), BX, W1);
  720       RegisterCell Pad = (Wd+Of > W0) ? rc(1).cat(eIMM(0, Wd+Of-W0)) : rc(1);
  720       RegisterCell Pad = (Wd+Of > W0) ? rc(1).cat(eIMM(0, Wd+Of-W0)) : rc(1);
  736         return rr0(rc(1), Outputs);
  737       return rr0(eINS(rc(1), eXTR(rc(2), 0, Wd), Of), Outputs);
  737       return rr0(eINS(rc(1), eXTR(rc(2), 0, Wd), Of), Outputs);
  760       RegisterCell R1 = rc(1);
  761       RegisterCell R2 = rc(2);
  768       RegisterCell R1 = rc(1);
  769       RegisterCell R2 = rc(2);
  775       RegisterCell RC = shuffle(rc(1), rc(2), 8, false);
  775       RegisterCell RC = shuffle(rc(1), rc(2), 8, false);
  779       RegisterCell RC = shuffle(rc(1), rc(2), 16, false);
  779       RegisterCell RC = shuffle(rc(1), rc(2), 16, false);
  783       RegisterCell RC = shuffle(rc(1), rc(2), 8, true);
  783       RegisterCell RC = shuffle(rc(1), rc(2), 8, true);
  787       RegisterCell RC = shuffle(rc(1), rc(2), 16, true);
  787       RegisterCell RC = shuffle(rc(1), rc(2), 16, true);
  794       RegisterCell R1 = rc(1);
  810       BT::BitValue PC0 = rc(1)[0];
  825       return rr0(eSXT(rc(1), 8), Outputs);
  827       return rr0(eSXT(rc(1), 16), Outputs);
  831       RegisterCell RC = eSXT(rc(1).cat(eIMM(0, W1)), W1);
  835       return rr0(eZXT(rc(1), 8), Outputs);
  837       return rr0(eZXT(rc(1), 16), Outputs);
  855       return rr0(eCLB(rc(1), false/*bit*/, 32), Outputs);
  858       return rr0(eCLB(rc(1), true/*bit*/, 32), Outputs);
  862       RegisterCell R1 = rc(1);
  870       return rr0(eCTB(rc(1), false/*bit*/, 32), Outputs);
  873       return rr0(eCTB(rc(1), true/*bit*/, 32), Outputs);
  879       RegisterCell P1 = rc(1);
  896       RegisterCell P1 = rc(1);
  913       return rr0(eAND(rc(1), rc(2)), Outputs);
  913       return rr0(eAND(rc(1), rc(2)), Outputs);
  915       return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
  915       return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
  917       return rr0(eNOT(rc(1)), Outputs);
  919       return rr0(eORL(rc(1), rc(2)), Outputs);
  919       return rr0(eORL(rc(1), rc(2)), Outputs);
  921       return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
  921       return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
  923       return rr0(eXOR(rc(1), rc(2)), Outputs);
  923       return rr0(eXOR(rc(1), rc(2)), Outputs);
  925       return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
  925       return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
  925       return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
  927       return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  927       return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  927       return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  929       return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
  929       return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
  929       return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
  931       return rr0(eAND(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
  931       return rr0(eAND(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
  931       return rr0(eAND(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
  933       return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
  933       return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
  933       return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
  935       return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  935       return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  935       return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
  937       return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
  937       return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
  937       return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
  939       return rr0(eORL(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
  939       return rr0(eORL(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
  939       return rr0(eORL(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
  950       BT::BitValue V = rc(1)[im(2)];
  974       return MachineEvaluator::evaluate(MI, Inputs, Outputs);