H A D | CorrelatedValuePropagation.cpp | 126 static bool processSelect(SelectInst *S, LazyValueInfo *LVI) { argument 130 Constant *C = LVI->getConstant(S->getCondition(), S->getParent(), S); 160 static bool simplifyCommonValuePhi(PHINode *P, LazyValueInfo *LVI, argument 193 if (C != LVI->getConstantOnEdge(CommonValue, IncomingBB, ToBB, P)) 212 static bool processPHI(PHINode *P, LazyValueInfo *LVI, DominatorTree *DT, argument 221 Value *V = LVI->getConstantOnEdge(Incoming, P->getIncomingBlock(i), BB, P); 224 // LVI can tells us the value. In that case replace the incoming value with 233 if (Constant *C = LVI->getConstantOnEdge( 240 // Once LVI learns to handle vector types, we could also add support 245 // Look if the select has a constant but LVI tell 282 processMemAccess(Instruction *I, LazyValueInfo *LVI) argument 303 processCmp(CmpInst *Cmp, LazyValueInfo *LVI) argument 337 processSwitch(SwitchInst *I, LazyValueInfo *LVI, DominatorTree *DT) argument 435 willNotOverflow(BinaryOpIntrinsic *BO, LazyValueInfo *LVI) argument 495 processOverflowIntrinsic(WithOverflowInst *WO, LazyValueInfo *LVI) argument 519 processSaturatingInst(SaturatingInst *SI, LazyValueInfo *LVI) argument 538 processCallSite(CallSite CS, LazyValueInfo *LVI) argument 608 hasPositiveOperands(BinaryOperator *SDI, LazyValueInfo *LVI) argument 620 processUDivOrURem(BinaryOperator *Instr, LazyValueInfo *LVI) argument 660 processSRem(BinaryOperator *SDI, LazyValueInfo *LVI) argument 682 processSDiv(BinaryOperator *SDI, LazyValueInfo *LVI) argument 700 processAShr(BinaryOperator *SDI, LazyValueInfo *LVI) argument 720 processSExt(SExtInst *SDI, LazyValueInfo *LVI) argument 741 processBinOp(BinaryOperator *BinOp, LazyValueInfo *LVI) argument 784 processAnd(BinaryOperator *BinOp, LazyValueInfo *LVI) argument 807 getConstantAt(Value *V, Instruction *At, LazyValueInfo *LVI) argument 830 runImpl(Function &F, LazyValueInfo *LVI, DominatorTree *DT, const SimplifyQuery &SQ) argument 928 LazyValueInfo *LVI = &AM.getResult<LazyValueAnalysis>(F); local [all...] |