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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
10181 TargetAttr *TargetAttr::clone(ASTContext &C) const {
10182   auto *A = new (C) TargetAttr(C, *this, getFeaturesStr());
10182   auto *A = new (C) TargetAttr(C, *this, getFeaturesStr());
12004     return cast<TargetAttr>(this)->getSpelling();
12584     return cast<TargetAttr>(this)->clone(C);
13164     return cast<TargetAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc
  716   void VisitTargetAttr(const TargetAttr *A) {
  717     const auto *SA = cast<TargetAttr>(A); (void)SA;
  717     const auto *SA = cast<TargetAttr>(A); (void)SA;
gen/tools/clang/include/clang/AST/AttrVisitor.inc
 1027   bool TraverseTargetAttr(TargetAttr *A);
 1028   bool VisitTargetAttr(TargetAttr *A) {
 3637 bool VISITORCLASS<Derived>::TraverseTargetAttr(TargetAttr *A) {
 4464       return getDerived().TraverseTargetAttr(cast<TargetAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
13663   static TargetAttr *CreateImplicit(ASTContext &Ctx, llvm::StringRef FeaturesStr, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
13664     auto *A = new (Ctx) TargetAttr(Ctx, CommonInfo, FeaturesStr);
13664     auto *A = new (Ctx) TargetAttr(Ctx, CommonInfo, FeaturesStr);
13671   static TargetAttr *Create(ASTContext &Ctx, llvm::StringRef FeaturesStr, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
13672     auto *A = new (Ctx) TargetAttr(Ctx, CommonInfo, FeaturesStr);
13672     auto *A = new (Ctx) TargetAttr(Ctx, CommonInfo, FeaturesStr);
13678   static TargetAttr *CreateImplicit(ASTContext &Ctx, llvm::StringRef FeaturesStr, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
13682   static TargetAttr *Create(ASTContext &Ctx, llvm::StringRef FeaturesStr, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
13696   TargetAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
 1195       const auto *A = cast<TargetAttr>(At);
 1195       const auto *A = cast<TargetAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
 2256     New = new (Context) TargetAttr(Context, Info, featuresStr);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
 1688     const auto *SA = cast<TargetAttr>(A);
 1688     const auto *SA = cast<TargetAttr>(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*,
tools/clang/include/clang/AST/AttrIterator.h
   47     while (!isa<SpecificAttr>(*Current))
   52     while (Current != I && !isa<SpecificAttr>(*Current))
   57   using value_type = SpecificAttr *;
   58   using reference = SpecificAttr *;
   59   using pointer = SpecificAttr *;
   68     return cast<SpecificAttr>(*Current);
  101 inline specific_attr_iterator<SpecificAttr, Container>
  106 inline specific_attr_iterator<SpecificAttr, Container>
  113   return specific_attr_begin<SpecificAttr>(container) !=
  114           specific_attr_end<SpecificAttr>(container);
  117 inline SpecificAttr *getSpecificAttr(const Container& container) {
  118   specific_attr_iterator<SpecificAttr, Container> i =
  119       specific_attr_begin<SpecificAttr>(container);
  120   if (i != specific_attr_end<SpecificAttr>(container))
tools/clang/include/clang/AST/DeclBase.h
  538   template<typename T> T *getAttr() const {
  539     return hasAttrs() ? getSpecificAttr<T>(getAttrs()) : nullptr;
  543     return hasAttrs() && hasSpecificAttr<T>(getAttrs());
tools/clang/lib/AST/Decl.cpp
 3066   if (hasAttr<TargetAttr>())
 3084   return isMultiVersion() && hasAttr<TargetAttr>();
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGCall.cpp
 3805         TargetDecl->hasAttr<TargetAttr>())
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 2213   } else if (TargetDecl->hasAttr<TargetAttr>() ||
 2217     const TargetAttr *TD = TargetDecl->getAttr<TargetAttr>();
 2217     const TargetAttr *TD = TargetDecl->getAttr<TargetAttr>();
 2218     TargetAttr::ParsedTargetAttr ParsedAttr = CGM.filterFunctionTargetAttrs(TD);
tools/clang/lib/CodeGen/CodeGenModule.cpp
  954                                  const TargetAttr *Attr, raw_ostream &Out) {
  960   TargetAttr::ParsedTargetAttr Info =
 1023         AppendTargetMangling(CGM, FD->getAttr<TargetAttr>(), Out);
 1665   const auto *TD = FD ? FD->getAttr<TargetAttr>() : nullptr;
 1665   const auto *TD = FD ? FD->getAttr<TargetAttr>() : nullptr;
 1681       TargetAttr::ParsedTargetAttr ParsedAttr = TD->parse();
 2877           const auto *TA = CurFD->getAttr<TargetAttr>();
 2877           const auto *TA = CurFD->getAttr<TargetAttr>();
 3109       const auto *TA = FD->getAttr<TargetAttr>();
 3109       const auto *TA = FD->getAttr<TargetAttr>();
 5863 TargetAttr::ParsedTargetAttr CodeGenModule::filterFunctionTargetAttrs(const TargetAttr *TD) {
 5863 TargetAttr::ParsedTargetAttr CodeGenModule::filterFunctionTargetAttrs(const TargetAttr *TD) {
 5865   TargetAttr::ParsedTargetAttr ParsedAttr = TD->parse();
 5884   if (const auto *TD = FD->getAttr<TargetAttr>()) {
 5884   if (const auto *TD = FD->getAttr<TargetAttr>()) {
 5885     TargetAttr::ParsedTargetAttr ParsedAttr = filterFunctionTargetAttrs(TD);
tools/clang/lib/CodeGen/CodeGenModule.h
 1155   TargetAttr::ParsedTargetAttr filterFunctionTargetAttrs(const TargetAttr *TD);
 1155   TargetAttr::ParsedTargetAttr filterFunctionTargetAttrs(const TargetAttr *TD);
tools/clang/lib/Sema/Sema.cpp
 2053       if (FD->isMultiVersion() && FD->hasAttr<TargetAttr>() &&
 2054           !FD->getAttr<TargetAttr>()->isDefaultVersion())
tools/clang/lib/Sema/SemaDecl.cpp
 9666   const auto *TA = FD->getAttr<TargetAttr>();
 9666   const auto *TA = FD->getAttr<TargetAttr>();
 9668   TargetAttr::ParsedTargetAttr ParseInfo = TA->parse();
 9882                                            const TargetAttr *TA) {
 9915     Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD, const TargetAttr *NewTA,
 9918   const auto *OldTA = OldFD->getAttr<TargetAttr>();
 9918   const auto *OldTA = OldFD->getAttr<TargetAttr>();
 9919   TargetAttr::ParsedTargetAttr NewParsed = NewTA->parse();
 9963   TargetAttr::ParsedTargetAttr OldParsed =
 9974     const auto *CurTA = FD->getAttr<TargetAttr>();
 9974     const auto *CurTA = FD->getAttr<TargetAttr>();
10000     MultiVersionKind NewMVType, const TargetAttr *NewTA,
10017   TargetAttr::ParsedTargetAttr NewParsed;
10036       const auto *CurTA = CurFD->getAttr<TargetAttr>();
10036       const auto *CurTA = CurFD->getAttr<TargetAttr>();
10044       TargetAttr::ParsedTargetAttr CurParsed =
10155   const auto *NewTA = NewFD->getAttr<TargetAttr>();
10155   const auto *NewTA = NewFD->getAttr<TargetAttr>();
tools/clang/lib/Sema/SemaDeclAttr.cpp
 2976   TargetAttr::ParsedTargetAttr ParsedAttrs = TargetAttr::parse(AttrStr);
 2976   TargetAttr::ParsedTargetAttr ParsedAttrs = TargetAttr::parse(AttrStr);
 3004   TargetAttr *NewAttr = ::new (S.Context) TargetAttr(S.Context, AL, Str);
 3004   TargetAttr *NewAttr = ::new (S.Context) TargetAttr(S.Context, AL, Str);
tools/clang/lib/Sema/SemaOpenMP.cpp
 4985             FD->hasAttr<TargetAttr>());
tools/clang/lib/Sema/SemaOverload.cpp
 6152   if (Function->isMultiVersion() && Function->hasAttr<TargetAttr>() &&
 6153       !Function->getAttr<TargetAttr>()->isDefaultVersion()) {
 6799   if (Method->isMultiVersion() && Method->hasAttr<TargetAttr>() &&
 6800       !Method->getAttr<TargetAttr>()->isDefaultVersion()) {
 7219   if (Conversion->isMultiVersion() && Conversion->hasAttr<TargetAttr>() &&
 7220       !Conversion->getAttr<TargetAttr>()->isDefaultVersion()) {
 9851   if (Fn->isMultiVersion() && Fn->hasAttr<TargetAttr>() &&
 9852       !Fn->getAttr<TargetAttr>()->isDefaultVersion())
11492         const auto *TA = FunDecl->getAttr<TargetAttr>();
11492         const auto *TA = FunDecl->getAttr<TargetAttr>();
tools/clang/lib/Serialization/ASTReaderDecl.cpp
 3001       const auto *TAX = FuncX->getAttr<TargetAttr>();
 3001       const auto *TAX = FuncX->getAttr<TargetAttr>();
 3002       const auto *TAY = FuncY->getAttr<TargetAttr>();
 3002       const auto *TAY = FuncY->getAttr<TargetAttr>();
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };