Lines Matching defs:SExt
209 cl::desc("Maximum depth of recursive SExt/ZExt/Trunc"),
303 const SCEVSignExtendExpr *SExt = cast<SCEVSignExtendExpr>(this);
304 const SCEV *Op = SExt->getOperand();
306 << *SExt->getType() << ")";
2207 const SCEV *SExt = getSignExtendExpr(Op, Ty);
2208 if (!isa<SCEVSignExtendExpr>(SExt))
2209 return SExt;
2221 return SExt;
5347 /// Op == (SExt ix (Trunc iy (%SymbolicPHI) to ix) to iy)
5373 const SCEVSignExtendExpr *SExt = dyn_cast<SCEVSignExtendExpr>(Op);
5375 if (!SExt && !ZExt)
5378 SExt ? dyn_cast<SCEVTruncateExpr>(SExt->getOperand())
5385 Signed = SExt != nullptr;
5400 // (SExt/ZExt ix (Trunc iy (%SymbolicPHI) to ix) to iy) + InvariantAccum
5444 // (Trunc iy (SExt/ZExt ix (%SymbolicPHI + InvariantAccum) to iy) to ix)
5447 // (Trunc iy ((SExt/ZExt ix (%SymbolicPhi) to iy) + InvariantAccum) to ix)
6706 const SCEVSignExtendExpr *SExt = cast<SCEVSignExtendExpr>(S);
6707 ConstantRange X = getRangeRef(SExt->getOperand(), SignHint, Depth + 1);
6709 SExt, SignHint,
7604 case Instruction::SExt:
8055 case Instruction::SExt:
10183 if (const SCEVSignExtendExpr *SExt = dyn_cast<SCEVSignExtendExpr>(S))
10184 return stripInjectiveFunctions(SExt->getOperand());
10961 if (const auto *SExt = dyn_cast<SCEVSignExtendExpr>(S))
10962 return isKnownNonZero(SExt->getOperand(0));
12729 // If operand >=s 0 then ZExt == SExt. If operand <s 0 then SExt <s ZExt.
12737 // If operand >=u 0 then ZExt == SExt. If operand <u 0 then ZExt <u SExt.