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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
 4503 LoopHintAttr *LoopHintAttr::clone(ASTContext &C) const {
 4504   auto *A = new (C) LoopHintAttr(C, *this, option, state, value);
 4504   auto *A = new (C) LoopHintAttr(C, *this, option, state, value);
11716     return cast<LoopHintAttr>(this)->getSpelling();
12296     return cast<LoopHintAttr>(this)->clone(C);
12876     return cast<LoopHintAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrNodeTraverse.inc
   95   void VisitLoopHintAttr(const LoopHintAttr *A) {
   96     const auto *SA = cast<LoopHintAttr>(A); (void)SA;
   96     const auto *SA = cast<LoopHintAttr>(A); (void)SA;
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc
  269   void VisitLoopHintAttr(const LoopHintAttr *A) {
  270     const auto *SA = cast<LoopHintAttr>(A); (void)SA;
  270     const auto *SA = cast<LoopHintAttr>(A); (void)SA;
  273     case LoopHintAttr::Vectorize:
  276     case LoopHintAttr::VectorizeWidth:
  279     case LoopHintAttr::Interleave:
  282     case LoopHintAttr::InterleaveCount:
  285     case LoopHintAttr::Unroll:
  288     case LoopHintAttr::UnrollCount:
  291     case LoopHintAttr::UnrollAndJam:
  294     case LoopHintAttr::UnrollAndJamCount:
  297     case LoopHintAttr::PipelineDisabled:
  300     case LoopHintAttr::PipelineInitiationInterval:
  303     case LoopHintAttr::Distribute:
  306     case LoopHintAttr::VectorizePredicate:
  311     case LoopHintAttr::Enable:
  314     case LoopHintAttr::Disable:
  317     case LoopHintAttr::Numeric:
  320     case LoopHintAttr::AssumeSafety:
  323     case LoopHintAttr::Full:
gen/tools/clang/include/clang/AST/AttrVisitor.inc
  451   bool TraverseLoopHintAttr(LoopHintAttr *A);
  452   bool VisitLoopHintAttr(LoopHintAttr *A) {
 2255 bool VISITORCLASS<Derived>::TraverseLoopHintAttr(LoopHintAttr *A) {
 4176       return getDerived().TraverseLoopHintAttr(cast<LoopHintAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
 6044   static LoopHintAttr *CreateImplicit(ASTContext &Ctx, OptionType Option, LoopHintState State, Expr * Value, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 6045     auto *A = new (Ctx) LoopHintAttr(Ctx, CommonInfo, Option, State, Value);
 6045     auto *A = new (Ctx) LoopHintAttr(Ctx, CommonInfo, Option, State, Value);
 6052   static LoopHintAttr *Create(ASTContext &Ctx, OptionType Option, LoopHintState State, Expr * Value, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 6053     auto *A = new (Ctx) LoopHintAttr(Ctx, CommonInfo, Option, State, Value);
 6053     auto *A = new (Ctx) LoopHintAttr(Ctx, CommonInfo, Option, State, Value);
 6057   static LoopHintAttr *CreateImplicit(ASTContext &Ctx, OptionType Option, LoopHintState State, Expr * Value, SourceRange Range, AttributeCommonInfo::Syntax Syntax, LoopHintAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 6057   static LoopHintAttr *CreateImplicit(ASTContext &Ctx, OptionType Option, LoopHintState State, Expr * Value, SourceRange Range, AttributeCommonInfo::Syntax Syntax, LoopHintAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 6061   static LoopHintAttr *Create(ASTContext &Ctx, OptionType Option, LoopHintState State, Expr * Value, SourceRange Range, AttributeCommonInfo::Syntax Syntax, LoopHintAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 6061   static LoopHintAttr *Create(ASTContext &Ctx, OptionType Option, LoopHintState State, Expr * Value, SourceRange Range, AttributeCommonInfo::Syntax Syntax, LoopHintAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 6077   LoopHintAttr *clone(ASTContext &C) const;
 6097       .Case("vectorize", LoopHintAttr::Vectorize)
 6098       .Case("vectorize_width", LoopHintAttr::VectorizeWidth)
 6099       .Case("interleave", LoopHintAttr::Interleave)
 6100       .Case("interleave_count", LoopHintAttr::InterleaveCount)
 6101       .Case("unroll", LoopHintAttr::Unroll)
 6102       .Case("unroll_count", LoopHintAttr::UnrollCount)
 6103       .Case("unroll_and_jam", LoopHintAttr::UnrollAndJam)
 6104       .Case("unroll_and_jam_count", LoopHintAttr::UnrollAndJamCount)
 6105       .Case("pipeline", LoopHintAttr::PipelineDisabled)
 6106       .Case("pipeline_initiation_interval", LoopHintAttr::PipelineInitiationInterval)
 6107       .Case("distribute", LoopHintAttr::Distribute)
 6108       .Case("vectorize_predicate", LoopHintAttr::VectorizePredicate)
 6119     case LoopHintAttr::Vectorize: return "vectorize";
 6120     case LoopHintAttr::VectorizeWidth: return "vectorize_width";
 6121     case LoopHintAttr::Interleave: return "interleave";
 6122     case LoopHintAttr::InterleaveCount: return "interleave_count";
 6123     case LoopHintAttr::Unroll: return "unroll";
 6124     case LoopHintAttr::UnrollCount: return "unroll_count";
 6125     case LoopHintAttr::UnrollAndJam: return "unroll_and_jam";
 6126     case LoopHintAttr::UnrollAndJamCount: return "unroll_and_jam_count";
 6127     case LoopHintAttr::PipelineDisabled: return "pipeline";
 6128     case LoopHintAttr::PipelineInitiationInterval: return "pipeline_initiation_interval";
 6129     case LoopHintAttr::Distribute: return "distribute";
 6130     case LoopHintAttr::VectorizePredicate: return "vectorize_predicate";
 6140       .Case("enable", LoopHintAttr::Enable)
 6141       .Case("disable", LoopHintAttr::Disable)
 6142       .Case("numeric", LoopHintAttr::Numeric)
 6143       .Case("assume_safety", LoopHintAttr::AssumeSafety)
 6144       .Case("full", LoopHintAttr::Full)
 6155     case LoopHintAttr::Enable: return "enable";
 6156     case LoopHintAttr::Disable: return "disable";
 6157     case LoopHintAttr::Numeric: return "numeric";
 6158     case LoopHintAttr::AssumeSafety: return "assume_safety";
 6159     case LoopHintAttr::Full: return "full";
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
  574       const auto *A = cast<LoopHintAttr>(At);
  574       const auto *A = cast<LoopHintAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
 1019     LoopHintAttr::OptionType option(static_cast<LoopHintAttr::OptionType>(Record.readInt()));
 1020     LoopHintAttr::LoopHintState state(static_cast<LoopHintAttr::LoopHintState>(Record.readInt()));
 1022     New = new (Context) LoopHintAttr(Context, Info, option, state, value);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
  773     const auto *SA = cast<LoopHintAttr>(A);
  773     const auto *SA = cast<LoopHintAttr>(A);
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*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;
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGLoopInfo.cpp
  580     const LoopHintAttr *LH = dyn_cast<LoopHintAttr>(Attr);
  580     const LoopHintAttr *LH = dyn_cast<LoopHintAttr>(Attr);
  589     LoopHintAttr::OptionType Option = LoopHintAttr::Unroll;
  589     LoopHintAttr::OptionType Option = LoopHintAttr::Unroll;
  590     LoopHintAttr::LoopHintState State = LoopHintAttr::Disable;
  590     LoopHintAttr::LoopHintState State = LoopHintAttr::Disable;
  601         State = LoopHintAttr::Enable;
  603         Option = LoopHintAttr::UnrollCount;
  604         State = LoopHintAttr::Numeric;
  617     case LoopHintAttr::Disable:
  619       case LoopHintAttr::Vectorize:
  623       case LoopHintAttr::Interleave:
  627       case LoopHintAttr::Unroll:
  630       case LoopHintAttr::UnrollAndJam:
  633       case LoopHintAttr::VectorizePredicate:
  636       case LoopHintAttr::Distribute:
  639       case LoopHintAttr::PipelineDisabled:
  642       case LoopHintAttr::UnrollCount:
  643       case LoopHintAttr::UnrollAndJamCount:
  644       case LoopHintAttr::VectorizeWidth:
  645       case LoopHintAttr::InterleaveCount:
  646       case LoopHintAttr::PipelineInitiationInterval:
  651     case LoopHintAttr::Enable:
  653       case LoopHintAttr::Vectorize:
  654       case LoopHintAttr::Interleave:
  657       case LoopHintAttr::Unroll:
  660       case LoopHintAttr::UnrollAndJam:
  663       case LoopHintAttr::VectorizePredicate:
  666       case LoopHintAttr::Distribute:
  669       case LoopHintAttr::UnrollCount:
  670       case LoopHintAttr::UnrollAndJamCount:
  671       case LoopHintAttr::VectorizeWidth:
  672       case LoopHintAttr::InterleaveCount:
  673       case LoopHintAttr::PipelineDisabled:
  674       case LoopHintAttr::PipelineInitiationInterval:
  679     case LoopHintAttr::AssumeSafety:
  681       case LoopHintAttr::Vectorize:
  682       case LoopHintAttr::Interleave:
  687       case LoopHintAttr::Unroll:
  688       case LoopHintAttr::UnrollAndJam:
  689       case LoopHintAttr::VectorizePredicate:
  690       case LoopHintAttr::UnrollCount:
  691       case LoopHintAttr::UnrollAndJamCount:
  692       case LoopHintAttr::VectorizeWidth:
  693       case LoopHintAttr::InterleaveCount:
  694       case LoopHintAttr::Distribute:
  695       case LoopHintAttr::PipelineDisabled:
  696       case LoopHintAttr::PipelineInitiationInterval:
  701     case LoopHintAttr::Full:
  703       case LoopHintAttr::Unroll:
  706       case LoopHintAttr::UnrollAndJam:
  709       case LoopHintAttr::Vectorize:
  710       case LoopHintAttr::Interleave:
  711       case LoopHintAttr::UnrollCount:
  712       case LoopHintAttr::UnrollAndJamCount:
  713       case LoopHintAttr::VectorizeWidth:
  714       case LoopHintAttr::InterleaveCount:
  715       case LoopHintAttr::Distribute:
  716       case LoopHintAttr::PipelineDisabled:
  717       case LoopHintAttr::PipelineInitiationInterval:
  718       case LoopHintAttr::VectorizePredicate:
  723     case LoopHintAttr::Numeric:
  725       case LoopHintAttr::VectorizeWidth:
  728       case LoopHintAttr::InterleaveCount:
  731       case LoopHintAttr::UnrollCount:
  734       case LoopHintAttr::UnrollAndJamCount:
  737       case LoopHintAttr::PipelineInitiationInterval:
  740       case LoopHintAttr::Unroll:
  741       case LoopHintAttr::UnrollAndJam:
  742       case LoopHintAttr::VectorizePredicate:
  743       case LoopHintAttr::Vectorize:
  744       case LoopHintAttr::Interleave:
  745       case LoopHintAttr::Distribute:
  746       case LoopHintAttr::PipelineDisabled:
tools/clang/lib/Sema/SemaStmtAttr.cpp
   98   LoopHintAttr::OptionType Option;
   99   LoopHintAttr::LoopHintState State;
  108     SetHints(LoopHintAttr::Unroll, LoopHintAttr::Disable);
  108     SetHints(LoopHintAttr::Unroll, LoopHintAttr::Disable);
  112       SetHints(LoopHintAttr::UnrollCount, LoopHintAttr::Numeric);
  112       SetHints(LoopHintAttr::UnrollCount, LoopHintAttr::Numeric);
  114       SetHints(LoopHintAttr::Unroll, LoopHintAttr::Enable);
  114       SetHints(LoopHintAttr::Unroll, LoopHintAttr::Enable);
  116     SetHints(LoopHintAttr::UnrollAndJam, LoopHintAttr::Disable);
  116     SetHints(LoopHintAttr::UnrollAndJam, LoopHintAttr::Disable);
  120       SetHints(LoopHintAttr::UnrollAndJamCount, LoopHintAttr::Numeric);
  120       SetHints(LoopHintAttr::UnrollAndJamCount, LoopHintAttr::Numeric);
  122       SetHints(LoopHintAttr::UnrollAndJam, LoopHintAttr::Enable);
  122       SetHints(LoopHintAttr::UnrollAndJam, LoopHintAttr::Enable);
  129                  .Case("vectorize", LoopHintAttr::Vectorize)
  130                  .Case("vectorize_width", LoopHintAttr::VectorizeWidth)
  131                  .Case("interleave", LoopHintAttr::Interleave)
  132                  .Case("vectorize_predicate", LoopHintAttr::VectorizePredicate)
  133                  .Case("interleave_count", LoopHintAttr::InterleaveCount)
  134                  .Case("unroll", LoopHintAttr::Unroll)
  135                  .Case("unroll_count", LoopHintAttr::UnrollCount)
  136                  .Case("pipeline", LoopHintAttr::PipelineDisabled)
  138                        LoopHintAttr::PipelineInitiationInterval)
  139                  .Case("distribute", LoopHintAttr::Distribute)
  140                  .Default(LoopHintAttr::Vectorize);
  141     if (Option == LoopHintAttr::VectorizeWidth ||
  142         Option == LoopHintAttr::InterleaveCount ||
  143         Option == LoopHintAttr::UnrollCount ||
  144         Option == LoopHintAttr::PipelineInitiationInterval) {
  148       State = LoopHintAttr::Numeric;
  149     } else if (Option == LoopHintAttr::Vectorize ||
  150                Option == LoopHintAttr::Interleave ||
  151                Option == LoopHintAttr::VectorizePredicate ||
  152                Option == LoopHintAttr::Unroll ||
  153                Option == LoopHintAttr::Distribute ||
  154                Option == LoopHintAttr::PipelineDisabled) {
  157         State = LoopHintAttr::Disable;
  159         State = LoopHintAttr::AssumeSafety;
  161         State = LoopHintAttr::Full;
  163         State = LoopHintAttr::Enable;
  170   return LoopHintAttr::CreateImplicit(S.Context, Option, State, ValueExpr, A);
  186     const LoopHintAttr *StateAttr;
  187     const LoopHintAttr *NumericAttr;
  193     const LoopHintAttr *LH = dyn_cast<LoopHintAttr>(I);
  193     const LoopHintAttr *LH = dyn_cast<LoopHintAttr>(I);
  199     LoopHintAttr::OptionType Option = LH->getOption();
  210     case LoopHintAttr::Vectorize:
  211     case LoopHintAttr::VectorizeWidth:
  214     case LoopHintAttr::Interleave:
  215     case LoopHintAttr::InterleaveCount:
  218     case LoopHintAttr::Unroll:
  219     case LoopHintAttr::UnrollCount:
  222     case LoopHintAttr::UnrollAndJam:
  223     case LoopHintAttr::UnrollAndJamCount:
  226     case LoopHintAttr::Distribute:
  230     case LoopHintAttr::PipelineDisabled:
  231     case LoopHintAttr::PipelineInitiationInterval:
  234     case LoopHintAttr::VectorizePredicate:
  241     const LoopHintAttr *PrevAttr;
  242     if (Option == LoopHintAttr::Vectorize ||
  243         Option == LoopHintAttr::Interleave || Option == LoopHintAttr::Unroll ||
  243         Option == LoopHintAttr::Interleave || Option == LoopHintAttr::Unroll ||
  244         Option == LoopHintAttr::UnrollAndJam ||
  245         Option == LoopHintAttr::VectorizePredicate ||
  246         Option == LoopHintAttr::PipelineDisabled ||
  247         Option == LoopHintAttr::Distribute) {
  267          CategoryState.StateAttr->getState() == LoopHintAttr::Disable)) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  952     const LoopHintAttr *TransformLoopHintAttr(const LoopHintAttr *LH);
  952     const LoopHintAttr *TransformLoopHintAttr(const LoopHintAttr *LH);
 1302 const LoopHintAttr *
 1303 TemplateInstantiator::TransformLoopHintAttr(const LoopHintAttr *LH) {
 1315   return LoopHintAttr::CreateImplicit(getSema().Context, LH->getOption(),
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };