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

Declarations

include/llvm/Analysis/ScalarEvolution.h
   67 class SCEVUnknown;

References

include/llvm/Analysis/ScalarEvolution.h
  565   createAddRecFromPHIWithCasts(const SCEVUnknown *SymbolicPHI);
 1825   createAddRecFromPHIWithCastsImpl(const SCEVUnknown *SymbolicPHI);
 1902   DenseMap<std::pair<const SCEVUnknown *, const Loop *>,
 1909   SCEVUnknown *FirstUnknown = nullptr;
include/llvm/Analysis/ScalarEvolutionExpander.h
  388     Value *visitUnknown(const SCEVUnknown *S) {
include/llvm/Analysis/ScalarEvolutionExpressions.h
  476     SCEVUnknown *Next;
  479                 ScalarEvolution *se, SCEVUnknown *next) :
  776     const SCEV *visitUnknown(const SCEVUnknown *Expr) {
  801     const SCEV *visitUnknown(const SCEVUnknown *Expr) {
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,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  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;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
lib/Analysis/Delinearization.cpp
   87       const SCEVUnknown *BasePointer =
   88           dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFn));
lib/Analysis/DependenceAnalysis.cpp
 3280   const SCEVUnknown *SrcBase =
 3281       dyn_cast<SCEVUnknown>(SE->getPointerBase(SrcAccessFn));
 3282   const SCEVUnknown *DstBase =
 3283       dyn_cast<SCEVUnknown>(SE->getPointerBase(DstAccessFn));
lib/Analysis/IVDescriptors.cpp
  913                                     const SCEVUnknown *PhiScev,
 1014   const auto *SymbolicPhi = dyn_cast<SCEVUnknown>(PhiScev);
 1014   const auto *SymbolicPhi = dyn_cast<SCEVUnknown>(PhiScev);
lib/Analysis/Loads.cpp
  236   auto *StartS = dyn_cast<SCEVUnknown>(AddRec->getStart());
lib/Analysis/LoopAccessAnalysis.cpp
  160     const auto *U = cast<SCEVUnknown>(SE->getSCEV(StrideVal));
  160     const auto *U = cast<SCEVUnknown>(SE->getSCEV(StrideVal));
lib/Analysis/LoopCacheAnalysis.cpp
  320     BasePointer = dyn_cast<SCEVUnknown>(SE.getPointerBase(AccessFn));
lib/Analysis/LoopUnrollAnalyzer.cpp
   49   auto *Base = dyn_cast<SCEVUnknown>(SE.getPointerBase(S));
lib/Analysis/ScalarEvolution.cpp
  325     const SCEVUnknown *U = cast<SCEVUnknown>(this);
  325     const SCEVUnknown *U = cast<SCEVUnknown>(this);
  376     return cast<SCEVUnknown>(this)->getType();
  672     const SCEVUnknown *LU = cast<SCEVUnknown>(LHS);
  672     const SCEVUnknown *LU = cast<SCEVUnknown>(LHS);
  673     const SCEVUnknown *RU = cast<SCEVUnknown>(RHS);
  673     const SCEVUnknown *RU = cast<SCEVUnknown>(RHS);
  948   void visitUnknown(const SCEVUnknown *Numerator) {}
 1055     if (!isa<SCEVUnknown>(Denominator))
 1060     RewriteMap[cast<SCEVUnknown>(Denominator)->getValue()] =
 1066       RewriteMap[cast<SCEVUnknown>(Denominator)->getValue()] =
 2535       if (isa<SCEVConstant>(Fold) || isa<SCEVUnknown>(Fold))
 3751   SCEV *S = new (SCEVAllocator) SCEVUnknown(ID.Intern(SCEVAllocator), V, this,
 3753   FirstUnknown = cast<SCEVUnknown>(S);
 3804     auto *SU = dyn_cast<SCEVUnknown>(S);
 3923       if (Offset != nullptr && !isa<SCEVUnknown>(Stripped) &&
 4219           !isa<SCEVUnknown>(Old) ||
 4250   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
 4291   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
 4343   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
 4407   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
 4585 static Type *isSimpleCastedPHI(const SCEV *Op, const SCEVUnknown *SymbolicPHI,
 5205         const auto *SU = cast<SCEVUnknown>(S);
 5205         const auto *SU = cast<SCEVUnknown>(S);
 5503   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
 5503   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
 5699   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
 5699   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
 5890       auto *SU = dyn_cast<SCEVUnknown>(S);
 6721         if (!isa<PHINode>(I) || !isa<SCEVUnknown>(Old)) {
 8056       return dyn_cast<Constant>(cast<SCEVUnknown>(V)->getValue());
 8150   if (const SCEVUnknown *SU = dyn_cast<SCEVUnknown>(V)) {
 8150   if (const SCEVUnknown *SU = dyn_cast<SCEVUnknown>(V)) {
 8883   if (const SCEVUnknown *AU = dyn_cast<SCEVUnknown>(A))
 8883   if (const SCEVUnknown *AU = dyn_cast<SCEVUnknown>(A))
 8884     if (const SCEVUnknown *BU = dyn_cast<SCEVUnknown>(B))
 8884     if (const SCEVUnknown *BU = dyn_cast<SCEVUnknown>(B))
10024   if (const SCEVUnknown *LU = dyn_cast<SCEVUnknown>(LHS))
10024   if (const SCEVUnknown *LU = dyn_cast<SCEVUnknown>(LHS))
10030   if (const SCEVUnknown *RU = dyn_cast<SCEVUnknown>(RHS))
10030   if (const SCEVUnknown *RU = dyn_cast<SCEVUnknown>(RHS))
10279   } else if (auto *LHSUnknownExpr = dyn_cast<SCEVUnknown>(LHS)) {
10895     if (const auto *SU = dyn_cast<SCEVUnknown>(S))
10895     if (const auto *SU = dyn_cast<SCEVUnknown>(S))
10927     if (isa<SCEVUnknown>(S) || isa<SCEVMulExpr>(S) ||
10990         const SCEVUnknown *Unknown = dyn_cast<SCEVUnknown>(Op);
10990         const SCEVUnknown *Unknown = dyn_cast<SCEVUnknown>(Op);
11102     if (SCEVExprContains(T, isa<SCEVUnknown, const SCEV *>))
11118   if (isa<SCEVUnknown>(T))
11452   for (SCEVUnknown *U = FirstUnknown; U;) {
11453     SCEVUnknown *Tmp = U;
11733     if (auto *I = dyn_cast<Instruction>(cast<SCEVUnknown>(S)->getValue()))
11821           dyn_cast<Instruction>(cast<SCEVUnknown>(S)->getValue())) {
11932     const SCEV *visitUnknown(const SCEVUnknown *Expr) {
12119   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
12189   const SCEV *convertToAddRecWithPreds(const SCEVUnknown *Expr) {
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
  109   } else if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
  109   } else if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
lib/Analysis/ScalarEvolutionExpander.cpp
  627   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
  627   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
  722         if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(X))
  722         if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(X))
 2445     if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S))
 2445     if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S))
lib/Analysis/StackSafetyAnalysis.cpp
   41         !isa<SCEVUnknown>(Expr))
   46   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
lib/Analysis/VectorUtils.cpp
  242   const SCEVUnknown *U = dyn_cast<SCEVUnknown>(V);
  242   const SCEVUnknown *U = dyn_cast<SCEVUnknown>(V);
lib/CodeGen/SafeStack.cpp
  112   const SCEV *visitUnknown(const SCEVUnknown *Expr) {
lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
  268       if (const SCEVUnknown *OpUnk = dyn_cast<SCEVUnknown>(*J))
  268       if (const SCEVUnknown *OpUnk = dyn_cast<SCEVUnknown>(*J))
lib/Transforms/Scalar/IndVarSimplify.cpp
  669             !isa<SCEVConstant>(ExitValue) && !isa<SCEVUnknown>(ExitValue) &&
lib/Transforms/Scalar/LoopPredication.cpp
  542   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S))
  542   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S))
lib/Transforms/Scalar/LoopStrengthReduce.cpp
  772   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
  772   if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
  941       if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(Mul->getOperand(1))) {
  941       if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(Mul->getOperand(1))) {
 1216   if (isa<SCEVUnknown>(Reg) || isa<SCEVConstant>(Reg))
 2329   else if (const SCEVUnknown *SU = dyn_cast<SCEVUnknown>(MaxRHS))
 2329   else if (const SCEVUnknown *SU = dyn_cast<SCEVUnknown>(MaxRHS))
 3003         && !isa<SCEVUnknown>(SE.getSCEV(OtherUse))
 3059       if (SE.isSCEVable(I.getType()) && !isa<SCEVUnknown>(SE.getSCEV(&I)))
 3407     } else if (const SCEVUnknown *US = dyn_cast<SCEVUnknown>(S)) {
 3407     } else if (const SCEVUnknown *US = dyn_cast<SCEVUnknown>(S)) {
 3442           if (!isa<SCEVUnknown>(UserS))
 3593     if (isa<SCEVUnknown>(*J) && !SE.isLoopInvariant(*J, L))
 4463           } else if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(*I)) {
 4463           } else if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(*I)) {
lib/Transforms/Vectorize/LoopVectorize.cpp
 1831     Step = cast<SCEVUnknown>(ID.getStep())->getValue();
 2859     Value *StepValue = cast<SCEVUnknown>(Step)->getValue();
tools/polly/include/polly/ScopDetection.h
   71   const SCEVUnknown *BasePointer;
   76   ArrayShape(const SCEVUnknown *B) : BasePointer(B) {}
   95 using BaseToAFs = std::map<const SCEVUnknown *, AFs>;
   96 using BaseToElSize = std::map<const SCEVUnknown *, const SCEV *>;
  138     SetVector<std::pair<const SCEVUnknown *, Loop *>> NonAffineAccesses;
  236                           const SCEVUnknown *BasePointer) const;
  248                           const SCEVUnknown *BasePointer, Loop *Scope) const;
  261                               const SCEVUnknown *BasePointer,
  272                              const SCEVUnknown *BasePointer, Loop *Scope) const;
  381   bool isValidAccess(Instruction *Inst, const SCEV *AF, const SCEVUnknown *BP,
tools/polly/include/polly/Support/SCEVAffinator.h
  109   PWACtx visitUnknown(const llvm::SCEVUnknown *E);
tools/polly/lib/Analysis/ScopBuilder.cpp
 1606   const SCEVUnknown *BasePointer =
 1607       dyn_cast<SCEVUnknown>(SE.getPointerBase(AccessFunction));
 1686   const SCEVUnknown *BasePointer =
 1687       dyn_cast<SCEVUnknown>(SE.getPointerBase(AccessFunction));
 1760   auto *DestPtrSCEV = dyn_cast<SCEVUnknown>(SE.getPointerBase(DestAccFunc));
 1782   auto *SrcPtrSCEV = dyn_cast<SCEVUnknown>(SE.getPointerBase(SrcAccFunc));
 1831       auto *ArgBasePtr = cast<SCEVUnknown>(SE.getPointerBase(ArgSCEV));
 1851   const SCEVUnknown *BasePointer =
 1852       dyn_cast<SCEVUnknown>(SE.getPointerBase(AccessFunction));
tools/polly/lib/Analysis/ScopDetection.cpp
  505     auto *BasePtr = dyn_cast<SCEVUnknown>(SE.getPointerBase(PtrSCEV));
  717         auto *BP = dyn_cast<SCEVUnknown>(SE.getPointerBase(ArgSCEV));
  750   const SCEVUnknown *BP;
  758       BP = dyn_cast<SCEVUnknown>(SE.getPointerBase(AF));
  767       BP = dyn_cast<SCEVUnknown>(SE.getPointerBase(AF));
  880             if (auto *Unknown = dyn_cast<SCEVUnknown>(MulOp)) {
  903                                        const SCEVUnknown *BasePointer,
  923     if (auto *Unknown = dyn_cast<SCEVUnknown>(DelinearizedSize)) {
  967     DetectionContext &Context, const SCEVUnknown *BasePointer,
 1019                                           const SCEVUnknown *BasePointer,
 1055                                   const SCEVUnknown *BP,
 1185   const SCEVUnknown *BasePointer;
 1187   BasePointer = dyn_cast<SCEVUnknown>(SE.getPointerBase(AccessFunction));
tools/polly/lib/Analysis/ScopInfo.cpp
  215   auto *OriginBaseSCEVUnknown = dyn_cast<SCEVUnknown>(OriginBaseSCEV);
 1410   const SCEV *visitUnknown(const SCEVUnknown *E) {
 1438     } else if (auto *Unknown = dyn_cast<SCEVUnknown>(E)) {
 1497   if (const SCEVUnknown *ValueParameter = dyn_cast<SCEVUnknown>(Parameter)) {
 1497   if (const SCEVUnknown *ValueParameter = dyn_cast<SCEVUnknown>(Parameter)) {
tools/polly/lib/CodeGen/IRBuilder.cpp
  216   auto *SU = dyn_cast<SCEVUnknown>(BaseSCEV);
tools/polly/lib/CodeGen/IslNodeBuilder.cpp
  320     Values.insert(cast<SCEVUnknown>(I.second)->getValue());
tools/polly/lib/Support/SCEVAffinator.cpp
  530 PWACtx SCEVAffinator::visitUnknown(const SCEVUnknown *Expr) {
tools/polly/lib/Support/SCEVValidator.cpp
  430   ValidatorResult visitUnknown(const SCEVUnknown *Expr) {
  473     const SCEVUnknown *Unknown = dyn_cast<SCEVUnknown>(S);
  473     const SCEVUnknown *Unknown = dyn_cast<SCEVUnknown>(S);
  508     if (auto Unknown = dyn_cast<SCEVUnknown>(S)) {
  587     const SCEVUnknown *Unknown = dyn_cast<SCEVUnknown>(S);
  587     const SCEVUnknown *Unknown = dyn_cast<SCEVUnknown>(S);
  775   if (auto *Unknown = dyn_cast<SCEVUnknown>(Expr)) {
tools/polly/lib/Support/ScopHelper.cpp
  268   const SCEV *visitGenericInst(const SCEVUnknown *E, Instruction *Inst,
  289   const SCEV *visitUnknown(const SCEVUnknown *E) {
unittests/Analysis/ScalarEvolutionTest.cpp
 1033   auto Result = SE.createAddRecFromPHIWithCasts(cast<SCEVUnknown>(Expr));
 1091   auto Result = SE.createAddRecFromPHIWithCasts(cast<SCEVUnknown>(Expr));