reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
54 assert(!isa<StoreInst>(Val) && "a StoreInst cannot be used"); 56 if (isa<BasicBlock>(Val)) 57 return VirtualUse(UserStmt, Val, Block, nullptr, nullptr); 59 if (isa<llvm::Constant>(Val) || isa<MetadataAsValue>(Val)) 59 if (isa<llvm::Constant>(Val) || isa<MetadataAsValue>(Val)) 60 return VirtualUse(UserStmt, Val, Constant, nullptr, nullptr); 66 if (SE->isSCEVable(Val->getType())) { 67 auto *ScevExpr = SE->getSCEVAtScope(Val, UserScope); 68 if (!UserStmt || canSynthesize(Val, *UserStmt->getParent(), SE, UserScope)) 69 return VirtualUse(UserStmt, Val, Synthesizable, ScevExpr, nullptr); 75 if (S->lookupInvariantEquivClass(Val) || RIL.count(dyn_cast<LoadInst>(Val))) 75 if (S->lookupInvariantEquivClass(Val) || RIL.count(dyn_cast<LoadInst>(Val))) 76 return VirtualUse(UserStmt, Val, Hoisted, nullptr, nullptr); 82 InputMA = UserStmt->lookupValueReadOf(Val); 89 if (!UserStmt || isa<Argument>(Val)) 90 return VirtualUse(UserStmt, Val, ReadOnly, nullptr, InputMA); 92 auto Inst = cast<Instruction>(Val); 94 return VirtualUse(UserStmt, Val, ReadOnly, nullptr, InputMA); 100 return VirtualUse(UserStmt, Val, Inter, nullptr, InputMA); 102 return VirtualUse(UserStmt, Val, Intra, nullptr, nullptr);