reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/Analysis/ScalarEvolutionExpressions.h
   97   class SCEVTruncateExpr : public SCEVCastExpr {
  112   class SCEVZeroExtendExpr : public SCEVCastExpr {
  127   class SCEVSignExtendExpr : public SCEVCastExpr {

References

include/llvm/Analysis/ScalarEvolutionExpressions.h
   97   class SCEVTruncateExpr : public SCEVCastExpr {
  112   class SCEVZeroExtendExpr : public SCEVCastExpr {
  127   class SCEVSignExtendExpr : public SCEVCastExpr {
  586           push(cast<SCEVCastExpr>(S)->getOperand());
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
lib/Analysis/DependenceAnalysis.cpp
  868     const SCEVCastExpr *SrcCast = cast<SCEVCastExpr>(Src);
  868     const SCEVCastExpr *SrcCast = cast<SCEVCastExpr>(Src);
  869     const SCEVCastExpr *DstCast = cast<SCEVCastExpr>(Dst);
  869     const SCEVCastExpr *DstCast = cast<SCEVCastExpr>(Dst);
  975       const SCEVCastExpr *CX = cast<SCEVCastExpr>(X);
  975       const SCEVCastExpr *CX = cast<SCEVCastExpr>(X);
  976       const SCEVCastExpr *CY = cast<SCEVCastExpr>(Y);
  976       const SCEVCastExpr *CY = cast<SCEVCastExpr>(Y);
lib/Analysis/ScalarEvolution.cpp
  363     return cast<SCEVCastExpr>(this)->getType();
  775     const SCEVCastExpr *LC = cast<SCEVCastExpr>(LHS);
  775     const SCEVCastExpr *LC = cast<SCEVCastExpr>(LHS);
  776     const SCEVCastExpr *RC = cast<SCEVCastExpr>(RHS);
  776     const SCEVCastExpr *RC = cast<SCEVCastExpr>(RHS);
 1305       if (!isa<SCEVCastExpr>(CommOp->getOperand(i)) && isa<SCEVTruncateExpr>(S))
 4163   if (const SCEVCastExpr *Cast = dyn_cast<SCEVCastExpr>(V)) {
 4163   if (const SCEVCastExpr *Cast = dyn_cast<SCEVCastExpr>(V)) {
 5883       if (auto *SCast = dyn_cast<SCEVCastExpr>(S)) {
11670     return getLoopDisposition(cast<SCEVCastExpr>(S)->getOperand(), L);
11777     return getBlockDisposition(cast<SCEVCastExpr>(S)->getOperand(), BB);
lib/Analysis/ScalarEvolutionExpander.cpp
  641   if (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(S)) {
  641   if (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(S)) {
lib/Analysis/VectorUtils.cpp
  203     while (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(V))
  203     while (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(V))
  236   if (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(V)) {
  236   if (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(V)) {
lib/Transforms/Scalar/LoopStrengthReduce.cpp
 1222   if (auto S = dyn_cast<SCEVCastExpr>(Reg))
 3402     else if (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(S))
 3402     else if (const SCEVCastExpr *C = dyn_cast<SCEVCastExpr>(S))