Lines Matching defs:SCCPInstVisitor
398 class SCCPInstVisitor : public InstVisitor<SCCPInstVisitor> {
681 friend class InstVisitor<SCCPInstVisitor>;
750 SCCPInstVisitor(const DataLayout &DL,
929 bool SCCPInstVisitor::markBlockExecutable(BasicBlock *BB) {
937 void SCCPInstVisitor::pushToWorkList(ValueLatticeElement &IV, Value *V) {
947 void SCCPInstVisitor::pushToWorkListMsg(ValueLatticeElement &IV, Value *V) {
952 bool SCCPInstVisitor::markConstant(ValueLatticeElement &IV, Value *V,
961 bool SCCPInstVisitor::markNotConstant(ValueLatticeElement &IV, Value *V,
970 bool SCCPInstVisitor::markConstantRange(ValueLatticeElement &IV, Value *V,
979 bool SCCPInstVisitor::markOverdefined(ValueLatticeElement &IV, Value *V) {
992 bool SCCPInstVisitor::isStructLatticeConstant(Function *F, StructType *STy) {
1003 Constant *SCCPInstVisitor::getConstant(const ValueLatticeElement &LV,
1019 Constant *SCCPInstVisitor::getConstantOrNull(Value *V) const {
1045 void SCCPInstVisitor::setLatticeValueForSpecializationArguments(Function *F,
1085 void SCCPInstVisitor::visitInstruction(Instruction &I) {
1092 bool SCCPInstVisitor::mergeInValue(ValueLatticeElement &IV, Value *V,
1104 bool SCCPInstVisitor::markEdgeExecutable(BasicBlock *Source, BasicBlock *Dest) {
1123 void SCCPInstVisitor::getFeasibleSuccessors(Instruction &TI,
1226 bool SCCPInstVisitor::isEdgeFeasible(BasicBlock *From, BasicBlock *To) const {
1250 void SCCPInstVisitor::visitPHINode(PHINode &PN) {
1296 void SCCPInstVisitor::visitReturnInst(ReturnInst &I) {
1322 void SCCPInstVisitor::visitTerminator(Instruction &TI) {
1334 void SCCPInstVisitor::visitCastInst(CastInst &I) {
1367 void SCCPInstVisitor::handleExtractOfWithOverflow(ExtractValueInst &EVI,
1394 void SCCPInstVisitor::visitExtractValueInst(ExtractValueInst &EVI) {
1422 void SCCPInstVisitor::visitInsertValueInst(InsertValueInst &IVI) {
1460 void SCCPInstVisitor::visitSelectInst(SelectInst &I) {
1495 void SCCPInstVisitor::visitUnaryOperator(Instruction &I) {
1516 void SCCPInstVisitor::visitFreezeInst(FreezeInst &I) {
1541 void SCCPInstVisitor::visitBinaryOperator(Instruction &I) {
1603 void SCCPInstVisitor::visitCmpInst(CmpInst &I) {
1635 void SCCPInstVisitor::visitGetElementPtrInst(GetElementPtrInst &I) {
1674 void SCCPInstVisitor::visitAllocaInst(AllocaInst &I) {
1681 void SCCPInstVisitor::visitStoreInst(StoreInst &SI) {
1724 void SCCPInstVisitor::visitLoadInst(LoadInst &I) {
1773 void SCCPInstVisitor::visitCallBase(CallBase &CB) {
1778 void SCCPInstVisitor::handleCallOverdefined(CallBase &CB) {
1821 void SCCPInstVisitor::handleCallArguments(CallBase &CB) {
1854 void SCCPInstVisitor::handleCallResult(CallBase &CB) {
1988 void SCCPInstVisitor::solve() {
2041 bool SCCPInstVisitor::resolvedUndef(Instruction &I) {
2109 bool SCCPInstVisitor::resolvedUndefsIn(Function &F) {
2133 : Visitor(new SCCPInstVisitor(DL, std::move(GetTLI), Ctx)) {}