Lines Matching defs:CVPLatticeKey
53 using CVPLatticeKey = PointerIntPair<Value *, 2, IPOGrouping>;
116 : public AbstractLatticeFunction<CVPLatticeKey, CVPLatticeVal> {
123 /// Compute and return a CVPLatticeVal for the given CVPLatticeKey.
124 CVPLatticeVal ComputeLatticeVal(CVPLatticeKey Key) override {
172 Instruction &I, DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
173 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) override {
203 /// Print the given CVPLatticeKey to the specified stream.
204 void PrintLatticeKey(CVPLatticeKey Key, raw_ostream &OS) override {
242 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
243 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) {
247 auto RegI = CVPLatticeKey(I.getReturnValue(), IPOGrouping::Register);
248 auto RetF = CVPLatticeKey(F, IPOGrouping::Return);
258 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
259 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) {
261 auto RegI = CVPLatticeKey(&CB, IPOGrouping::Register);
281 auto RetF = CVPLatticeKey(F, IPOGrouping::Return);
283 auto RegFormal = CVPLatticeKey(&A, IPOGrouping::Register);
285 CVPLatticeKey(CB.getArgOperand(A.getArgNo()), IPOGrouping::Register);
302 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
303 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) {
304 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register);
305 auto RegT = CVPLatticeKey(I.getTrueValue(), IPOGrouping::Register);
306 auto RegF = CVPLatticeKey(I.getFalseValue(), IPOGrouping::Register);
315 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
316 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) {
317 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register);
319 auto MemGV = CVPLatticeKey(GV, IPOGrouping::Memory);
331 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
332 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) {
336 auto RegI = CVPLatticeKey(I.getValueOperand(), IPOGrouping::Register);
337 auto MemGV = CVPLatticeKey(GV, IPOGrouping::Memory);
345 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues,
346 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) {
350 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register);
360 template <> struct LatticeKeyInfo<CVPLatticeKey> {
361 static inline Value *getValueFromLatticeKey(CVPLatticeKey Key) {
364 static inline CVPLatticeKey getLatticeKeyFromValue(Value *V) {
365 return CVPLatticeKey(V, IPOGrouping::Register);
373 SparseSolver<CVPLatticeKey, CVPLatticeVal> Solver(&Lattice);
390 auto RegI = CVPLatticeKey(C->getCalledOperand(), IPOGrouping::Register);