Lines Matching refs:CVPLatticeKey
51 using CVPLatticeKey = PointerIntPair<Value *, 2, IPOGrouping>; typedef
115 : public AbstractLatticeFunction<CVPLatticeKey, CVPLatticeVal> {
123 CVPLatticeVal ComputeLatticeVal(CVPLatticeKey Key) override { in ComputeLatticeVal()
171 Instruction &I, DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in ComputeInstructionState() argument
172 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) override { in ComputeInstructionState() argument
204 void PrintLatticeKey(CVPLatticeKey Key, raw_ostream &OS) override { in PrintLatticeKey()
242 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitReturn() argument
243 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitReturn() argument
247 auto RegI = CVPLatticeKey(I.getReturnValue(), IPOGrouping::Register); in visitReturn()
248 auto RetF = CVPLatticeKey(F, IPOGrouping::Return); in visitReturn()
258 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitCallSite() argument
259 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitCallSite() argument
262 auto RegI = CVPLatticeKey(I, IPOGrouping::Register); in visitCallSite()
282 auto RetF = CVPLatticeKey(F, IPOGrouping::Return); in visitCallSite()
284 auto RegFormal = CVPLatticeKey(&A, IPOGrouping::Register); in visitCallSite()
286 CVPLatticeKey(CS.getArgument(A.getArgNo()), IPOGrouping::Register); in visitCallSite()
303 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitSelect() argument
304 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitSelect() argument
305 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); in visitSelect()
306 auto RegT = CVPLatticeKey(I.getTrueValue(), IPOGrouping::Register); in visitSelect()
307 auto RegF = CVPLatticeKey(I.getFalseValue(), IPOGrouping::Register); in visitSelect()
316 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitLoad() argument
317 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitLoad() argument
318 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); in visitLoad()
320 auto MemGV = CVPLatticeKey(GV, IPOGrouping::Memory); in visitLoad()
332 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitStore() argument
333 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitStore() argument
337 auto RegI = CVPLatticeKey(I.getValueOperand(), IPOGrouping::Register); in visitStore()
338 auto MemGV = CVPLatticeKey(GV, IPOGrouping::Memory); in visitStore()
346 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitInst() argument
347 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitInst() argument
351 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); in visitInst()
361 template <> struct LatticeKeyInfo<CVPLatticeKey> {
362 static inline Value *getValueFromLatticeKey(CVPLatticeKey Key) { in getValueFromLatticeKey()
365 static inline CVPLatticeKey getLatticeKeyFromValue(Value *V) { in getLatticeKeyFromValue()
366 return CVPLatticeKey(V, IPOGrouping::Register); in getLatticeKeyFromValue()
374 SparseSolver<CVPLatticeKey, CVPLatticeVal> Solver(&Lattice); in runCVP()
392 auto RegI = CVPLatticeKey(CS.getCalledValue(), IPOGrouping::Register); in runCVP()