|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
gen/include/llvm/IR/IntrinsicImpl.inc16721 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16721 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16727 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16727 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16729 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16729 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16735 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16735 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16737 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
16737 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
16739 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16739 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16745 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16745 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16747 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16747 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16749 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16749 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16751 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16751 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16753 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16753 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16755 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16755 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16757 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
16757 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
16759 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16759 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16765 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16765 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16767 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16767 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16773 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16773 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16775 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16775 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16777 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16777 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16783 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16783 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16785 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16785 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16787 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16787 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16789 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16789 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16795 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16795 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16797 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16797 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16799 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16799 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16801 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16801 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16803 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16803 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16805 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16805 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16811 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16811 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16813 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16813 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16815 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16815 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16817 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16817 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16819 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16819 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16821 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16821 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16823 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16823 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16829 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16829 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16831 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16831 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16833 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16833 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16835 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16835 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16837 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16837 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16839 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16839 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16845 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16845 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
16847 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16847 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16849 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16849 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16851 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16851 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16857 const Attribute::AttrKind AttrParam2[]= {Attribute::WriteOnly};
16857 const Attribute::AttrKind AttrParam2[]= {Attribute::WriteOnly};
16859 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16859 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16865 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16865 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
16867 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16867 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16873 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16873 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16875 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16875 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16881 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16881 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16883 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16883 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16885 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16885 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16891 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16891 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16893 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16893 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16899 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16899 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
16901 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16901 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16903 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16903 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16909 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16909 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16911 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16911 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16917 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16917 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
16919 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16919 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16921 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16921 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16927 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16927 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16929 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16929 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16935 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16935 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
16937 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
16937 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
16939 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16939 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16945 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
16945 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
16947 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
16947 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
16949 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16949 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
16955 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16955 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16955 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16961 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16961 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16963 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16963 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16963 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16969 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
16969 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
16969 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
16971 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16971 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16971 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16977 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
16977 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
16977 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
16979 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16979 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16979 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16985 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
16985 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
16985 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
16987 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
16987 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
16987 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
16989 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16989 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16989 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
16995 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16995 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
16997 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16997 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
16999 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
16999 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17001 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17001 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17003 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17003 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17003 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17009 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17009 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17011 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17011 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17019 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17019 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17021 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17021 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17023 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17023 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17023 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17029 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
17029 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
17031 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
17031 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
17033 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17033 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17033 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17039 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
17039 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
17041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17047 const Attribute::AttrKind AttrParam4[]= {Attribute::NoCapture};
17047 const Attribute::AttrKind AttrParam4[]= {Attribute::NoCapture};
17049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17055 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17055 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17057 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17057 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17057 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17063 const Attribute::AttrKind AttrParam5[]= {Attribute::NoCapture};
17063 const Attribute::AttrKind AttrParam5[]= {Attribute::NoCapture};
17065 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17065 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17065 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17071 const Attribute::AttrKind AttrParam6[]= {Attribute::NoCapture};
17071 const Attribute::AttrKind AttrParam6[]= {Attribute::NoCapture};
17073 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17073 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17073 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
17079 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17079 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17079 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17085 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17085 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17087 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17087 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17089 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17089 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17091 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17091 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17093 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17093 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17093 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17099 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17099 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17101 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17101 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17103 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17103 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17105 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17105 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17107 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17107 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17107 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17113 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17113 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17115 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17115 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17115 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17121 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17121 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17121 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17127 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17127 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17127 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17135 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17135 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17135 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17137 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17137 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17137 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17143 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17143 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17145 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17145 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17147 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17147 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17149 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17149 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17149 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17155 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17155 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17157 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17157 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17159 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17159 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17161 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17161 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17161 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17167 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17167 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17169 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17169 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17171 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17171 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17173 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17173 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17173 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17179 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17179 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17181 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17181 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17183 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17183 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17191 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17191 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17193 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17193 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17193 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17199 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17199 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17201 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17201 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17201 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17207 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17207 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17209 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17209 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17211 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17211 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17211 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17217 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17217 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17219 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17219 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17219 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17225 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17225 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17227 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17227 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17229 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17229 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17229 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17235 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17235 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17237 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17237 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17239 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17239 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17241 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17241 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17243 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17243 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17245 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17245 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17245 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
17251 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17251 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17251 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17251 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17257 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
17257 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
17257 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
17259 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17259 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17259 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17259 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17265 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17265 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17265 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17271 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17271 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17273 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17273 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17273 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17279 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17279 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17281 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17281 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17283 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17283 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17285 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17285 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17285 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17291 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17291 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17293 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17293 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17295 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17295 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17297 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17297 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17297 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17303 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17303 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17305 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17305 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17307 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17307 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17309 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17309 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17311 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17311 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17311 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17317 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17317 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17319 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17319 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17321 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17321 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17323 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17323 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17323 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17329 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17329 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17331 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17331 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17333 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17333 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17335 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17335 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17337 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17337 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17337 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17343 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17343 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17345 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17345 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17347 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17347 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17349 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17349 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17349 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17355 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17355 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17357 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17357 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17359 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17359 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17361 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17361 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17363 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17363 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17363 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17369 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17369 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17371 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17371 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17373 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17373 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17375 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17375 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17377 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17377 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17377 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17383 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17383 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17385 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17385 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17387 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17387 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17389 const Attribute::AttrKind AttrParam11[]= {Attribute::ImmArg};
17389 const Attribute::AttrKind AttrParam11[]= {Attribute::ImmArg};
17391 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17391 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17391 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17397 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17397 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17399 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17399 const Attribute::AttrKind AttrParam10[]= {Attribute::ImmArg};
17401 const Attribute::AttrKind AttrParam11[]= {Attribute::ImmArg};
17401 const Attribute::AttrKind AttrParam11[]= {Attribute::ImmArg};
17403 const Attribute::AttrKind AttrParam12[]= {Attribute::ImmArg};
17403 const Attribute::AttrKind AttrParam12[]= {Attribute::ImmArg};
17405 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17405 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17405 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17411 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17411 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17413 const Attribute::AttrKind AttrParam11[]= {Attribute::ImmArg};
17413 const Attribute::AttrKind AttrParam11[]= {Attribute::ImmArg};
17415 const Attribute::AttrKind AttrParam12[]= {Attribute::ImmArg};
17415 const Attribute::AttrKind AttrParam12[]= {Attribute::ImmArg};
17417 const Attribute::AttrKind AttrParam13[]= {Attribute::ImmArg};
17417 const Attribute::AttrKind AttrParam13[]= {Attribute::ImmArg};
17419 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17419 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17419 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17425 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17425 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17427 const Attribute::AttrKind AttrParam12[]= {Attribute::ImmArg};
17427 const Attribute::AttrKind AttrParam12[]= {Attribute::ImmArg};
17429 const Attribute::AttrKind AttrParam13[]= {Attribute::ImmArg};
17429 const Attribute::AttrKind AttrParam13[]= {Attribute::ImmArg};
17431 const Attribute::AttrKind AttrParam14[]= {Attribute::ImmArg};
17431 const Attribute::AttrKind AttrParam14[]= {Attribute::ImmArg};
17433 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17433 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17433 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17439 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17439 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17441 const Attribute::AttrKind AttrParam13[]= {Attribute::ImmArg};
17441 const Attribute::AttrKind AttrParam13[]= {Attribute::ImmArg};
17443 const Attribute::AttrKind AttrParam14[]= {Attribute::ImmArg};
17443 const Attribute::AttrKind AttrParam14[]= {Attribute::ImmArg};
17445 const Attribute::AttrKind AttrParam15[]= {Attribute::ImmArg};
17445 const Attribute::AttrKind AttrParam15[]= {Attribute::ImmArg};
17447 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17447 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17447 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17453 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17453 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17455 const Attribute::AttrKind AttrParam14[]= {Attribute::ImmArg};
17455 const Attribute::AttrKind AttrParam14[]= {Attribute::ImmArg};
17457 const Attribute::AttrKind AttrParam15[]= {Attribute::ImmArg};
17457 const Attribute::AttrKind AttrParam15[]= {Attribute::ImmArg};
17459 const Attribute::AttrKind AttrParam16[]= {Attribute::ImmArg};
17459 const Attribute::AttrKind AttrParam16[]= {Attribute::ImmArg};
17461 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17461 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17461 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17467 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17467 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17469 const Attribute::AttrKind AttrParam15[]= {Attribute::ImmArg};
17469 const Attribute::AttrKind AttrParam15[]= {Attribute::ImmArg};
17471 const Attribute::AttrKind AttrParam16[]= {Attribute::ImmArg};
17471 const Attribute::AttrKind AttrParam16[]= {Attribute::ImmArg};
17473 const Attribute::AttrKind AttrParam17[]= {Attribute::ImmArg};
17473 const Attribute::AttrKind AttrParam17[]= {Attribute::ImmArg};
17475 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17475 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17475 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17481 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17481 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17483 const Attribute::AttrKind AttrParam16[]= {Attribute::ImmArg};
17483 const Attribute::AttrKind AttrParam16[]= {Attribute::ImmArg};
17485 const Attribute::AttrKind AttrParam17[]= {Attribute::ImmArg};
17485 const Attribute::AttrKind AttrParam17[]= {Attribute::ImmArg};
17487 const Attribute::AttrKind AttrParam18[]= {Attribute::ImmArg};
17487 const Attribute::AttrKind AttrParam18[]= {Attribute::ImmArg};
17489 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17489 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17489 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17495 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17495 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17497 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17497 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17499 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17499 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17499 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17505 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17505 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17507 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17507 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17507 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17513 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17513 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17515 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17515 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17517 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17517 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17517 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17523 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17523 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17525 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17525 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17525 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17531 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17531 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17533 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17533 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17535 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17535 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17535 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17541 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17541 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17543 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17543 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17545 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17545 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17547 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17547 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17549 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17549 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17551 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17551 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17551 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17557 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17557 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17557 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17557 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17563 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17563 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17565 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17565 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17565 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17565 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17571 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17571 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17571 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17573 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17573 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17573 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17573 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17579 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17579 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17579 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17581 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17581 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17581 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17581 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17587 const Attribute::AttrKind AttrParam2[]= {Attribute::ReadNone};
17587 const Attribute::AttrKind AttrParam2[]= {Attribute::ReadNone};
17589 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture,Attribute::ReadOnly};
17589 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture,Attribute::ReadOnly};
17589 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture,Attribute::ReadOnly};
17591 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17591 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17591 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17591 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17597 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17597 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17599 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17599 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17599 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17599 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17605 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17605 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17605 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17605 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17611 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17611 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17617 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17617 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17617 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17623 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17623 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17625 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17625 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17625 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17631 const Attribute::AttrKind AttrParam1[]= {Attribute::Returned};
17631 const Attribute::AttrKind AttrParam1[]= {Attribute::Returned};
17633 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17633 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17633 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17639 const Attribute::AttrKind AttrParam1[]= {Attribute::ReadNone};
17639 const Attribute::AttrKind AttrParam1[]= {Attribute::ReadNone};
17641 const Attribute::AttrKind AttrParam2[]= {Attribute::ReadNone};
17641 const Attribute::AttrKind AttrParam2[]= {Attribute::ReadNone};
17643 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17643 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17643 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17649 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17649 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17651 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17651 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17651 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17657 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17657 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17659 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17659 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17661 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17661 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17661 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17667 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17667 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17669 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17669 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17671 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17671 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17671 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17677 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17677 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17679 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17679 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17681 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17681 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17683 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17683 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17683 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17689 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17689 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17691 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17691 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17693 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17693 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17695 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17695 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17697 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17697 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17697 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17703 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17703 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17705 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17705 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17707 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17707 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17709 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17709 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17711 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17711 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17711 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17717 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17717 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17719 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17719 const Attribute::AttrKind AttrParam7[]= {Attribute::ImmArg};
17721 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17721 const Attribute::AttrKind AttrParam8[]= {Attribute::ImmArg};
17723 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17723 const Attribute::AttrKind AttrParam9[]= {Attribute::ImmArg};
17725 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17725 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17725 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17731 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17731 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17733 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17733 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17733 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17739 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17739 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17741 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17741 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17743 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17743 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17743 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17749 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17749 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17751 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17751 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17753 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17753 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17753 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17759 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17759 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17761 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17761 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17761 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17767 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17767 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17769 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17769 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17771 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17771 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17771 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17777 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17777 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17779 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17779 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17781 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17781 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17781 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17787 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17787 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17789 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17789 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17791 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17791 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17791 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17797 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17797 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17799 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17799 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17799 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17805 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17805 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17807 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17807 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17809 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17809 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17809 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17815 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17815 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17817 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17817 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17817 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17823 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17823 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17825 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17825 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
17827 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17827 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17827 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
17833 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17833 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17839 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17839 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17839 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17841 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOrArgMemOnly};
17841 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOrArgMemOnly};
17841 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOrArgMemOnly};
17847 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17847 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17849 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17849 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17849 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::InaccessibleMemOnly};
17855 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17855 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17857 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17857 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17859 const Attribute::AttrKind AttrParam3[]= {Attribute::WriteOnly};
17859 const Attribute::AttrKind AttrParam3[]= {Attribute::WriteOnly};
17861 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::InaccessibleMemOrArgMemOnly};
17861 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::InaccessibleMemOrArgMemOnly};
17861 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::InaccessibleMemOrArgMemOnly};
17861 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::InaccessibleMemOrArgMemOnly};
17867 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17867 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17867 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17867 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly,Attribute::ArgMemOnly};
17873 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17873 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17879 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17879 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17885 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17885 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17887 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17887 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
17893 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17893 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17895 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17895 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17895 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17895 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17895 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
17901 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17901 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17901 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17901 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17907 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17907 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17909 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17909 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17909 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17909 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17915 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17915 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17917 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17917 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17919 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17919 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17919 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17919 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17925 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17925 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17927 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17927 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17929 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17929 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17931 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17931 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17931 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17931 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17937 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17937 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17939 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17939 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17939 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17939 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17945 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17945 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17947 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17947 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17949 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17949 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17949 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17949 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17955 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17955 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
17957 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17957 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17959 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17959 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
17961 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17961 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17961 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17961 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17967 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17967 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
17969 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17969 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17969 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17969 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadNone};
17975 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17975 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17975 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17981 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17981 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
17983 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17983 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17983 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17989 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17989 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17991 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17991 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17991 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
17997 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17997 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
17999 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
17999 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18001 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ArgMemOnly};
18001 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ArgMemOnly};
18001 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ArgMemOnly};
18001 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ArgMemOnly};
18007 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::InaccessibleMemOnly};
18007 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::InaccessibleMemOnly};
18007 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::InaccessibleMemOnly};
18007 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::InaccessibleMemOnly};
18013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::WriteOnly,Attribute::InaccessibleMemOnly};
18013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::WriteOnly,Attribute::InaccessibleMemOnly};
18013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::WriteOnly,Attribute::InaccessibleMemOnly};
18013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::WriteOnly,Attribute::InaccessibleMemOnly};
18013 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::WriteOnly,Attribute::InaccessibleMemOnly};
18019 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18019 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18019 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18019 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18025 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18025 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18027 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18027 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18027 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18027 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18033 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18033 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18035 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18035 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18037 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18037 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18039 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18039 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18041 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18047 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18047 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18049 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18055 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18055 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18057 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18057 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18059 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18059 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18061 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
18061 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
18063 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18063 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18063 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18063 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18069 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18069 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18071 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18071 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18073 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
18073 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
18075 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18075 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18075 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18075 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18081 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18081 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18083 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
18083 const Attribute::AttrKind AttrParam6[]= {Attribute::ImmArg};
18085 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18085 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18085 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18085 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
18091 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
18091 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
18091 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
18097 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::Speculatable,Attribute::ReadNone};
18097 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::Speculatable,Attribute::ReadNone};
18097 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::Speculatable,Attribute::ReadNone};
18097 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::Speculatable,Attribute::ReadNone};
18097 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::Speculatable,Attribute::ReadNone};
18103 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn};
18103 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn};
18103 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn};
18109 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18109 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18111 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn};
18111 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn};
18111 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn};
18117 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
18117 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
18117 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
18119 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18119 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18121 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18121 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18123 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOrArgMemOnly};
18123 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOrArgMemOnly};
18123 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOrArgMemOnly};
18123 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOrArgMemOnly};
18129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18129 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18135 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::WriteOnly};
18135 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::WriteOnly};
18135 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::WriteOnly};
18135 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::WriteOnly};
18137 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::ReadOnly};
18137 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::ReadOnly};
18137 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::ReadOnly};
18137 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::ReadOnly};
18139 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18139 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18141 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18141 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18141 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18141 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18147 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
18147 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
18147 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
18149 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18149 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18149 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18151 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18151 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18153 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18153 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18153 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18153 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18159 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
18159 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
18159 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
18161 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18161 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18163 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18163 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18163 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18163 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18169 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
18169 const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
18171 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18171 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18171 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18173 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18173 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18175 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18175 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18175 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18175 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18181 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18181 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18183 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
18183 const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
18185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18185 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18191 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18191 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18193 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
18193 const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
18195 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18195 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18195 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18195 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18201 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18201 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18203 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18203 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18203 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18203 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ArgMemOnly};
18209 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOnly};
18209 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOnly};
18209 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOnly};
18209 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::InaccessibleMemOnly};
18215 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18215 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18215 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18215 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18221 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18221 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18223 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18223 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18223 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18223 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18229 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18229 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18231 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly,Attribute::ArgMemOnly};
18231 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly,Attribute::ArgMemOnly};
18231 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly,Attribute::ArgMemOnly};
18231 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly,Attribute::ArgMemOnly};
18231 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly,Attribute::ArgMemOnly};
18237 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadNone};
18237 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadNone};
18237 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadNone};
18237 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadNone};
18243 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::InaccessibleMemOnly};
18243 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::InaccessibleMemOnly};
18243 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::InaccessibleMemOnly};
18243 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::InaccessibleMemOnly};
18243 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::InaccessibleMemOnly};
18249 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18249 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18249 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18249 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18249 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18255 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18255 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18257 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18257 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18257 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18257 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18257 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18263 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18263 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18265 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18265 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18267 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18267 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18269 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18269 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18269 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18269 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18269 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18275 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18275 const Attribute::AttrKind AttrParam3[]= {Attribute::ImmArg};
18277 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18277 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18277 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18277 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18277 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::Speculatable,Attribute::ReadNone};
18283 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn};
18283 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn};
18283 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn};
18289 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn,Attribute::Cold};
18289 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn,Attribute::Cold};
18289 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn,Attribute::Cold};
18289 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn,Attribute::Cold};
18295 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
18295 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
18295 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
18301 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate,Attribute::WriteOnly};
18301 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate,Attribute::WriteOnly};
18301 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate,Attribute::WriteOnly};
18301 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate,Attribute::WriteOnly};
18307 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18307 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18309 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
18309 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
18309 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
18315 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::NoDuplicate,Attribute::InaccessibleMemOnly};
18315 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::NoDuplicate,Attribute::InaccessibleMemOnly};
18315 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::NoDuplicate,Attribute::InaccessibleMemOnly};
18315 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::NoDuplicate,Attribute::InaccessibleMemOnly};
18315 const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::NoDuplicate,Attribute::InaccessibleMemOnly};
18324 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18324 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18326 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18326 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18328 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18328 const Attribute::AttrKind AttrParam4[]= {Attribute::ImmArg};
18330 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18330 const Attribute::AttrKind AttrParam5[]= {Attribute::ImmArg};
18336 const Attribute::AttrKind Atts[] = {Attribute::ReadNone};
18336 const Attribute::AttrKind Atts[] = {Attribute::ReadNone};
18342 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18342 const Attribute::AttrKind AttrParam2[]= {Attribute::ImmArg};
18344 const Attribute::AttrKind Atts[] = {Attribute::ReadNone};
18344 const Attribute::AttrKind Atts[] = {Attribute::ReadNone};
18350 const Attribute::AttrKind Atts[] = {Attribute::NoReturn};
18350 const Attribute::AttrKind Atts[] = {Attribute::NoReturn};
18356 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18356 const Attribute::AttrKind AttrParam1[]= {Attribute::ImmArg};
18358 const Attribute::AttrKind Atts[] = {Attribute::NoReturn};
18358 const Attribute::AttrKind Atts[] = {Attribute::NoReturn};
18364 const Attribute::AttrKind Atts[] = {Attribute::NoReturn,Attribute::WriteOnly};
18364 const Attribute::AttrKind Atts[] = {Attribute::NoReturn,Attribute::WriteOnly};
18364 const Attribute::AttrKind Atts[] = {Attribute::NoReturn,Attribute::WriteOnly};
gen/lib/IR/AttributesCompatFunc.inc 70 static Attribute::AttrKind getAttrKindFromName(StringRef AttrName) {
72 .Case("align", Attribute::Alignment)
73 .Case("allocsize", Attribute::AllocSize)
74 .Case("alwaysinline", Attribute::AlwaysInline)
75 .Case("argmemonly", Attribute::ArgMemOnly)
76 .Case("builtin", Attribute::Builtin)
77 .Case("byval", Attribute::ByVal)
78 .Case("cold", Attribute::Cold)
79 .Case("convergent", Attribute::Convergent)
80 .Case("dereferenceable", Attribute::Dereferenceable)
81 .Case("dereferenceable_or_null", Attribute::DereferenceableOrNull)
82 .Case("immarg", Attribute::ImmArg)
83 .Case("inalloca", Attribute::InAlloca)
84 .Case("inreg", Attribute::InReg)
85 .Case("inaccessiblememonly", Attribute::InaccessibleMemOnly)
86 .Case("inaccessiblemem_or_argmemonly", Attribute::InaccessibleMemOrArgMemOnly)
87 .Case("inlinehint", Attribute::InlineHint)
88 .Case("jumptable", Attribute::JumpTable)
89 .Case("minsize", Attribute::MinSize)
90 .Case("naked", Attribute::Naked)
91 .Case("nest", Attribute::Nest)
92 .Case("noalias", Attribute::NoAlias)
93 .Case("nobuiltin", Attribute::NoBuiltin)
94 .Case("nocapture", Attribute::NoCapture)
95 .Case("nocf_check", Attribute::NoCfCheck)
96 .Case("noduplicate", Attribute::NoDuplicate)
97 .Case("nofree", Attribute::NoFree)
98 .Case("noimplicitfloat", Attribute::NoImplicitFloat)
99 .Case("noinline", Attribute::NoInline)
100 .Case("norecurse", Attribute::NoRecurse)
101 .Case("noredzone", Attribute::NoRedZone)
102 .Case("noreturn", Attribute::NoReturn)
103 .Case("nosync", Attribute::NoSync)
104 .Case("nounwind", Attribute::NoUnwind)
105 .Case("nonlazybind", Attribute::NonLazyBind)
106 .Case("nonnull", Attribute::NonNull)
107 .Case("optforfuzzing", Attribute::OptForFuzzing)
108 .Case("optsize", Attribute::OptimizeForSize)
109 .Case("optnone", Attribute::OptimizeNone)
110 .Case("readnone", Attribute::ReadNone)
111 .Case("readonly", Attribute::ReadOnly)
112 .Case("returned", Attribute::Returned)
113 .Case("returns_twice", Attribute::ReturnsTwice)
114 .Case("signext", Attribute::SExt)
115 .Case("safestack", Attribute::SafeStack)
116 .Case("sanitize_address", Attribute::SanitizeAddress)
117 .Case("sanitize_hwaddress", Attribute::SanitizeHWAddress)
118 .Case("sanitize_memtag", Attribute::SanitizeMemTag)
119 .Case("sanitize_memory", Attribute::SanitizeMemory)
120 .Case("sanitize_thread", Attribute::SanitizeThread)
121 .Case("shadowcallstack", Attribute::ShadowCallStack)
122 .Case("speculatable", Attribute::Speculatable)
123 .Case("speculative_load_hardening", Attribute::SpeculativeLoadHardening)
124 .Case("alignstack", Attribute::StackAlignment)
125 .Case("ssp", Attribute::StackProtect)
126 .Case("sspreq", Attribute::StackProtectReq)
127 .Case("sspstrong", Attribute::StackProtectStrong)
128 .Case("strictfp", Attribute::StrictFP)
129 .Case("sret", Attribute::StructRet)
130 .Case("swifterror", Attribute::SwiftError)
131 .Case("swiftself", Attribute::SwiftSelf)
132 .Case("uwtable", Attribute::UWTable)
133 .Case("willreturn", Attribute::WillReturn)
134 .Case("writeonly", Attribute::WriteOnly)
135 .Case("zeroext", Attribute::ZExt)
136 .Default(Attribute::None);
144 Attribute::AttrKind Kind) {
149 Attribute::AttrKind Kind, bool Val) {
160 auto A = Fn.getFnAttribute(Kind);
172 static enum Attribute::AttrKind getKind() {
173 return llvm::Attribute::Alignment;
177 static enum Attribute::AttrKind getKind() {
178 return llvm::Attribute::AllocSize;
182 static enum Attribute::AttrKind getKind() {
183 return llvm::Attribute::AlwaysInline;
187 static enum Attribute::AttrKind getKind() {
188 return llvm::Attribute::ArgMemOnly;
192 static enum Attribute::AttrKind getKind() {
193 return llvm::Attribute::Builtin;
197 static enum Attribute::AttrKind getKind() {
198 return llvm::Attribute::ByVal;
202 static enum Attribute::AttrKind getKind() {
203 return llvm::Attribute::Cold;
207 static enum Attribute::AttrKind getKind() {
208 return llvm::Attribute::Convergent;
212 static enum Attribute::AttrKind getKind() {
213 return llvm::Attribute::Dereferenceable;
217 static enum Attribute::AttrKind getKind() {
218 return llvm::Attribute::DereferenceableOrNull;
222 static enum Attribute::AttrKind getKind() {
223 return llvm::Attribute::ImmArg;
227 static enum Attribute::AttrKind getKind() {
228 return llvm::Attribute::InAlloca;
232 static enum Attribute::AttrKind getKind() {
233 return llvm::Attribute::InReg;
237 static enum Attribute::AttrKind getKind() {
238 return llvm::Attribute::InaccessibleMemOnly;
242 static enum Attribute::AttrKind getKind() {
243 return llvm::Attribute::InaccessibleMemOrArgMemOnly;
247 static enum Attribute::AttrKind getKind() {
248 return llvm::Attribute::InlineHint;
252 static enum Attribute::AttrKind getKind() {
253 return llvm::Attribute::JumpTable;
257 static enum Attribute::AttrKind getKind() {
258 return llvm::Attribute::MinSize;
262 static enum Attribute::AttrKind getKind() {
263 return llvm::Attribute::Naked;
267 static enum Attribute::AttrKind getKind() {
268 return llvm::Attribute::Nest;
272 static enum Attribute::AttrKind getKind() {
273 return llvm::Attribute::NoAlias;
277 static enum Attribute::AttrKind getKind() {
278 return llvm::Attribute::NoBuiltin;
282 static enum Attribute::AttrKind getKind() {
283 return llvm::Attribute::NoCapture;
287 static enum Attribute::AttrKind getKind() {
288 return llvm::Attribute::NoCfCheck;
292 static enum Attribute::AttrKind getKind() {
293 return llvm::Attribute::NoDuplicate;
297 static enum Attribute::AttrKind getKind() {
298 return llvm::Attribute::NoFree;
302 static enum Attribute::AttrKind getKind() {
303 return llvm::Attribute::NoImplicitFloat;
307 static enum Attribute::AttrKind getKind() {
308 return llvm::Attribute::NoInline;
312 static enum Attribute::AttrKind getKind() {
313 return llvm::Attribute::NoRecurse;
317 static enum Attribute::AttrKind getKind() {
318 return llvm::Attribute::NoRedZone;
322 static enum Attribute::AttrKind getKind() {
323 return llvm::Attribute::NoReturn;
327 static enum Attribute::AttrKind getKind() {
328 return llvm::Attribute::NoSync;
332 static enum Attribute::AttrKind getKind() {
333 return llvm::Attribute::NoUnwind;
337 static enum Attribute::AttrKind getKind() {
338 return llvm::Attribute::NonLazyBind;
342 static enum Attribute::AttrKind getKind() {
343 return llvm::Attribute::NonNull;
347 static enum Attribute::AttrKind getKind() {
348 return llvm::Attribute::OptForFuzzing;
352 static enum Attribute::AttrKind getKind() {
353 return llvm::Attribute::OptimizeForSize;
357 static enum Attribute::AttrKind getKind() {
358 return llvm::Attribute::OptimizeNone;
362 static enum Attribute::AttrKind getKind() {
363 return llvm::Attribute::ReadNone;
367 static enum Attribute::AttrKind getKind() {
368 return llvm::Attribute::ReadOnly;
372 static enum Attribute::AttrKind getKind() {
373 return llvm::Attribute::Returned;
377 static enum Attribute::AttrKind getKind() {
378 return llvm::Attribute::ReturnsTwice;
382 static enum Attribute::AttrKind getKind() {
383 return llvm::Attribute::SExt;
387 static enum Attribute::AttrKind getKind() {
388 return llvm::Attribute::SafeStack;
392 static enum Attribute::AttrKind getKind() {
393 return llvm::Attribute::SanitizeAddress;
397 static enum Attribute::AttrKind getKind() {
398 return llvm::Attribute::SanitizeHWAddress;
402 static enum Attribute::AttrKind getKind() {
403 return llvm::Attribute::SanitizeMemTag;
407 static enum Attribute::AttrKind getKind() {
408 return llvm::Attribute::SanitizeMemory;
412 static enum Attribute::AttrKind getKind() {
413 return llvm::Attribute::SanitizeThread;
417 static enum Attribute::AttrKind getKind() {
418 return llvm::Attribute::ShadowCallStack;
422 static enum Attribute::AttrKind getKind() {
423 return llvm::Attribute::Speculatable;
427 static enum Attribute::AttrKind getKind() {
428 return llvm::Attribute::SpeculativeLoadHardening;
432 static enum Attribute::AttrKind getKind() {
433 return llvm::Attribute::StackAlignment;
437 static enum Attribute::AttrKind getKind() {
438 return llvm::Attribute::StackProtect;
442 static enum Attribute::AttrKind getKind() {
443 return llvm::Attribute::StackProtectReq;
447 static enum Attribute::AttrKind getKind() {
448 return llvm::Attribute::StackProtectStrong;
452 static enum Attribute::AttrKind getKind() {
453 return llvm::Attribute::StrictFP;
457 static enum Attribute::AttrKind getKind() {
458 return llvm::Attribute::StructRet;
462 static enum Attribute::AttrKind getKind() {
463 return llvm::Attribute::SwiftError;
467 static enum Attribute::AttrKind getKind() {
468 return llvm::Attribute::SwiftSelf;
472 static enum Attribute::AttrKind getKind() {
473 return llvm::Attribute::UWTable;
477 static enum Attribute::AttrKind getKind() {
478 return llvm::Attribute::WillReturn;
482 static enum Attribute::AttrKind getKind() {
483 return llvm::Attribute::WriteOnly;
487 static enum Attribute::AttrKind getKind() {
488 return llvm::Attribute::ZExt;
include/llvm/ADT/ArrayRef.h 43 using iterator = const T *;
44 using const_iterator = const T *;
50 const T *Data = nullptr;
66 /*implicit*/ ArrayRef(const T &OneElt)
70 /*implicit*/ ArrayRef(const T *data, size_t length)
74 ArrayRef(const T *begin, const T *end)
74 ArrayRef(const T *begin, const T *end)
81 /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
87 /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
92 /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
97 /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
100 /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
145 const T *data() const { return Data; }
151 const T &front() const {
157 const T &back() const {
163 template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
178 ArrayRef<T> slice(size_t N, size_t M) const {
184 ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
187 ArrayRef<T> drop_front(size_t N = 1) const {
193 ArrayRef<T> drop_back(size_t N = 1) const {
200 template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
206 template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
211 ArrayRef<T> take_front(size_t N = 1) const {
218 ArrayRef<T> take_back(size_t N = 1) const {
226 template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
232 template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
239 const T &operator[](size_t Index) const {
249 typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
257 typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
263 std::vector<T> vec() const {
270 operator std::vector<T>() const {
456 ArrayRef<T> makeArrayRef(const T *data, size_t length) {
456 ArrayRef<T> makeArrayRef(const T *data, size_t length) {
462 ArrayRef<T> makeArrayRef(const T *begin, const T *end) {
462 ArrayRef<T> makeArrayRef(const T *begin, const T *end) {
462 ArrayRef<T> makeArrayRef(const T *begin, const T *end) {
include/llvm/ADT/SmallVector.h 75 AlignedCharArrayUnion<T> FirstEl;
114 using value_type = T;
115 using iterator = T *;
116 using const_iterator = const T *;
121 using reference = T &;
122 using const_reference = const T &;
123 using pointer = T *;
124 using const_pointer = const T *;
259 class SmallVectorTemplateBase<T, true> : public SmallVectorTemplateCommon<T> {
264 static void destroy_range(T *, T *) {}
264 static void destroy_range(T *, T *) {}
286 T1 *I, T1 *E, T2 *Dest,
288 T2>::value>::type * = nullptr) {
294 memcpy(reinterpret_cast<void *>(Dest), I, (E - I) * sizeof(T));
299 void grow(size_t MinSize = 0) { this->grow_pod(MinSize, sizeof(T)); }
302 void push_back(const T &Elt) {
305 memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
316 using SuperClass = SmallVectorTemplateBase<T>;
357 void resize(size_type N, const T &NV) {
374 LLVM_NODISCARD T pop_back_val() {
397 void append(size_type NumInputs, const T &Elt) {
405 void append(std::initializer_list<T> IL) {
412 void assign(size_type NumElts, const T &Elt) {
429 void assign(std::initializer_list<T> IL) {
467 iterator insert(iterator I, T &&Elt) {
497 iterator insert(iterator I, const T &Elt) {
526 iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
637 void insert(iterator I, std::initializer_list<T> IL) {
641 template <typename... ArgTypes> reference emplace_back(ArgTypes &&... Args) {
644 ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
644 ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
820 AlignedCharArrayUnion<T> InlineElts[N];
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
846 explicit SmallVector(size_t Size, const T &Value = T())
865 SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
884 SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/Analysis/TargetLibraryInfo.h 306 Attribute::AttrKind getExtAttrForI32Param(bool Signed = true) const {
308 return Signed ? Attribute::SExt : Attribute::ZExt;
308 return Signed ? Attribute::SExt : Attribute::ZExt;
310 return Attribute::SExt;
311 return Attribute::None;
317 Attribute::AttrKind getExtAttrForI32Return(bool Signed = true) const {
319 return Signed ? Attribute::SExt : Attribute::ZExt;
319 return Signed ? Attribute::SExt : Attribute::ZExt;
320 return Attribute::None;
include/llvm/CodeGen/CommandFlags.inc 405 Attribute::get(Ctx, "trap-func-name", TrapFuncName));
include/llvm/CodeGen/FastISel.h 110 IsInReg = Call.hasRetAttr(Attribute::InReg);
114 RetSExt = Call.hasRetAttr(Attribute::SExt);
115 RetZExt = Call.hasRetAttr(Attribute::ZExt);
134 IsInReg = Call.hasRetAttr(Attribute::InReg);
138 RetSExt = Call.hasRetAttr(Attribute::SExt);
139 RetZExt = Call.hasRetAttr(Attribute::ZExt);
include/llvm/CodeGen/TargetLowering.h 3509 IsInReg = Call.hasRetAttr(Attribute::InReg);
3516 RetSExt = Call.hasRetAttr(Attribute::SExt);
3517 RetZExt = Call.hasRetAttr(Attribute::ZExt);
include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h 661 ClonedF->addFnAttr(Attribute::AlwaysInline);
include/llvm/IR/Argument.h 117 void addAttr(Attribute::AttrKind Kind);
119 void addAttr(Attribute Attr);
122 void removeAttr(Attribute::AttrKind Kind);
125 bool hasAttribute(Attribute::AttrKind Kind) const;
127 Attribute getAttribute(Attribute::AttrKind Kind) const;
127 Attribute getAttribute(Attribute::AttrKind Kind) const;
include/llvm/IR/Attributes.h 91 static Attribute get(LLVMContext &Context, AttrKind Kind, uint64_t Val = 0);
92 static Attribute get(LLVMContext &Context, StringRef Kind,
94 static Attribute get(LLVMContext &Context, AttrKind Kind, Type *Ty);
98 static Attribute getWithAlignment(LLVMContext &Context, Align Alignment);
99 static Attribute getWithStackAlignment(LLVMContext &Context, Align Alignment);
100 static Attribute getWithDereferenceableBytes(LLVMContext &Context,
102 static Attribute getWithDereferenceableOrNullBytes(LLVMContext &Context,
104 static Attribute getWithAllocSizeArgs(LLVMContext &Context,
107 static Attribute getWithByValType(LLVMContext &Context, Type *Ty);
134 Attribute::AttrKind getKindAsEnum() const;
177 bool operator==(Attribute A) const { return pImpl == A.pImpl; }
178 bool operator!=(Attribute A) const { return pImpl != A.pImpl; }
181 bool operator<(Attribute A) const;
193 static Attribute fromRawPointer(void *RawPtr) {
199 inline LLVMAttributeRef wrap(Attribute Attr) {
204 inline Attribute unwrap(LLVMAttributeRef Attr) {
205 return Attribute::fromRawPointer(Attr);
235 static AttributeSet get(LLVMContext &C, ArrayRef<Attribute> Attrs);
243 Attribute::AttrKind Kind) const;
258 Attribute::AttrKind Kind) const;
277 bool hasAttribute(Attribute::AttrKind Kind) const;
283 Attribute getAttribute(Attribute::AttrKind Kind) const;
283 Attribute getAttribute(Attribute::AttrKind Kind) const;
286 Attribute getAttribute(StringRef Kind) const;
296 using iterator = const Attribute *;
359 ArrayRef<std::pair<unsigned, Attribute>> Attrs);
384 ArrayRef<Attribute::AttrKind> Kinds);
393 Attribute::AttrKind Kind) const;
404 Attribute A) const;
414 LLVMContext &C, unsigned ArgNo, Attribute::AttrKind Kind) const {
430 Attribute A) const;
443 Attribute::AttrKind Kind) const;
463 LLVMContext &C, unsigned ArgNo, Attribute::AttrKind Kind) const {
550 bool hasAttribute(unsigned Index, Attribute::AttrKind Kind) const;
559 bool hasParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
575 bool hasFnAttribute(Attribute::AttrKind Kind) const;
582 bool hasParamAttribute(unsigned ArgNo, Attribute::AttrKind Kind) const;
587 bool hasAttrSomewhere(Attribute::AttrKind Kind,
591 Attribute getAttribute(unsigned Index, Attribute::AttrKind Kind) const;
591 Attribute getAttribute(unsigned Index, Attribute::AttrKind Kind) const;
594 Attribute getAttribute(unsigned Index, StringRef Kind) const;
597 Attribute getParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
597 Attribute getParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
602 Attribute getParamAttr(unsigned ArgNo, StringRef Kind) const {
707 std::bitset<Attribute::EndAttrKinds> Attrs;
719 AttrBuilder(const Attribute &A) {
729 AttrBuilder &addAttribute(Attribute::AttrKind Val);
732 AttrBuilder &addAttribute(Attribute A);
738 AttrBuilder &removeAttribute(Attribute::AttrKind Val);
757 bool contains(Attribute::AttrKind A) const {
include/llvm/IR/CallSite.h 345 void addAttribute(unsigned i, Attribute::AttrKind Kind) {
349 void addAttribute(unsigned i, Attribute Attr) {
353 void addParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
357 void removeAttribute(unsigned i, Attribute::AttrKind Kind) {
365 void removeParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
370 bool hasFnAttr(Attribute::AttrKind Kind) const {
380 bool hasRetAttr(Attribute::AttrKind Kind) const {
385 bool paramHasAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
389 Attribute getAttribute(unsigned i, Attribute::AttrKind Kind) const {
389 Attribute getAttribute(unsigned i, Attribute::AttrKind Kind) const {
393 Attribute getAttribute(unsigned i, StringRef Kind) const {
404 bool dataOperandHasImpliedAttr(unsigned i, Attribute::AttrKind Kind) const {
603 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::NoCapture);
608 return paramHasAttr(ArgNo, Attribute::ByVal);
613 return paramHasAttr(ArgNo, Attribute::InAlloca);
618 return paramHasAttr(ArgNo, Attribute::ByVal) ||
619 paramHasAttr(ArgNo, Attribute::InAlloca);
625 return !arg_empty() && paramHasAttr(arg_size() - 1, Attribute::InAlloca);
629 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadNone);
633 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadOnly) ||
634 dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadNone);
638 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::WriteOnly) ||
639 dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadNone);
646 if (hasRetAttr(Attribute::NonNull))
include/llvm/IR/Function.h 229 void addFnAttr(Attribute::AttrKind Kind) {
236 Attribute::get(getContext(), Kind, Val));
240 void addFnAttr(Attribute Attr) {
245 void removeFnAttr(Attribute::AttrKind Kind) {
323 bool hasFnAttribute(Attribute::AttrKind Kind) const {
333 Attribute getFnAttribute(Attribute::AttrKind Kind) const {
333 Attribute getFnAttribute(Attribute::AttrKind Kind) const {
338 Attribute getFnAttribute(StringRef Kind) const {
344 if (!hasFnAttribute(Attribute::StackAlignment))
362 void addAttribute(unsigned i, Attribute::AttrKind Kind);
365 void addAttribute(unsigned i, Attribute Attr);
371 void addParamAttr(unsigned ArgNo, Attribute::AttrKind Kind);
374 void addParamAttr(unsigned ArgNo, Attribute Attr);
380 void removeAttribute(unsigned i, Attribute::AttrKind Kind);
389 void removeParamAttr(unsigned ArgNo, Attribute::AttrKind Kind);
398 bool hasAttribute(unsigned i, Attribute::AttrKind Kind) const {
403 bool hasParamAttribute(unsigned ArgNo, Attribute::AttrKind Kind) const {
408 Attribute getParamAttribute(unsigned ArgNo, Attribute::AttrKind Kind) const {
408 Attribute getParamAttribute(unsigned ArgNo, Attribute::AttrKind Kind) const {
413 Attribute getAttribute(unsigned i, Attribute::AttrKind Kind) const {
413 Attribute getAttribute(unsigned i, Attribute::AttrKind Kind) const {
418 Attribute getAttribute(unsigned i, StringRef Kind) const {
479 return hasFnAttribute(Attribute::ReadNone);
482 addFnAttr(Attribute::ReadNone);
487 return doesNotAccessMemory() || hasFnAttribute(Attribute::ReadOnly);
490 addFnAttr(Attribute::ReadOnly);
495 return doesNotAccessMemory() || hasFnAttribute(Attribute::WriteOnly);
498 addFnAttr(Attribute::WriteOnly);
504 return hasFnAttribute(Attribute::ArgMemOnly);
506 void setOnlyAccessesArgMemory() { addFnAttr(Attribute::ArgMemOnly); }
511 return hasFnAttribute(Attribute::InaccessibleMemOnly);
514 addFnAttr(Attribute::InaccessibleMemOnly);
520 return hasFnAttribute(Attribute::InaccessibleMemOrArgMemOnly);
523 addFnAttr(Attribute::InaccessibleMemOrArgMemOnly);
528 return hasFnAttribute(Attribute::NoReturn);
531 addFnAttr(Attribute::NoReturn);
535 bool doesNoCfCheck() const { return hasFnAttribute(Attribute::NoCfCheck); }
539 return hasFnAttribute(Attribute::NoUnwind);
542 addFnAttr(Attribute::NoUnwind);
547 return hasFnAttribute(Attribute::NoDuplicate);
550 addFnAttr(Attribute::NoDuplicate);
555 return hasFnAttribute(Attribute::Convergent);
558 addFnAttr(Attribute::Convergent);
561 removeFnAttr(Attribute::Convergent);
566 return hasFnAttribute(Attribute::Speculatable);
569 addFnAttr(Attribute::Speculatable);
574 return onlyReadsMemory() || hasFnAttribute(Attribute::NoFree);
577 addFnAttr(Attribute::NoFree);
583 return hasFnAttribute(Attribute::NoRecurse);
586 addFnAttr(Attribute::NoRecurse);
592 return hasFnAttribute(Attribute::UWTable);
595 addFnAttr(Attribute::UWTable);
606 return AttributeSets.hasParamAttribute(0, Attribute::StructRet) ||
607 AttributeSets.hasParamAttribute(1, Attribute::StructRet);
614 Attribute::NoAlias);
617 addAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
621 bool hasOptNone() const { return hasFnAttribute(Attribute::OptimizeNone); }
624 bool hasMinSize() const { return hasFnAttribute(Attribute::MinSize); }
628 return hasFnAttribute(Attribute::OptimizeForSize) || hasMinSize();
include/llvm/IR/GlobalVariable.h 188 void addAttribute(Attribute::AttrKind Kind) {
198 bool hasAttribute(Attribute::AttrKind Kind) const {
213 Attribute getAttribute(Attribute::AttrKind Kind) const {
213 Attribute getAttribute(Attribute::AttrKind Kind) const {
218 Attribute getAttribute(StringRef Kind) const {
include/llvm/IR/IRBuilder.h 262 if (!F->hasFnAttribute(Attribute::StrictFP)) {
263 F->addFnAttr(Attribute::StrictFP);
268 if (!I->hasFnAttr(Attribute::StrictFP))
269 I->addAttribute(AttributeList::FunctionIndex, Attribute::StrictFP);
include/llvm/IR/InstrTypes.h 1009 bool operandHasAttr(unsigned Idx, Attribute::AttrKind A) const {
1011 if (A == Attribute::ReadOnly || A == Attribute::NoCapture)
1011 if (A == Attribute::ReadOnly || A == Attribute::NoCapture)
1378 bool hasFnAttr(Attribute::AttrKind Kind) const {
1388 void addAttribute(unsigned i, Attribute::AttrKind Kind) {
1395 void addAttribute(unsigned i, Attribute Attr) {
1402 void addParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
1410 void addParamAttr(unsigned ArgNo, Attribute Attr) {
1418 void removeAttribute(unsigned i, Attribute::AttrKind Kind) {
1432 void removeParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
1463 bool hasRetAttr(Attribute::AttrKind Kind) const;
1466 bool paramHasAttr(unsigned ArgNo, Attribute::AttrKind Kind) const;
1469 Attribute getAttribute(unsigned i, Attribute::AttrKind Kind) const {
1469 Attribute getAttribute(unsigned i, Attribute::AttrKind Kind) const {
1474 Attribute getAttribute(unsigned i, StringRef Kind) const {
1479 Attribute getParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
1479 Attribute getParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
1485 Attribute getParamAttr(unsigned ArgNo, StringRef Kind) const {
1503 bool dataOperandHasImpliedAttr(unsigned i, Attribute::AttrKind Kind) const {
1529 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::NoCapture);
1534 return paramHasAttr(ArgNo, Attribute::ByVal);
1539 return paramHasAttr(ArgNo, Attribute::InAlloca);
1544 return paramHasAttr(ArgNo, Attribute::ByVal) ||
1545 paramHasAttr(ArgNo, Attribute::InAlloca);
1551 return !arg_empty() && paramHasAttr(arg_size() - 1, Attribute::InAlloca);
1557 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadNone);
1563 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadOnly) ||
1564 dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadNone);
1570 return dataOperandHasImpliedAttr(OpNo + 1, Attribute::WriteOnly) ||
1571 dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadNone);
1613 return Attrs.hasAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
1623 return hasFnAttrImpl(Attribute::NoBuiltin) &&
1624 !hasFnAttrImpl(Attribute::Builtin);
1628 bool isStrictFP() const { return hasFnAttr(Attribute::StrictFP); }
1631 bool isNoInline() const { return hasFnAttr(Attribute::NoInline); }
1633 addAttribute(AttributeList::FunctionIndex, Attribute::NoInline);
1636 bool doesNotAccessMemory() const { return hasFnAttr(Attribute::ReadNone); }
1638 addAttribute(AttributeList::FunctionIndex, Attribute::ReadNone);
1643 return doesNotAccessMemory() || hasFnAttr(Attribute::ReadOnly);
1646 addAttribute(AttributeList::FunctionIndex, Attribute::ReadOnly);
1651 return doesNotAccessMemory() || hasFnAttr(Attribute::WriteOnly);
1654 addAttribute(AttributeList::FunctionIndex, Attribute::WriteOnly);
1660 return hasFnAttr(Attribute::ArgMemOnly);
1663 addAttribute(AttributeList::FunctionIndex, Attribute::ArgMemOnly);
1669 return hasFnAttr(Attribute::InaccessibleMemOnly);
1672 addAttribute(AttributeList::FunctionIndex, Attribute::InaccessibleMemOnly);
1678 return hasFnAttr(Attribute::InaccessibleMemOrArgMemOnly);
1682 Attribute::InaccessibleMemOrArgMemOnly);
1685 bool doesNotReturn() const { return hasFnAttr(Attribute::NoReturn); }
1687 addAttribute(AttributeList::FunctionIndex, Attribute::NoReturn);
1691 bool doesNoCfCheck() const { return hasFnAttr(Attribute::NoCfCheck); }
1694 bool doesNotThrow() const { return hasFnAttr(Attribute::NoUnwind); }
1696 addAttribute(AttributeList::FunctionIndex, Attribute::NoUnwind);
1700 bool cannotDuplicate() const { return hasFnAttr(Attribute::NoDuplicate); }
1702 addAttribute(AttributeList::FunctionIndex, Attribute::NoDuplicate);
1706 bool isConvergent() const { return hasFnAttr(Attribute::Convergent); }
1708 addAttribute(AttributeList::FunctionIndex, Attribute::Convergent);
1711 removeAttribute(AttributeList::FunctionIndex, Attribute::Convergent);
1721 return paramHasAttr(0, Attribute::StructRet);
1726 return Attrs.hasAttrSomewhere(Attribute::ByVal);
1894 bool bundleOperandHasAttr(unsigned OpIdx, Attribute::AttrKind A) const {
1932 bool isFnAttrDisallowedByOpBundle(Attribute::AttrKind A) const {
1937 case Attribute::InaccessibleMemOrArgMemOnly:
1940 case Attribute::InaccessibleMemOnly:
1943 case Attribute::ArgMemOnly:
1946 case Attribute::ReadNone:
1949 case Attribute::ReadOnly:
2110 bool hasFnAttrOnCalledFunction(Attribute::AttrKind Kind) const;
include/llvm/IR/Instructions.h 1663 bool canReturnTwice() const { return hasFnAttr(Attribute::ReturnsTwice); }
1665 addAttribute(AttributeList::FunctionIndex, Attribute::ReturnsTwice);
3831 bool doesNoCfCheck() const { return hasFnAttr(Attribute::NoCfCheck); }
3834 bool doesNotThrow() const { return hasFnAttr(Attribute::NoUnwind); }
3836 addAttribute(AttributeList::FunctionIndex, Attribute::NoUnwind);
include/llvm/IR/IntrinsicInst.h 415 removeParamAttr(ARG_DEST, Attribute::Alignment);
417 addParamAttr(ARG_DEST, Attribute::getWithAlignment(getContext(),
464 BaseCL::removeParamAttr(ARG_SOURCE, Attribute::Alignment);
467 Attribute::getWithAlignment(BaseCL::getContext(),
include/llvm/IR/Statepoint.h 191 bool paramHasAttr(unsigned i, Attribute::AttrKind A) const {
451 bool isStatepointDirectiveAttr(Attribute Attr);
include/llvm/Support/AlignOf.h 30 T t;
39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
50 llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/Alignment.h 103 return Constant<std::alignment_of<T>::value>();
include/llvm/Support/TrailingObjects.h 77 enum { Alignment = alignof(First) };
134 : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
137 typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
141 static const bool value = alignof(PrevTy) < alignof(NextTy);
161 static const NextTy *
163 TrailingObjectsBase::OverloadToken<NextTy>) {
171 alignAddr(Ptr, Align::Of<NextTy>()));
176 static NextTy *
178 TrailingObjectsBase::OverloadToken<NextTy>) {
185 return reinterpret_cast<NextTy *>(alignAddr(Ptr, Align::Of<NextTy>()));
197 (requiresRealignment() ? llvm::alignTo<alignof(NextTy)>(SizeSoFar)
199 sizeof(NextTy) * Count1,
231 TrailingTys...>::Alignment,
232 BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
233 BaseTy, TrailingTys...> {
241 trailing_objects_internal::AlignmentCalcHelper<TrailingTys...>::Alignment,
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
302 template <typename T> const T *getTrailingObjects() const {
314 template <typename T> T *getTrailingObjects() {
332 TrailingTys, size_t>::type... Counts) {
342 std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
342 std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
344 TrailingTys, size_t>::type... Counts) {
include/llvm/Support/type_traits.h 91 T t;
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
145 std::is_copy_constructible<detail::trivial_helper<T>>::value;
147 !std::is_copy_constructible<T>::value;
151 std::is_move_constructible<detail::trivial_helper<T>>::value;
153 !std::is_move_constructible<T>::value;
157 is_copy_assignable<detail::trivial_helper<T>>::value;
159 !is_copy_assignable<T>::value;
163 is_move_assignable<detail::trivial_helper<T>>::value;
165 !is_move_assignable<T>::value;
169 std::is_destructible<detail::trivial_helper<T>>::value;
include/llvm/Transforms/IPO/Attributor.h 424 bool hasAttr(ArrayRef<Attribute::AttrKind> AKs,
432 void getAttrs(ArrayRef<Attribute::AttrKind> AKs,
433 SmallVectorImpl<Attribute> &Attrs) const;
436 Attribute getAttr(Attribute::AttrKind AK) const {
436 Attribute getAttr(Attribute::AttrKind AK) const {
452 void removeAttrs(ArrayRef<Attribute::AttrKind> AKs) {
464 for (Attribute::AttrKind AK : AKs)
930 Invalidate |= Fn->hasFnAttribute(Attribute::Naked) ||
931 Fn->hasFnAttribute(Attribute::OptimizeNone);
1324 const ArrayRef<Attribute> &DeducedAttrs);
1369 SmallVector<Attribute, 4> DeducedAttrs;
1375 Attribute::AttrKind getAttrKind() const { return AK; }
1379 SmallVectorImpl<Attribute> &Attrs) const {
1380 Attrs.emplace_back(Attribute::get(Ctx, getAttrKind()));
1532 : public IRAttribute<Attribute::Returned, AbstractAttribute> {
1571 : public IRAttribute<Attribute::NoUnwind,
1589 : public IRAttribute<Attribute::NoSync,
1608 : public IRAttribute<Attribute::NonNull,
1627 : public IRAttribute<Attribute::NoRecurse,
1646 : public IRAttribute<Attribute::WillReturn,
1665 : public IRAttribute<Attribute::NoAlias,
1684 : public IRAttribute<Attribute::NoFree,
1703 : public IRAttribute<Attribute::NoReturn,
1843 : public IRAttribute<Attribute::Dereferenceable,
1885 : public IRAttribute<Attribute::Alignment,
1904 : public IRAttribute<Attribute::NoCapture,
2003 : public IRAttribute<Attribute::ReadNone,
lib/Analysis/AliasAnalysis.cpp 870 return Call->hasRetAttr(Attribute::NoAlias);
lib/Analysis/BasicAliasAnalysis.cpp 773 if (Call->paramHasAttr(ArgIdx, Attribute::WriteOnly))
802 if (Call->paramHasAttr(ArgIdx, Attribute::ReadOnly))
805 if (Call->paramHasAttr(ArgIdx, Attribute::ReadNone))
885 !CI->getAttributes().hasAttrSomewhere(Attribute::ByVal))
lib/Analysis/BranchProbabilityInfo.cpp 200 if (CI->hasFnAttr(Attribute::Cold)) {
lib/Analysis/InlineCost.cpp 220 bool paramHasAttr(Argument *A, Attribute::AttrKind Attr);
757 bool CallAnalyzer::paramHasAttr(Argument *A, Attribute::AttrKind Attr) {
768 if (paramHasAttr(A, Attribute::NonNull))
918 if (Callee.hasFnAttribute(Attribute::InlineHint))
1232 if (Call.hasFnAttr(Attribute::ReturnsTwice) &&
1233 !F.hasFnAttribute(Attribute::ReturnsTwice)) {
2039 if (Call.hasFnAttr(Attribute::AlwaysInline)) {
2066 if (Callee->hasFnAttribute(Attribute::NoInline))
2092 bool ReturnsTwice = F.hasFnAttribute(Attribute::ReturnsTwice);
lib/Analysis/Lint.cpp 274 if (PAL.hasParamAttribute(ArgNo, Attribute::ByVal))
307 if (PAL.hasParamAttribute(ArgNo++, Attribute::ByVal))
lib/Analysis/MemoryBuiltins.cpp 211 Attribute Attr = Callee->getFnAttribute(Attribute::AllocSize);
211 Attribute Attr = Callee->getFnAttribute(Attribute::AllocSize);
229 return CS && CS.hasRetAttr(Attribute::NoAlias);
lib/Analysis/MemoryDependenceAnalysis.cpp 249 if (LI->getParent()->getParent()->hasFnAttribute(Attribute::SanitizeThread))
301 Attribute::SanitizeAddress) ||
303 Attribute::SanitizeHWAddress)))
lib/Analysis/ModuleSummaryAnalysis.cpp 464 F.hasFnAttribute(Attribute::ReadNone),
465 F.hasFnAttribute(Attribute::ReadOnly),
466 F.hasFnAttribute(Attribute::NoRecurse), F.returnDoesNotAlias(),
469 F.getAttributes().hasFnAttribute(Attribute::NoInline)};
702 F->hasFnAttribute(Attribute::ReadNone),
703 F->hasFnAttribute(Attribute::ReadOnly),
704 F->hasFnAttribute(Attribute::NoRecurse),
lib/Analysis/ProfileSummaryInfo.cpp 227 if (F->hasFnAttribute(Attribute::Cold))
lib/Analysis/ValueLatticeUtils.cpp 24 return F->hasExactDefinition() && !F->hasFnAttribute(Attribute::Naked);
lib/Analysis/ValueTracking.cpp 3887 return F.hasFnAttribute(Attribute::SanitizeThread) ||
3889 F.hasFnAttribute(Attribute::SanitizeAddress) ||
3890 F.hasFnAttribute(Attribute::SanitizeHWAddress);
4269 if (CS.hasFnAttr(Attribute::WillReturn))
lib/AsmParser/LLParser.cpp 144 FnAttrs.removeAttribute(Attribute::Alignment);
1269 case lltok::kw_alwaysinline: B.addAttribute(Attribute::AlwaysInline); break;
1270 case lltok::kw_argmemonly: B.addAttribute(Attribute::ArgMemOnly); break;
1271 case lltok::kw_builtin: B.addAttribute(Attribute::Builtin); break;
1272 case lltok::kw_cold: B.addAttribute(Attribute::Cold); break;
1273 case lltok::kw_convergent: B.addAttribute(Attribute::Convergent); break;
1275 B.addAttribute(Attribute::InaccessibleMemOnly); break;
1277 B.addAttribute(Attribute::InaccessibleMemOrArgMemOnly); break;
1278 case lltok::kw_inlinehint: B.addAttribute(Attribute::InlineHint); break;
1279 case lltok::kw_jumptable: B.addAttribute(Attribute::JumpTable); break;
1280 case lltok::kw_minsize: B.addAttribute(Attribute::MinSize); break;
1281 case lltok::kw_naked: B.addAttribute(Attribute::Naked); break;
1282 case lltok::kw_nobuiltin: B.addAttribute(Attribute::NoBuiltin); break;
1283 case lltok::kw_noduplicate: B.addAttribute(Attribute::NoDuplicate); break;
1284 case lltok::kw_nofree: B.addAttribute(Attribute::NoFree); break;
1286 B.addAttribute(Attribute::NoImplicitFloat); break;
1287 case lltok::kw_noinline: B.addAttribute(Attribute::NoInline); break;
1288 case lltok::kw_nonlazybind: B.addAttribute(Attribute::NonLazyBind); break;
1289 case lltok::kw_noredzone: B.addAttribute(Attribute::NoRedZone); break;
1290 case lltok::kw_noreturn: B.addAttribute(Attribute::NoReturn); break;
1291 case lltok::kw_nosync: B.addAttribute(Attribute::NoSync); break;
1292 case lltok::kw_nocf_check: B.addAttribute(Attribute::NoCfCheck); break;
1293 case lltok::kw_norecurse: B.addAttribute(Attribute::NoRecurse); break;
1294 case lltok::kw_nounwind: B.addAttribute(Attribute::NoUnwind); break;
1296 B.addAttribute(Attribute::OptForFuzzing); break;
1297 case lltok::kw_optnone: B.addAttribute(Attribute::OptimizeNone); break;
1298 case lltok::kw_optsize: B.addAttribute(Attribute::OptimizeForSize); break;
1299 case lltok::kw_readnone: B.addAttribute(Attribute::ReadNone); break;
1300 case lltok::kw_readonly: B.addAttribute(Attribute::ReadOnly); break;
1302 B.addAttribute(Attribute::ReturnsTwice); break;
1303 case lltok::kw_speculatable: B.addAttribute(Attribute::Speculatable); break;
1304 case lltok::kw_ssp: B.addAttribute(Attribute::StackProtect); break;
1305 case lltok::kw_sspreq: B.addAttribute(Attribute::StackProtectReq); break;
1307 B.addAttribute(Attribute::StackProtectStrong); break;
1308 case lltok::kw_safestack: B.addAttribute(Attribute::SafeStack); break;
1310 B.addAttribute(Attribute::ShadowCallStack); break;
1312 B.addAttribute(Attribute::SanitizeAddress); break;
1314 B.addAttribute(Attribute::SanitizeHWAddress); break;
1316 B.addAttribute(Attribute::SanitizeMemTag); break;
1318 B.addAttribute(Attribute::SanitizeThread); break;
1320 B.addAttribute(Attribute::SanitizeMemory); break;
1322 B.addAttribute(Attribute::SpeculativeLoadHardening);
1324 case lltok::kw_strictfp: B.addAttribute(Attribute::StrictFP); break;
1325 case lltok::kw_uwtable: B.addAttribute(Attribute::UWTable); break;
1326 case lltok::kw_willreturn: B.addAttribute(Attribute::WillReturn); break;
1327 case lltok::kw_writeonly: B.addAttribute(Attribute::WriteOnly); break;
1634 case lltok::kw_inalloca: B.addAttribute(Attribute::InAlloca); break;
1635 case lltok::kw_inreg: B.addAttribute(Attribute::InReg); break;
1636 case lltok::kw_nest: B.addAttribute(Attribute::Nest); break;
1637 case lltok::kw_noalias: B.addAttribute(Attribute::NoAlias); break;
1638 case lltok::kw_nocapture: B.addAttribute(Attribute::NoCapture); break;
1639 case lltok::kw_nonnull: B.addAttribute(Attribute::NonNull); break;
1640 case lltok::kw_readnone: B.addAttribute(Attribute::ReadNone); break;
1641 case lltok::kw_readonly: B.addAttribute(Attribute::ReadOnly); break;
1642 case lltok::kw_returned: B.addAttribute(Attribute::Returned); break;
1643 case lltok::kw_signext: B.addAttribute(Attribute::SExt); break;
1644 case lltok::kw_sret: B.addAttribute(Attribute::StructRet); break;
1645 case lltok::kw_swifterror: B.addAttribute(Attribute::SwiftError); break;
1646 case lltok::kw_swiftself: B.addAttribute(Attribute::SwiftSelf); break;
1647 case lltok::kw_writeonly: B.addAttribute(Attribute::WriteOnly); break;
1648 case lltok::kw_zeroext: B.addAttribute(Attribute::ZExt); break;
1649 case lltok::kw_immarg: B.addAttribute(Attribute::ImmArg); break;
1730 case lltok::kw_inreg: B.addAttribute(Attribute::InReg); break;
1731 case lltok::kw_noalias: B.addAttribute(Attribute::NoAlias); break;
1732 case lltok::kw_nonnull: B.addAttribute(Attribute::NonNull); break;
1733 case lltok::kw_signext: B.addAttribute(Attribute::SExt); break;
1734 case lltok::kw_zeroext: B.addAttribute(Attribute::ZExt); break;
5409 if (FuncAttrs.contains(Attribute::Builtin))
5415 FuncAttrs.removeAttribute(Attribute::Alignment);
5432 if (PAL.hasAttribute(1, Attribute::StructRet) && !RetType->isVoidTy())
lib/Bitcode/Reader/BitcodeReader.cpp 726 Error parseAttrKind(uint64_t Code, Attribute::AttrKind *Kind);
1215 static uint64_t getRawAttributeMask(Attribute::AttrKind Val) {
1217 case Attribute::EndAttrKinds:
1220 case Attribute::None: return 0;
1221 case Attribute::ZExt: return 1 << 0;
1222 case Attribute::SExt: return 1 << 1;
1223 case Attribute::NoReturn: return 1 << 2;
1224 case Attribute::InReg: return 1 << 3;
1225 case Attribute::StructRet: return 1 << 4;
1226 case Attribute::NoUnwind: return 1 << 5;
1227 case Attribute::NoAlias: return 1 << 6;
1228 case Attribute::ByVal: return 1 << 7;
1229 case Attribute::Nest: return 1 << 8;
1230 case Attribute::ReadNone: return 1 << 9;
1231 case Attribute::ReadOnly: return 1 << 10;
1232 case Attribute::NoInline: return 1 << 11;
1233 case Attribute::AlwaysInline: return 1 << 12;
1234 case Attribute::OptimizeForSize: return 1 << 13;
1235 case Attribute::StackProtect: return 1 << 14;
1236 case Attribute::StackProtectReq: return 1 << 15;
1237 case Attribute::Alignment: return 31 << 16;
1238 case Attribute::NoCapture: return 1 << 21;
1239 case Attribute::NoRedZone: return 1 << 22;
1240 case Attribute::NoImplicitFloat: return 1 << 23;
1241 case Attribute::Naked: return 1 << 24;
1242 case Attribute::InlineHint: return 1 << 25;
1243 case Attribute::StackAlignment: return 7 << 26;
1244 case Attribute::ReturnsTwice: return 1 << 29;
1245 case Attribute::UWTable: return 1 << 30;
1246 case Attribute::NonLazyBind: return 1U << 31;
1247 case Attribute::SanitizeAddress: return 1ULL << 32;
1248 case Attribute::MinSize: return 1ULL << 33;
1249 case Attribute::NoDuplicate: return 1ULL << 34;
1250 case Attribute::StackProtectStrong: return 1ULL << 35;
1251 case Attribute::SanitizeThread: return 1ULL << 36;
1252 case Attribute::SanitizeMemory: return 1ULL << 37;
1253 case Attribute::NoBuiltin: return 1ULL << 38;
1254 case Attribute::Returned: return 1ULL << 39;
1255 case Attribute::Cold: return 1ULL << 40;
1256 case Attribute::Builtin: return 1ULL << 41;
1257 case Attribute::OptimizeNone: return 1ULL << 42;
1258 case Attribute::InAlloca: return 1ULL << 43;
1259 case Attribute::NonNull: return 1ULL << 44;
1260 case Attribute::JumpTable: return 1ULL << 45;
1261 case Attribute::Convergent: return 1ULL << 46;
1262 case Attribute::SafeStack: return 1ULL << 47;
1263 case Attribute::NoRecurse: return 1ULL << 48;
1264 case Attribute::InaccessibleMemOnly: return 1ULL << 49;
1265 case Attribute::InaccessibleMemOrArgMemOnly: return 1ULL << 50;
1266 case Attribute::SwiftSelf: return 1ULL << 51;
1267 case Attribute::SwiftError: return 1ULL << 52;
1268 case Attribute::WriteOnly: return 1ULL << 53;
1269 case Attribute::Speculatable: return 1ULL << 54;
1270 case Attribute::StrictFP: return 1ULL << 55;
1271 case Attribute::SanitizeHWAddress: return 1ULL << 56;
1272 case Attribute::NoCfCheck: return 1ULL << 57;
1273 case Attribute::OptForFuzzing: return 1ULL << 58;
1274 case Attribute::ShadowCallStack: return 1ULL << 59;
1275 case Attribute::SpeculativeLoadHardening:
1277 case Attribute::ImmArg:
1279 case Attribute::WillReturn:
1281 case Attribute::NoFree:
1283 case Attribute::NoSync:
1286 case Attribute::Dereferenceable:
1289 case Attribute::DereferenceableOrNull:
1293 case Attribute::ArgMemOnly:
1296 case Attribute::AllocSize:
1299 case Attribute::SanitizeMemTag:
1309 for (Attribute::AttrKind I = Attribute::None; I != Attribute::EndAttrKinds;
1309 for (Attribute::AttrKind I = Attribute::None; I != Attribute::EndAttrKinds;
1309 for (Attribute::AttrKind I = Attribute::None; I != Attribute::EndAttrKinds;
1311 if (I == Attribute::SanitizeMemTag ||
1312 I == Attribute::Dereferenceable ||
1313 I == Attribute::DereferenceableOrNull ||
1314 I == Attribute::ArgMemOnly ||
1315 I == Attribute::AllocSize ||
1316 I == Attribute::NoSync)
1319 if (I == Attribute::Alignment)
1321 else if (I == Attribute::StackAlignment)
1411 static Attribute::AttrKind getAttrFromCode(uint64_t Code) {
1414 return Attribute::None;
1416 return Attribute::Alignment;
1418 return Attribute::AlwaysInline;
1420 return Attribute::ArgMemOnly;
1422 return Attribute::Builtin;
1424 return Attribute::ByVal;
1426 return Attribute::InAlloca;
1428 return Attribute::Cold;
1430 return Attribute::Convergent;
1432 return Attribute::InaccessibleMemOnly;
1434 return Attribute::InaccessibleMemOrArgMemOnly;
1436 return Attribute::InlineHint;
1438 return Attribute::InReg;
1440 return Attribute::JumpTable;
1442 return Attribute::MinSize;
1444 return Attribute::Naked;
1446 return Attribute::Nest;
1448 return Attribute::NoAlias;
1450 return Attribute::NoBuiltin;
1452 return Attribute::NoCapture;
1454 return Attribute::NoDuplicate;
1456 return Attribute::NoFree;
1458 return Attribute::NoImplicitFloat;
1460 return Attribute::NoInline;
1462 return Attribute::NoRecurse;
1464 return Attribute::NonLazyBind;
1466 return Attribute::NonNull;
1468 return Attribute::Dereferenceable;
1470 return Attribute::DereferenceableOrNull;
1472 return Attribute::AllocSize;
1474 return Attribute::NoRedZone;
1476 return Attribute::NoReturn;
1478 return Attribute::NoSync;
1480 return Attribute::NoCfCheck;
1482 return Attribute::NoUnwind;
1484 return Attribute::OptForFuzzing;
1486 return Attribute::OptimizeForSize;
1488 return Attribute::OptimizeNone;
1490 return Attribute::ReadNone;
1492 return Attribute::ReadOnly;
1494 return Attribute::Returned;
1496 return Attribute::ReturnsTwice;
1498 return Attribute::SExt;
1500 return Attribute::Speculatable;
1502 return Attribute::StackAlignment;
1504 return Attribute::StackProtect;
1506 return Attribute::StackProtectReq;
1508 return Attribute::StackProtectStrong;
1510 return Attribute::SafeStack;
1512 return Attribute::ShadowCallStack;
1514 return Attribute::StrictFP;
1516 return Attribute::StructRet;
1518 return Attribute::SanitizeAddress;
1520 return Attribute::SanitizeHWAddress;
1522 return Attribute::SanitizeThread;
1524 return Attribute::SanitizeMemory;
1526 return Attribute::SpeculativeLoadHardening;
1528 return Attribute::SwiftError;
1530 return Attribute::SwiftSelf;
1532 return Attribute::UWTable;
1534 return Attribute::WillReturn;
1536 return Attribute::WriteOnly;
1538 return Attribute::ZExt;
1540 return Attribute::ImmArg;
1542 return Attribute::SanitizeMemTag;
1556 Error BitcodeReader::parseAttrKind(uint64_t Code, Attribute::AttrKind *Kind) {
1558 if (*Kind == Attribute::None)
1608 Attribute::AttrKind Kind;
1615 if (Kind == Attribute::ByVal)
1620 Attribute::AttrKind Kind;
1623 if (Kind == Attribute::Alignment)
1625 else if (Kind == Attribute::StackAlignment)
1627 else if (Kind == Attribute::Dereferenceable)
1629 else if (Kind == Attribute::DereferenceableOrNull)
1631 else if (Kind == Attribute::AllocSize)
1655 Attribute::AttrKind Kind;
1658 if (Kind == Attribute::ByVal)
3237 if (!Func->hasParamAttribute(i, Attribute::ByVal))
3241 Func->removeParamAttr(i, Attribute::ByVal);
3242 Func->addParamAttr(i, Attribute::getWithByValType(
3683 if (!CB->paramHasAttr(i, Attribute::ByVal))
3686 CB->removeParamAttr(i, Attribute::ByVal);
3688 i, Attribute::getWithByValType(
lib/Bitcode/Writer/BitcodeWriter.cpp 598 static uint64_t getAttrKindEncoding(Attribute::AttrKind Kind) {
600 case Attribute::Alignment:
602 case Attribute::AllocSize:
604 case Attribute::AlwaysInline:
606 case Attribute::ArgMemOnly:
608 case Attribute::Builtin:
610 case Attribute::ByVal:
612 case Attribute::Convergent:
614 case Attribute::InAlloca:
616 case Attribute::Cold:
618 case Attribute::InaccessibleMemOnly:
620 case Attribute::InaccessibleMemOrArgMemOnly:
622 case Attribute::InlineHint:
624 case Attribute::InReg:
626 case Attribute::JumpTable:
628 case Attribute::MinSize:
630 case Attribute::Naked:
632 case Attribute::Nest:
634 case Attribute::NoAlias:
636 case Attribute::NoBuiltin:
638 case Attribute::NoCapture:
640 case Attribute::NoDuplicate:
642 case Attribute::NoFree:
644 case Attribute::NoImplicitFloat:
646 case Attribute::NoInline:
648 case Attribute::NoRecurse:
650 case Attribute::NonLazyBind:
652 case Attribute::NonNull:
654 case Attribute::Dereferenceable:
656 case Attribute::DereferenceableOrNull:
658 case Attribute::NoRedZone:
660 case Attribute::NoReturn:
662 case Attribute::NoSync:
664 case Attribute::NoCfCheck:
666 case Attribute::NoUnwind:
668 case Attribute::OptForFuzzing:
670 case Attribute::OptimizeForSize:
672 case Attribute::OptimizeNone:
674 case Attribute::ReadNone:
676 case Attribute::ReadOnly:
678 case Attribute::Returned:
680 case Attribute::ReturnsTwice:
682 case Attribute::SExt:
684 case Attribute::Speculatable:
686 case Attribute::StackAlignment:
688 case Attribute::StackProtect:
690 case Attribute::StackProtectReq:
692 case Attribute::StackProtectStrong:
694 case Attribute::SafeStack:
696 case Attribute::ShadowCallStack:
698 case Attribute::StrictFP:
700 case Attribute::StructRet:
702 case Attribute::SanitizeAddress:
704 case Attribute::SanitizeHWAddress:
706 case Attribute::SanitizeThread:
708 case Attribute::SanitizeMemory:
710 case Attribute::SpeculativeLoadHardening:
712 case Attribute::SwiftError:
714 case Attribute::SwiftSelf:
716 case Attribute::UWTable:
718 case Attribute::WillReturn:
720 case Attribute::WriteOnly:
722 case Attribute::ZExt:
724 case Attribute::ImmArg:
726 case Attribute::SanitizeMemTag:
728 case Attribute::EndAttrKinds:
730 case Attribute::None:
751 for (Attribute Attr : AS) {
lib/Bitcode/Writer/ValueEnumerator.cpp 954 if (I.hasAttribute(Attribute::ByVal))
lib/CodeGen/Analysis.cpp 572 CallerAttrs.removeAttribute(Attribute::NoAlias);
573 CalleeAttrs.removeAttribute(Attribute::NoAlias);
574 CallerAttrs.removeAttribute(Attribute::NonNull);
575 CalleeAttrs.removeAttribute(Attribute::NonNull);
577 if (CallerAttrs.contains(Attribute::ZExt)) {
578 if (!CalleeAttrs.contains(Attribute::ZExt))
582 CallerAttrs.removeAttribute(Attribute::ZExt);
583 CalleeAttrs.removeAttribute(Attribute::ZExt);
584 } else if (CallerAttrs.contains(Attribute::SExt)) {
585 if (!CalleeAttrs.contains(Attribute::SExt))
589 CallerAttrs.removeAttribute(Attribute::SExt);
590 CalleeAttrs.removeAttribute(Attribute::SExt);
604 CalleeAttrs.removeAttribute(Attribute::SExt);
605 CalleeAttrs.removeAttribute(Attribute::ZExt);
lib/CodeGen/AsmPrinter/AsmPrinter.cpp 676 if (F.hasFnAttribute(Attribute::Cold))
3182 auto Attr = F.getFnAttribute("function-instrument");
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp 1385 if (GV.hasFnAttribute(Attribute::InlineHint))
1387 if (GV.hasFnAttribute(Attribute::Naked))
lib/CodeGen/AtomicExpandPass.cpp 1763 Attr = Attr.addAttribute(Ctx, AttributeList::ReturnIndex, Attribute::ZExt);
lib/CodeGen/CFGuardLongjmp.cpp 92 if (F->hasFnAttribute(Attribute::ReturnsTwice)) {
lib/CodeGen/CodeGenPrepare.cpp 1845 if (!OptSize && CI->hasFnAttr(Attribute::Cold))
4474 if (!OptSize && CI->hasFnAttr(Attribute::Cold))
lib/CodeGen/GlobalISel/CallLowering.cpp 79 if (Attrs.hasAttribute(OpIdx, Attribute::ZExt))
81 if (Attrs.hasAttribute(OpIdx, Attribute::SExt))
83 if (Attrs.hasAttribute(OpIdx, Attribute::InReg))
85 if (Attrs.hasAttribute(OpIdx, Attribute::StructRet))
87 if (Attrs.hasAttribute(OpIdx, Attribute::SwiftSelf))
89 if (Attrs.hasAttribute(OpIdx, Attribute::SwiftError))
91 if (Attrs.hasAttribute(OpIdx, Attribute::ByVal))
93 if (Attrs.hasAttribute(OpIdx, Attribute::InAlloca))
99 auto Ty = Attrs.getAttribute(OpIdx, Attribute::ByVal).getValueAsType();
111 if (Attrs.hasAttribute(OpIdx, Attribute::Nest))
lib/CodeGen/GlobalISel/IRTranslator.cpp 1633 if (CI.paramHasAttr(Arg.index(), Attribute::ImmArg)) {
lib/CodeGen/GlobalISel/LegalizerHelper.cpp 340 .removeAttribute(Attribute::NoAlias)
341 .removeAttribute(Attribute::NonNull)
346 if (CallerAttrs.hasAttribute(AttributeList::ReturnIndex, Attribute::ZExt) ||
347 CallerAttrs.hasAttribute(AttributeList::ReturnIndex, Attribute::SExt))
lib/CodeGen/MachineFunction.cpp 129 if (F.hasFnAttribute(Attribute::StackAlignment))
170 F.hasFnAttribute(Attribute::StackAlignment));
172 if (F.hasFnAttribute(Attribute::StackAlignment))
180 if (!F.hasFnAttribute(Attribute::OptimizeForSize))
lib/CodeGen/MachineOutliner.cpp 1113 F->addFnAttr(Attribute::OptimizeForSize);
1114 F->addFnAttr(Attribute::MinSize);
1305 if (F.hasFnAttribute(Attribute::NoReturn))
lib/CodeGen/MachinePipeliner.cpp 203 AttributeList::FunctionIndex, Attribute::OptimizeForSize) &&
lib/CodeGen/MachineRegisterInfo.cpp 579 if (MF.getFunction().hasFnAttribute(Attribute::UWTable))
582 return !(Called == nullptr || !Called->hasFnAttribute(Attribute::NoReturn) ||
583 !Called->hasFnAttribute(Attribute::NoUnwind));
lib/CodeGen/MachineVerifier.cpp 1361 bool DeclHasSideEffects = !Attrs.hasFnAttribute(Attribute::ReadNone);
lib/CodeGen/PatchableFunction.cpp 61 Attribute PatchAttr = MF.getFunction().getFnAttribute("patchable-function");
lib/CodeGen/PreISelIntrinsicLowering.cpp 74 Fn->addFnAttr(Attribute::NonLazyBind);
lib/CodeGen/PrologEpilogInserter.cpp 254 if (!F.hasFnAttribute(Attribute::Naked))
612 if (!F.hasFnAttribute(Attribute::Naked)) {
lib/CodeGen/SafeStack.cpp 710 if (CS.hasFnAttr(Attribute::AlwaysInline) && isInlineViable(*Callee))
712 if (Callee->isInterposable() || Callee->hasFnAttribute(Attribute::NoInline) ||
793 if (F.hasFnAttribute(Attribute::StackProtect) ||
794 F.hasFnAttribute(Attribute::StackProtectStrong) ||
795 F.hasFnAttribute(Attribute::StackProtectReq)) {
856 if (!F.hasFnAttribute(Attribute::SafeStack)) {
lib/CodeGen/SelectionDAG/DAGCombiner.cpp12794 Attribute StrictOverflow = F.getFnAttribute("strict-float-cast-overflow");
15497 Attribute::NoImplicitFloat);
20442 Attribute Denorms = F.getFnAttribute("denormal-fp-math");
lib/CodeGen/SelectionDAG/FastISel.cpp 1084 SmallVector<Attribute::AttrKind, 2> Attrs;
1086 Attrs.push_back(Attribute::SExt);
1088 Attrs.push_back(Attribute::ZExt);
1090 Attrs.push_back(Attribute::InReg);
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 1837 Attribute::SExt))
1840 Attribute::ZExt))
1845 AttributeList::ReturnIndex, Attribute::InReg);
1899 F->getAttributes().hasAttrSomewhere(Attribute::SwiftError)) {
2540 if (GuardCheckFn->hasAttribute(1, Attribute::AttrKind::InReg))
4796 if (!I.paramHasAttr(i, Attribute::ImmArg)) {
7114 Caller->getAttributes().hasAttrSomewhere(Attribute::SwiftError))
8970 SmallVector<Attribute::AttrKind, 2> Attrs;
8972 Attrs.push_back(Attribute::SExt);
8974 Attrs.push_back(Attribute::ZExt);
8976 Attrs.push_back(Attribute::InReg);
9618 if (Arg.hasAttribute(Attribute::ByVal))
9639 if (Arg.hasAttribute(Attribute::ZExt))
9641 if (Arg.hasAttribute(Attribute::SExt))
9643 if (Arg.hasAttribute(Attribute::InReg)) {
9656 if (Arg.hasAttribute(Attribute::StructRet))
9658 if (Arg.hasAttribute(Attribute::SwiftSelf))
9660 if (Arg.hasAttribute(Attribute::SwiftError))
9662 if (Arg.hasAttribute(Attribute::ByVal))
9664 if (Arg.hasAttribute(Attribute::InAlloca)) {
9694 if (Arg.hasAttribute(Attribute::Nest))
9701 if (Arg.hasAttribute(Attribute::Returned))
9802 Arg.hasAttribute(Attribute::SwiftError);
9824 if (Arg.hasAttribute(Attribute::SExt))
9826 else if (Arg.hasAttribute(Attribute::ZExt))
lib/CodeGen/SelectionDAG/TargetLowering.cpp 60 .removeAttribute(Attribute::NoAlias)
61 .removeAttribute(Attribute::NonNull)
66 if (CallerAttrs.hasAttribute(AttributeList::ReturnIndex, Attribute::ZExt) ||
67 CallerAttrs.hasAttribute(AttributeList::ReturnIndex, Attribute::SExt))
103 IsSExt = Call->paramHasAttr(ArgIdx, Attribute::SExt);
104 IsZExt = Call->paramHasAttr(ArgIdx, Attribute::ZExt);
105 IsInReg = Call->paramHasAttr(ArgIdx, Attribute::InReg);
106 IsSRet = Call->paramHasAttr(ArgIdx, Attribute::StructRet);
107 IsNest = Call->paramHasAttr(ArgIdx, Attribute::Nest);
108 IsByVal = Call->paramHasAttr(ArgIdx, Attribute::ByVal);
109 IsInAlloca = Call->paramHasAttr(ArgIdx, Attribute::InAlloca);
110 IsReturned = Call->paramHasAttr(ArgIdx, Attribute::Returned);
111 IsSwiftSelf = Call->paramHasAttr(ArgIdx, Attribute::SwiftSelf);
112 IsSwiftError = Call->paramHasAttr(ArgIdx, Attribute::SwiftError);
115 if (Call->paramHasAttr(ArgIdx, Attribute::ByVal))
3866 if (!isIntDivCheap(VT, Attr) && !Attr.hasFnAttribute(Attribute::MinSize)) {
lib/CodeGen/ShrinkWrap.cpp 604 !(MF.getFunction().hasFnAttribute(Attribute::SanitizeAddress) ||
605 MF.getFunction().hasFnAttribute(Attribute::SanitizeThread) ||
606 MF.getFunction().hasFnAttribute(Attribute::SanitizeMemory) ||
607 MF.getFunction().hasFnAttribute(Attribute::SanitizeHWAddress));
lib/CodeGen/StackProtector.cpp 89 Attribute Attr = Fn.getFnAttribute("stack-protector-buffer-size");
251 if (F->hasFnAttribute(Attribute::SafeStack))
259 if (F->hasFnAttribute(Attribute::StackProtectReq)) {
268 } else if (F->hasFnAttribute(Attribute::StackProtectStrong))
272 else if (!F->hasFnAttribute(Attribute::StackProtect))
lib/CodeGen/SwiftErrorValueTracking.cpp 307 if (!F->getAttributes().hasAttrSomewhere(Attribute::SwiftError))
lib/CodeGen/TargetFrameLoweringImpl.cpp 101 if (MF.getFunction().hasFnAttribute(Attribute::Naked))
111 if (MF.getFunction().hasFnAttribute(Attribute::NoReturn) &&
112 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) &&
113 !MF.getFunction().hasFnAttribute(Attribute::UWTable) &&
139 !F.hasFnAttribute(Attribute::NoRecurse))
lib/CodeGen/TargetLoweringBase.cpp 1476 if (attr.hasAttribute(AttributeList::ReturnIndex, Attribute::SExt))
1478 else if (attr.hasAttribute(AttributeList::ReturnIndex, Attribute::ZExt))
1498 if (attr.hasAttribute(AttributeList::ReturnIndex, Attribute::InReg))
1502 if (attr.hasAttribute(AttributeList::ReturnIndex, Attribute::SExt))
1504 else if (attr.hasAttribute(AttributeList::ReturnIndex, Attribute::ZExt))
lib/CodeGen/TargetRegisterInfo.cpp 453 F.hasFnAttribute(Attribute::StackAlignment));
lib/CodeGen/XRayInstrumentation.cpp 146 auto InstrAttr = F.getFnAttribute("function-instrument");
147 bool AlwaysInstrument = !InstrAttr.hasAttribute(Attribute::None) &&
150 Attribute Attr = F.getFnAttribute("xray-instruction-threshold");
153 if (Attr.hasAttribute(Attribute::None) || !Attr.isStringAttribute())
lib/IR/AsmWriter.cpp 3412 for (const Attribute &Attr : AS) {
lib/IR/AttributeImpl.h 63 bool hasAttribute(Attribute::AttrKind A) const;
66 Attribute::AttrKind getKindAsEnum() const;
88 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind,
99 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind,
116 Attribute::AttrKind Kind;
119 EnumAttributeImpl(AttrEntryKind ID, Attribute::AttrKind Kind)
123 EnumAttributeImpl(Attribute::AttrKind Kind)
126 Attribute::AttrKind getEnumKind() const { return Kind; }
135 IntAttributeImpl(Attribute::AttrKind Kind, uint64_t Val)
167 TypeAttributeImpl(Attribute::AttrKind Kind, Type *Ty)
179 private TrailingObjects<AttributeSetNode, Attribute> {
186 AttributeSetNode(ArrayRef<Attribute> Attrs);
197 static AttributeSetNode *get(LLVMContext &C, ArrayRef<Attribute> Attrs);
202 bool hasAttribute(Attribute::AttrKind Kind) const {
208 Attribute getAttribute(Attribute::AttrKind Kind) const;
208 Attribute getAttribute(Attribute::AttrKind Kind) const;
209 Attribute getAttribute(StringRef Kind) const;
219 using iterator = const Attribute *;
221 iterator begin() const { return getTrailingObjects<Attribute>(); }
228 static void Profile(FoldingSetNodeID &ID, ArrayRef<Attribute> AttrList) {
229 for (const auto &Attr : AttrList)
269 bool hasFnAttribute(Attribute::AttrKind Kind) const {
lib/IR/Attributes.cpp 80 Attribute Attribute::get(LLVMContext &Context, Attribute::AttrKind Kind,
80 Attribute Attribute::get(LLVMContext &Context, Attribute::AttrKind Kind,
104 Attribute Attribute::get(LLVMContext &Context, StringRef Kind, StringRef Val) {
124 Attribute Attribute::get(LLVMContext &Context, Attribute::AttrKind Kind,
124 Attribute Attribute::get(LLVMContext &Context, Attribute::AttrKind Kind,
145 Attribute Attribute::getWithAlignment(LLVMContext &Context, Align A) {
150 Attribute Attribute::getWithStackAlignment(LLVMContext &Context, Align A) {
155 Attribute Attribute::getWithDereferenceableBytes(LLVMContext &Context,
161 Attribute Attribute::getWithDereferenceableOrNullBytes(LLVMContext &Context,
167 Attribute Attribute::getWithByValType(LLVMContext &Context, Type *Ty) {
171 Attribute
199 Attribute::AttrKind Attribute::getKindAsEnum() const {
279 if (hasAttribute(Attribute::SanitizeAddress))
281 if (hasAttribute(Attribute::SanitizeHWAddress))
283 if (hasAttribute(Attribute::SanitizeMemTag))
285 if (hasAttribute(Attribute::AlwaysInline))
287 if (hasAttribute(Attribute::ArgMemOnly))
289 if (hasAttribute(Attribute::Builtin))
291 if (hasAttribute(Attribute::Convergent))
293 if (hasAttribute(Attribute::SwiftError))
295 if (hasAttribute(Attribute::SwiftSelf))
297 if (hasAttribute(Attribute::InaccessibleMemOnly))
299 if (hasAttribute(Attribute::InaccessibleMemOrArgMemOnly))
301 if (hasAttribute(Attribute::InAlloca))
303 if (hasAttribute(Attribute::InlineHint))
305 if (hasAttribute(Attribute::InReg))
307 if (hasAttribute(Attribute::JumpTable))
309 if (hasAttribute(Attribute::MinSize))
311 if (hasAttribute(Attribute::Naked))
313 if (hasAttribute(Attribute::Nest))
315 if (hasAttribute(Attribute::NoAlias))
317 if (hasAttribute(Attribute::NoBuiltin))
319 if (hasAttribute(Attribute::NoCapture))
321 if (hasAttribute(Attribute::NoDuplicate))
323 if (hasAttribute(Attribute::NoFree))
325 if (hasAttribute(Attribute::NoImplicitFloat))
327 if (hasAttribute(Attribute::NoInline))
329 if (hasAttribute(Attribute::NonLazyBind))
331 if (hasAttribute(Attribute::NonNull))
333 if (hasAttribute(Attribute::NoRedZone))
335 if (hasAttribute(Attribute::NoReturn))
337 if (hasAttribute(Attribute::NoSync))
339 if (hasAttribute(Attribute::WillReturn))
341 if (hasAttribute(Attribute::NoCfCheck))
343 if (hasAttribute(Attribute::NoRecurse))
345 if (hasAttribute(Attribute::NoUnwind))
347 if (hasAttribute(Attribute::OptForFuzzing))
349 if (hasAttribute(Attribute::OptimizeNone))
351 if (hasAttribute(Attribute::OptimizeForSize))
353 if (hasAttribute(Attribute::ReadNone))
355 if (hasAttribute(Attribute::ReadOnly))
357 if (hasAttribute(Attribute::WriteOnly))
359 if (hasAttribute(Attribute::Returned))
361 if (hasAttribute(Attribute::ReturnsTwice))
363 if (hasAttribute(Attribute::SExt))
365 if (hasAttribute(Attribute::SpeculativeLoadHardening))
367 if (hasAttribute(Attribute::Speculatable))
369 if (hasAttribute(Attribute::StackProtect))
371 if (hasAttribute(Attribute::StackProtectReq))
373 if (hasAttribute(Attribute::StackProtectStrong))
375 if (hasAttribute(Attribute::SafeStack))
377 if (hasAttribute(Attribute::ShadowCallStack))
379 if (hasAttribute(Attribute::StrictFP))
381 if (hasAttribute(Attribute::StructRet))
383 if (hasAttribute(Attribute::SanitizeThread))
385 if (hasAttribute(Attribute::SanitizeMemory))
387 if (hasAttribute(Attribute::UWTable))
389 if (hasAttribute(Attribute::ZExt))
391 if (hasAttribute(Attribute::Cold))
393 if (hasAttribute(Attribute::ImmArg))
396 if (hasAttribute(Attribute::ByVal)) {
414 if (hasAttribute(Attribute::Alignment)) {
436 if (hasAttribute(Attribute::StackAlignment))
439 if (hasAttribute(Attribute::Dereferenceable))
442 if (hasAttribute(Attribute::DereferenceableOrNull))
445 if (hasAttribute(Attribute::AllocSize)) {
487 bool Attribute::operator<(Attribute A) const {
509 bool AttributeImpl::hasAttribute(Attribute::AttrKind A) const {
519 Attribute::AttrKind AttributeImpl::getKindAsEnum() const {
593 AttributeSet AttributeSet::get(LLVMContext &C, ArrayRef<Attribute> Attrs) {
598 Attribute::AttrKind Kind) const {
621 for (const auto I : *this)
628 Attribute::AttrKind Kind) const {
654 bool AttributeSet::hasAttribute(Attribute::AttrKind Kind) const {
662 Attribute AttributeSet::getAttribute(Attribute::AttrKind Kind) const {
662 Attribute AttributeSet::getAttribute(Attribute::AttrKind Kind) const {
666 Attribute AttributeSet::getAttribute(StringRef Kind) const {
719 AttributeSetNode::AttributeSetNode(ArrayRef<Attribute> Attrs)
722 llvm::copy(Attrs, getTrailingObjects<Attribute>());
724 static_assert(Attribute::EndAttrKinds <=
728 for (const auto I : *this) {
730 Attribute::AttrKind Kind = I.getKindAsEnum();
737 ArrayRef<Attribute> Attrs) {
745 SmallVector<Attribute, 8> SortedAttrs(Attrs.begin(), Attrs.end());
748 for (const auto Attr : SortedAttrs)
759 void *Mem = ::operator new(totalSizeToAlloc<Attribute>(SortedAttrs.size()));
770 SmallVector<Attribute, 8> Attrs;
771 for (Attribute::AttrKind Kind = Attribute::None;
771 for (Attribute::AttrKind Kind = Attribute::None;
772 Kind != Attribute::EndAttrKinds; Kind = Attribute::AttrKind(Kind + 1)) {
776 Attribute Attr;
778 case Attribute::ByVal:
779 Attr = Attribute::getWithByValType(C, B.getByValType());
781 case Attribute::Alignment:
783 Attr = Attribute::getWithAlignment(C, *B.getAlignment());
785 case Attribute::StackAlignment:
787 Attr = Attribute::getWithStackAlignment(C, *B.getStackAlignment());
789 case Attribute::Dereferenceable:
790 Attr = Attribute::getWithDereferenceableBytes(
793 case Attribute::DereferenceableOrNull:
794 Attr = Attribute::getWithDereferenceableOrNullBytes(
797 case Attribute::AllocSize: {
799 Attr = Attribute::getWithAllocSizeArgs(C, A.first, A.second);
803 Attr = Attribute::get(C, Kind);
810 Attrs.emplace_back(Attribute::get(C, TDA.first, TDA.second));
816 for (const auto I : *this)
822 Attribute AttributeSetNode::getAttribute(Attribute::AttrKind Kind) const {
822 Attribute AttributeSetNode::getAttribute(Attribute::AttrKind Kind) const {
824 for (const auto I : *this)
831 Attribute AttributeSetNode::getAttribute(StringRef Kind) const {
832 for (const auto I : *this)
839 for (const auto I : *this)
840 if (I.hasAttribute(Attribute::Alignment))
846 for (const auto I : *this)
847 if (I.hasAttribute(Attribute::StackAlignment))
853 for (const auto I : *this)
854 if (I.hasAttribute(Attribute::ByVal))
860 for (const auto I : *this)
861 if (I.hasAttribute(Attribute::Dereferenceable))
867 for (const auto I : *this)
868 if (I.hasAttribute(Attribute::DereferenceableOrNull))
875 for (const auto I : *this)
876 if (I.hasAttribute(Attribute::AllocSize))
912 static_assert(Attribute::EndAttrKinds <=
917 for (const auto I : Sets[0]) {
919 Attribute::AttrKind Kind = I.getKindAsEnum();
973 ArrayRef<std::pair<unsigned, Attribute>> Attrs) {
992 for (ArrayRef<std::pair<unsigned, Attribute>>::iterator I = Attrs.begin(),
995 SmallVector<Attribute, 4> AttrVec;
1091 ArrayRef<Attribute::AttrKind> Kinds) {
1092 SmallVector<std::pair<unsigned, Attribute>, 8> Attrs;
1094 Attrs.emplace_back(Index, Attribute::get(C, K));
1100 SmallVector<std::pair<unsigned, Attribute>, 8> Attrs;
1102 Attrs.emplace_back(Index, Attribute::get(C, K));
1133 Attribute::AttrKind Kind) const {
1149 Attribute A) const {
1186 Attribute A) const {
1205 Attribute::AttrKind Kind) const {
1302 Attribute::AttrKind Kind) const {
1314 bool AttributeList::hasFnAttribute(Attribute::AttrKind Kind) const {
1323 Attribute::AttrKind Kind) const {
1327 bool AttributeList::hasAttrSomewhere(Attribute::AttrKind Attr,
1342 Attribute AttributeList::getAttribute(unsigned Index,
1343 Attribute::AttrKind Kind) const {
1347 Attribute AttributeList::getAttribute(unsigned Index, StringRef Kind) const {
1427 for (const auto &A : AS)
1432 for (const auto &A : AS)
1446 AttrBuilder &AttrBuilder::addAttribute(Attribute::AttrKind Val) {
1455 AttrBuilder &AttrBuilder::addAttribute(Attribute Attr) {
1461 Attribute::AttrKind Kind = Attr.getKindAsEnum();
1464 if (Kind == Attribute::Alignment)
1466 else if (Kind == Attribute::StackAlignment)
1468 else if (Kind == Attribute::ByVal)
1470 else if (Kind == Attribute::Dereferenceable)
1472 else if (Kind == Attribute::DereferenceableOrNull)
1474 else if (Kind == Attribute::AllocSize)
1484 AttrBuilder &AttrBuilder::removeAttribute(Attribute::AttrKind Val) {
1488 if (Val == Attribute::Alignment)
1490 else if (Val == Attribute::StackAlignment)
1492 else if (Val == Attribute::ByVal)
1494 else if (Val == Attribute::Dereferenceable)
1496 else if (Val == Attribute::DereferenceableOrNull)
1498 else if (Val == Attribute::AllocSize)
1526 Attrs[Attribute::Alignment] = true;
1538 Attrs[Attribute::StackAlignment] = true;
1546 Attrs[Attribute::Dereferenceable] = true;
1555 Attrs[Attribute::DereferenceableOrNull] = true;
1569 Attrs[Attribute::AllocSize] = true;
1577 Attrs[Attribute::ByVal] = true;
1662 for (const auto Attr : AS) {
1702 Incompatible.addAttribute(Attribute::SExt)
1703 .addAttribute(Attribute::ZExt);
1707 Incompatible.addAttribute(Attribute::ByVal)
1708 .addAttribute(Attribute::Nest)
1709 .addAttribute(Attribute::NoAlias)
1710 .addAttribute(Attribute::NoCapture)
1711 .addAttribute(Attribute::NonNull)
1714 .addAttribute(Attribute::ReadNone)
1715 .addAttribute(Attribute::ReadOnly)
1716 .addAttribute(Attribute::StructRet)
1717 .addAttribute(Attribute::InAlloca);
1759 OldSSPAttr.addAttribute(Attribute::StackProtect)
1760 .addAttribute(Attribute::StackProtectStrong)
1761 .addAttribute(Attribute::StackProtectReq);
1763 if (Callee.hasFnAttribute(Attribute::StackProtectReq)) {
1765 Caller.addFnAttr(Attribute::StackProtectReq);
1766 } else if (Callee.hasFnAttribute(Attribute::StackProtectStrong) &&
1767 !Caller.hasFnAttribute(Attribute::StackProtectReq)) {
1769 Caller.addFnAttr(Attribute::StackProtectStrong);
1770 } else if (Callee.hasFnAttribute(Attribute::StackProtect) &&
1771 !Caller.hasFnAttribute(Attribute::StackProtectReq) &&
1772 !Caller.hasFnAttribute(Attribute::StackProtectStrong))
1773 Caller.addFnAttr(Attribute::StackProtect);
lib/IR/Core.cpp 138 return Attribute::AttrKind::EndAttrKinds;
146 if (AttrKind == Attribute::AttrKind::ByVal) {
149 return wrap(Attribute::getWithByValType(Ctx, NULL));
151 return wrap(Attribute::get(Ctx, AttrKind, Val));
160 auto Attr = unwrap(A);
169 return wrap(Attribute::get(*unwrap(C), StringRef(K, KLength),
188 auto Attr = unwrap(A);
2401 for (auto A : AS)
2431 Attribute Attr = Attribute::get(Func->getContext(), A, V);
2431 Attribute Attr = Attribute::get(Func->getContext(), A, V);
2492 A->addAttr(Attribute::getWithAlignment(A->getContext(), Align(align)));
2791 Attribute AlignAttr =
2792 Attribute::getWithAlignment(Call->getContext(), Align(align));
2812 for (auto A : AS)
lib/IR/Function.cpp 77 if (getParent()->hasParamAttribute(getArgNo(), Attribute::NonNull))
88 return hasAttribute(Attribute::ByVal);
92 return getParent()->hasParamAttribute(getArgNo(), Attribute::SwiftSelf);
96 return getParent()->hasParamAttribute(getArgNo(), Attribute::SwiftError);
101 return hasAttribute(Attribute::InAlloca);
107 return Attrs.hasParamAttribute(getArgNo(), Attribute::ByVal) ||
108 Attrs.hasParamAttribute(getArgNo(), Attribute::InAlloca);
135 return hasAttribute(Attribute::Nest);
140 return hasAttribute(Attribute::NoAlias);
145 return hasAttribute(Attribute::NoCapture);
150 return hasAttribute(Attribute::StructRet);
154 return hasAttribute(Attribute::InReg);
158 return hasAttribute(Attribute::Returned);
162 return hasAttribute(Attribute::ZExt);
166 return hasAttribute(Attribute::SExt);
171 return Attrs.hasParamAttribute(getArgNo(), Attribute::ReadOnly) ||
172 Attrs.hasParamAttribute(getArgNo(), Attribute::ReadNone);
181 void Argument::addAttr(Attribute::AttrKind Kind) {
185 void Argument::addAttr(Attribute Attr) {
189 void Argument::removeAttr(Attribute::AttrKind Kind) {
193 bool Argument::hasAttribute(Attribute::AttrKind Kind) const {
197 Attribute Argument::getAttribute(Attribute::AttrKind Kind) const {
197 Attribute Argument::getAttribute(Attribute::AttrKind Kind) const {
381 void Function::addAttribute(unsigned i, Attribute::AttrKind Kind) {
387 void Function::addAttribute(unsigned i, Attribute Attr) {
399 void Function::addParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
405 void Function::addParamAttr(unsigned ArgNo, Attribute Attr) {
417 void Function::removeAttribute(unsigned i, Attribute::AttrKind Kind) {
435 void Function::removeParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
1459 if (Call->hasFnAttr(Attribute::ReturnsTwice))
lib/IR/IRBuilder.cpp 293 0, Attribute::getWithAlignment(CI->getContext(), Align(DstAlign)));
295 1, Attribute::getWithAlignment(CI->getContext(), Align(SrcAlign)));
lib/IR/Instructions.cpp 298 if (hasRetAttr(Attribute::NonNull))
312 if (Attrs.hasAttrSomewhere(Attribute::Returned, &Index) && Index)
315 if (F->getAttributes().hasAttrSomewhere(Attribute::Returned, &Index) &&
322 bool CallBase::hasRetAttr(Attribute::AttrKind Kind) const {
333 bool CallBase::paramHasAttr(unsigned ArgNo, Attribute::AttrKind Kind) const {
343 bool CallBase::hasFnAttrOnCalledFunction(Attribute::AttrKind Kind) const {
lib/IR/Statepoint.cpp 54 bool llvm::isStatepointDirectiveAttr(Attribute Attr) {
63 Attribute AttrID =
71 Attribute AttrNumPatchBytes = AS.getAttribute(AttributeList::FunctionIndex,
lib/IR/Verifier.cpp 1501 static bool isFuncOnlyAttr(Attribute::AttrKind Kind) {
1503 case Attribute::NoReturn:
1504 case Attribute::NoSync:
1505 case Attribute::WillReturn:
1506 case Attribute::NoCfCheck:
1507 case Attribute::NoUnwind:
1508 case Attribute::NoInline:
1509 case Attribute::NoFree:
1510 case Attribute::AlwaysInline:
1511 case Attribute::OptimizeForSize:
1512 case Attribute::StackProtect:
1513 case Attribute::StackProtectReq:
1514 case Attribute::StackProtectStrong:
1515 case Attribute::SafeStack:
1516 case Attribute::ShadowCallStack:
1517 case Attribute::NoRedZone:
1518 case Attribute::NoImplicitFloat:
1519 case Attribute::Naked:
1520 case Attribute::InlineHint:
1521 case Attribute::StackAlignment:
1522 case Attribute::UWTable:
1523 case Attribute::NonLazyBind:
1524 case Attribute::ReturnsTwice:
1525 case Attribute::SanitizeAddress:
1526 case Attribute::SanitizeHWAddress:
1527 case Attribute::SanitizeMemTag:
1528 case Attribute::SanitizeThread:
1529 case Attribute::SanitizeMemory:
1530 case Attribute::MinSize:
1531 case Attribute::NoDuplicate:
1532 case Attribute::Builtin:
1533 case Attribute::NoBuiltin:
1534 case Attribute::Cold:
1535 case Attribute::OptForFuzzing:
1536 case Attribute::OptimizeNone:
1537 case Attribute::JumpTable:
1538 case Attribute::Convergent:
1539 case Attribute::ArgMemOnly:
1540 case Attribute::NoRecurse:
1541 case Attribute::InaccessibleMemOnly:
1542 case Attribute::InaccessibleMemOrArgMemOnly:
1543 case Attribute::AllocSize:
1544 case Attribute::SpeculativeLoadHardening:
1545 case Attribute::Speculatable:
1546 case Attribute::StrictFP:
1556 static bool isFuncOrArgAttr(Attribute::AttrKind Kind) {
1557 return Kind == Attribute::ReadOnly || Kind == Attribute::WriteOnly ||
1557 return Kind == Attribute::ReadOnly || Kind == Attribute::WriteOnly ||
1558 Kind == Attribute::ReadNone;
1563 for (Attribute A : Attrs) {
1592 if (Attrs.hasAttribute(Attribute::ImmArg)) {
1600 AttrCount += Attrs.hasAttribute(Attribute::ByVal);
1601 AttrCount += Attrs.hasAttribute(Attribute::InAlloca);
1602 AttrCount += Attrs.hasAttribute(Attribute::StructRet) ||
1603 Attrs.hasAttribute(Attribute::InReg);
1604 AttrCount += Attrs.hasAttribute(Attribute::Nest);
1651 if (Attrs.hasAttribute(Attribute::ByVal) && Attrs.getByValType()) {
1733 if (ArgAttrs.hasAttribute(Attribute::Nest)) {
1738 if (ArgAttrs.hasAttribute(Attribute::Returned)) {
1747 if (ArgAttrs.hasAttribute(Attribute::StructRet)) {
1754 if (ArgAttrs.hasAttribute(Attribute::SwiftSelf)) {
1759 if (ArgAttrs.hasAttribute(Attribute::SwiftError)) {
1765 if (ArgAttrs.hasAttribute(Attribute::InAlloca)) {
1802 if (Attrs.hasFnAttribute(Attribute::OptimizeNone)) {
1813 if (Attrs.hasFnAttribute(Attribute::JumpTable)) {
1819 if (Attrs.hasFnAttribute(Attribute::AllocSize)) {
2219 if (Attrs.hasParamAttribute(i, Attribute::SwiftError)) {
2856 if (Attrs.hasAttribute(AttributeList::FunctionIndex, Attribute::Speculatable)) {
2880 if (Call.paramHasAttr(i, Attribute::SwiftError)) {
2896 if (Attrs.hasParamAttribute(i, Attribute::ImmArg)) {
2904 if (Call.paramHasAttr(i, Attribute::ImmArg)) {
2917 if (Attrs.hasParamAttribute(Idx, Attribute::Nest))
2919 if (Attrs.hasParamAttribute(Idx, Attribute::Returned))
2929 if (ArgAttrs.hasAttribute(Attribute::Nest)) {
2934 if (ArgAttrs.hasAttribute(Attribute::Returned)) {
2953 if (ArgAttrs.hasAttribute(Attribute::InAlloca))
3035 static const Attribute::AttrKind ABIAttrs[] = {
3036 Attribute::StructRet, Attribute::ByVal, Attribute::InAlloca,
3036 Attribute::StructRet, Attribute::ByVal, Attribute::InAlloca,
3036 Attribute::StructRet, Attribute::ByVal, Attribute::InAlloca,
3037 Attribute::InReg, Attribute::Returned, Attribute::SwiftSelf,
3037 Attribute::InReg, Attribute::Returned, Attribute::SwiftSelf,
3037 Attribute::InReg, Attribute::Returned, Attribute::SwiftSelf,
3038 Attribute::SwiftError};
3044 if (Attrs.hasParamAttribute(I, Attribute::Alignment))
lib/Linker/IRMover.cpp 639 if (Attrs.hasAttribute(i, Attribute::ByVal)) {
640 Type *Ty = Attrs.getAttribute(i, Attribute::ByVal).getValueAsType();
644 Attrs = Attrs.removeAttribute(C, i, Attribute::ByVal);
646 C, i, Attribute::getWithByValType(C, TypeMap.get(Ty)));
lib/Target/AArch64/AArch64CallLowering.cpp 303 Attribute::SExt))
306 Attribute::ZExt))
lib/Target/AArch64/AArch64FastISel.cpp 2298 Attribute::SpeculativeLoadHardening))
2970 if (Arg.hasAttribute(Attribute::ByVal) ||
2971 Arg.hasAttribute(Attribute::InReg) ||
2972 Arg.hasAttribute(Attribute::StructRet) ||
2973 Arg.hasAttribute(Attribute::SwiftSelf) ||
2974 Arg.hasAttribute(Attribute::SwiftError) ||
2975 Arg.hasAttribute(Attribute::Nest))
3850 F.getAttributes().hasAttrSomewhere(Attribute::SwiftError))
lib/Target/AArch64/AArch64FrameLowering.cpp 220 if (MF.getFunction().hasFnAttribute(Attribute::NoRedZone))
1575 MF.getFunction().hasFnAttribute(Attribute::SanitizeHWAddress),
1772 Attrs.hasAttrSomewhere(Attribute::SwiftError));
1889 MF.getFunction().hasFnAttribute(Attribute::ShadowCallStack)) {
1973 if (!MF.getFunction().hasFnAttribute(Attribute::NoUnwind)) {
lib/Target/AArch64/AArch64ISelLowering.cpp 4689 !MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening);
4887 Attribute::NoImplicitFloat))
9032 !FuncAttributes.hasFnAttribute(Attribute::NoImplicitFloat);
9065 !FuncAttributes.hasFnAttribute(Attribute::NoImplicitFloat);
11402 if (MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening))
12298 F->addAttribute(1, Attribute::AttrKind::InReg);
12424 Attr.hasAttribute(AttributeList::FunctionIndex, Attribute::MinSize);
lib/Target/AArch64/AArch64ISelLowering.h 473 Attribute::NoImplicitFloat);
537 MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
lib/Target/AArch64/AArch64InstructionSelector.cpp 64 !MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening);
1411 !MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening);
lib/Target/AArch64/AArch64MachineFunctionInfo.h 131 if (MF.getFunction().hasFnAttribute(Attribute::NoRedZone))
lib/Target/AArch64/AArch64RegisterInfo.cpp 65 Attribute::SwiftError))
116 bool SCS = MF.getFunction().hasFnAttribute(Attribute::ShadowCallStack);
133 MF.getFunction().getAttributes().hasAttrSomewhere(Attribute::SwiftError))
214 if (MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening))
lib/Target/AArch64/AArch64SpeculationHardening.cpp 653 if (!MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening))
lib/Target/AArch64/AArch64StackTagging.cpp 515 if (!Fn.hasFnAttribute(Attribute::SanitizeMemTag))
593 !F->hasFnAttribute(Attribute::OptimizeNone))) {
603 if (PDT == nullptr && !F->hasFnAttribute(Attribute::OptimizeNone)) {
lib/Target/AArch64/AArch64Subtarget.cpp 256 if (UseNonLazyBind && F && F->hasFnAttribute(Attribute::NonLazyBind) &&
lib/Target/AArch64/AArch64TargetMachine.cpp 307 Attribute CPUAttr = F.getFnAttribute("target-cpu");
308 Attribute FSAttr = F.getFnAttribute("target-features");
310 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
313 std::string FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp 131 if (F->hasParamAttribute(ArgNo, Attribute::NoAlias) &&
132 (F->hasParamAttribute(ArgNo, Attribute::ReadNone) ||
133 F->hasParamAttribute(ArgNo, Attribute::ReadOnly))) {
lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp 130 = StressCalls ? Attribute::AlwaysInline : Attribute::NoInline;
130 = StressCalls ? Attribute::AlwaysInline : Attribute::NoInline;
145 F->addFnAttr(Attribute::AlwaysInline);
148 F->addFnAttr(Attribute::NoInline);
lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp 970 if (Arg.hasAttribute(Attribute::InReg))
lib/Target/AMDGPU/AMDGPUCallLowering.cpp 599 const bool InReg = Arg.hasAttribute(Attribute::InReg);
605 if (Arg.hasAttribute(Attribute::SwiftSelf) ||
606 Arg.hasAttribute(Attribute::SwiftError) ||
607 Arg.hasAttribute(Attribute::Nest))
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp 611 Attribute Attr = F.getFnAttribute("unsafe-fp-math");
lib/Target/AMDGPU/AMDGPUInline.cpp 117 Callee->hasFnAttribute(Attribute::InlineHint);
119 && !Caller->hasFnAttribute(Attribute::MinSize))
191 if (CS.hasFnAttr(Attribute::AlwaysInline)) {
221 if (IC && !IC.isAlways() && !Callee->hasFnAttribute(Attribute::InlineHint)) {
lib/Target/AMDGPU/AMDGPULibCalls.cpp 496 Attribute Attr = F->getFnAttribute("unsafe-fp-math");
lib/Target/AMDGPU/AMDGPULibFunc.cpp 991 Attribute::ReadOnly);
993 Attribute::NoUnwind);
lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp 88 KernArgSegment->addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
90 Attribute::getWithDereferenceableBytes(Ctx, TotalKernArgSize));
224 Attribute::getWithAlignment(Ctx, std::max(KernArgBaseAlign, MaxAlign)));
lib/Target/AMDGPU/AMDGPUMachineFunction.cpp 31 Attribute MemBoundAttr = F.getFnAttribute("amdgpu-memory-bound");
35 Attribute WaveLimitAttr = F.getFnAttribute("amdgpu-wave-limiter");
lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp 323 Attribute::NoUnwind);
lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp 238 DispatchPtr->addAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
239 DispatchPtr->addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp 374 RetAttrs.addAttribute(Attribute::SExt);
375 RetAttrs.addAttribute(Attribute::ZExt);
376 RetAttrs.addAttribute(Attribute::NoAlias);
475 F.addFnAttr(Attribute::AlwaysInline);
lib/Target/AMDGPU/AMDGPUTargetMachine.cpp 372 Attribute GPUAttr = F.getFnAttribute("target-cpu");
373 return GPUAttr.hasAttribute(Attribute::None) ?
378 Attribute FSAttr = F.getFnAttribute("target-features");
380 return FSAttr.hasAttribute(Attribute::None) ?
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp 537 return F->getAttributes().hasParamAttribute(A->getArgNo(), Attribute::InReg) ||
538 F->getAttributes().hasParamAttribute(A->getArgNo(), Attribute::ByVal);
lib/Target/AMDGPU/SIISelLowering.cpp 912 if (Attr.hasFnAttribute(Attribute::ReadNone))
929 if (Attr.hasFnAttribute(Attribute::ReadOnly)) {
938 } else if (Attr.hasFnAttribute(Attribute::WriteOnly)) {
2663 auto Attr = ParentFn->getFnAttribute("disable-tail-calls");
lib/Target/AMDGPU/SILowerSGPRSpills.cpp 197 if (!F.hasFnAttribute(Attribute::Naked)) {
lib/Target/AMDGPU/SIMachineFunctionInfo.cpp 166 Attribute A = F.getFnAttribute("amdgpu-git-ptr-high");
lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp 562 Attribute A = F.getFnAttribute(Name);
580 Attribute A = F.getFnAttribute(Name);
1234 return F->getAttributes().hasParamAttribute(A->getArgNo(), Attribute::InReg) ||
1235 F->getAttributes().hasParamAttribute(A->getArgNo(), Attribute::ByVal);
lib/Target/ARM/ARMBaseInstrInfo.cpp 4314 if (MF->getFunction().hasFnAttribute(Attribute::OptimizeForSize))
lib/Target/ARM/ARMBaseRegisterInfo.cpp 97 F.getAttributes().hasAttrSomewhere(Attribute::SwiftError)) {
131 MF.getFunction().getAttributes().hasAttrSomewhere(Attribute::SwiftError))
lib/Target/ARM/ARMCodeGenPrepare.cpp 246 return Call->hasRetAttr(Attribute::AttrKind::ZExt);
838 Call->hasRetAttr(Attribute::AttrKind::ZExt);
lib/Target/ARM/ARMFastISel.cpp 2098 F.getAttributes().hasAttrSomewhere(Attribute::SwiftError))
2351 if (CS.paramHasAttr(ArgIdx, Attribute::SExt))
2353 if (CS.paramHasAttr(ArgIdx, Attribute::ZExt))
2357 if (CS.paramHasAttr(ArgIdx, Attribute::InReg) ||
2358 CS.paramHasAttr(ArgIdx, Attribute::StructRet) ||
2359 CS.paramHasAttr(ArgIdx, Attribute::SwiftSelf) ||
2360 CS.paramHasAttr(ArgIdx, Attribute::SwiftError) ||
2361 CS.paramHasAttr(ArgIdx, Attribute::Nest) ||
2362 CS.paramHasAttr(ArgIdx, Attribute::ByVal))
3028 if (Arg.hasAttribute(Attribute::InReg) ||
3029 Arg.hasAttribute(Attribute::StructRet) ||
3030 Arg.hasAttribute(Attribute::SwiftSelf) ||
3031 Arg.hasAttribute(Attribute::SwiftError) ||
3032 Arg.hasAttribute(Attribute::ByVal))
lib/Target/ARM/ARMFrameLowering.cpp 1596 if (MF.getFunction().hasFnAttribute(Attribute::Naked))
lib/Target/ARM/ARMISelLowering.cpp 2068 auto Attr = MF.getFunction().getFnAttribute("disable-tail-calls");
2947 auto Attr =
10039 if (!MF->getFunction().hasFnAttribute(Attribute::NoImplicitFloat) &&
14651 !FuncAttributes.hasFnAttribute(Attribute::NoImplicitFloat)) {
16548 F->addAttribute(1, Attribute::AttrKind::InReg);
lib/Target/ARM/ARMISelLowering.h 763 MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
lib/Target/ARM/ARMTargetMachine.cpp 253 Attribute CPUAttr = F.getFnAttribute("target-cpu");
254 Attribute FSAttr = F.getFnAttribute("target-features");
256 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
259 std::string FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/AVR/AVRISelLowering.cpp 1414 AttributeList::FunctionIndex, Attribute::Naked)) {
lib/Target/Hexagon/HexagonBitTracker.cpp 74 if (Arg.hasAttribute(Attribute::ByVal))
82 if (Arg.hasAttribute(Attribute::SExt))
84 else if (Arg.hasAttribute(Attribute::ZExt))
lib/Target/Hexagon/HexagonCopyToCombine.cpp 474 bool OptForSize = F.hasFnAttribute(Attribute::OptimizeForSize);
lib/Target/Hexagon/HexagonFrameLowering.cpp 577 return F.hasFnAttribute(Attribute::NoReturn) &&
578 F.hasFnAttribute(Attribute::NoUnwind) &&
579 !F.hasFnAttribute(Attribute::UWTable) && HST.noreturnStackElim() &&
993 if (MF.getFunction().hasFnAttribute(Attribute::Naked))
lib/Target/Hexagon/HexagonISelLowering.cpp 235 auto Attr =
348 auto Attr = MF.getFunction().getFnAttribute("disable-tail-calls");
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 2091 if (Func->hasFnAttribute(Attribute::AlwaysInline))
lib/Target/Hexagon/HexagonOptimizeSZextends.cpp 74 if (F.getAttributes().hasAttribute(Idx, Attribute::SExt)) {
lib/Target/Hexagon/HexagonTargetMachine.cpp 229 Attribute CPUAttr =
231 Attribute FSAttr =
234 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
237 std::string FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/Mips/Mips16HardFloat.cpp 274 FStub->addFnAttr(Attribute::Naked);
275 FStub->addFnAttr(Attribute::NoInline);
276 FStub->addFnAttr(Attribute::NoUnwind);
414 Attribute::ReadNone);
416 Attribute::NoInline);
459 FStub->addFnAttr(Attribute::Naked);
460 FStub->addFnAttr(Attribute::NoUnwind);
461 FStub->addFnAttr(Attribute::NoInline);
lib/Target/Mips/MipsAsmPrinter.cpp 428 bool IsNakedFunction = MF->getFunction().hasFnAttribute(Attribute::Naked);
lib/Target/Mips/MipsFastISel.cpp 1353 if (FormalArg.hasAttribute(Attribute::InReg) ||
1354 FormalArg.hasAttribute(Attribute::StructRet) ||
1355 FormalArg.hasAttribute(Attribute::ByVal)) {
1378 if (!FormalArg.hasAttribute(Attribute::SExt) &&
1379 !FormalArg.hasAttribute(Attribute::ZExt)) {
1400 if (FormalArg.hasAttribute(Attribute::ZExt)) {
lib/Target/Mips/MipsTargetMachine.cpp 159 Attribute CPUAttr = F.getFnAttribute("target-cpu");
160 Attribute FSAttr = F.getFnAttribute("target-features");
162 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
165 std::string FS = !FSAttr.hasAttribute(Attribute::None)
169 !F.getFnAttribute("mips16").hasAttribute(Attribute::None);
171 !F.getFnAttribute("nomips16").hasAttribute(Attribute::None);
174 !F.getFnAttribute("micromips").hasAttribute(Attribute::None);
176 !F.getFnAttribute("nomicromips").hasAttribute(Attribute::None);
lib/Target/NVPTX/NVPTXAsmPrinter.cpp 1471 if (!PAL.hasParamAttribute(paramIndex, Attribute::ByVal)) {
lib/Target/NVPTX/NVPTXISelLowering.cpp 2551 if (!PAL.hasParamAttribute(i, Attribute::ByVal)) {
4329 Attribute Attr = F.getFnAttribute("unsafe-fp-math");
lib/Target/PowerPC/PPCFrameLowering.cpp 489 bool DisableRedZone = MF.getFunction().hasFnAttribute(Attribute::NoRedZone);
549 if (MF.getFunction().hasFnAttribute(Attribute::Naked))
lib/Target/PowerPC/PPCISelLowering.cpp10693 if (MF->getFunction().hasFnAttribute(Attribute::Naked))
14555 if (MF.getFunction().hasFnAttribute(Attribute::Naked))
14828 !FuncAttributes.hasFnAttribute(Attribute::NoImplicitFloat)) {
15416 auto Attr = Caller->getFnAttribute("disable-tail-calls");
lib/Target/PowerPC/PPCISelLowering.h 666 MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
lib/Target/PowerPC/PPCInstrInfo.cpp 4045 return Attrs.hasAttribute(SignExt ? Attribute::SExt :
4046 Attribute::ZExt);
lib/Target/PowerPC/PPCRegisterInfo.cpp 1065 if (!MF.getFunction().hasFnAttribute(Attribute::Naked)) {
lib/Target/PowerPC/PPCTargetMachine.cpp 313 Attribute CPUAttr = F.getFnAttribute("target-cpu");
314 Attribute FSAttr = F.getFnAttribute("target-features");
316 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
319 std::string FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/Sparc/SparcISelLowering.cpp 697 return CS.hasFnAttr(Attribute::ReturnsTwice);
712 return CalleeFn->hasFnAttribute(Attribute::ReturnsTwice);
lib/Target/Sparc/SparcTargetMachine.cpp 110 Attribute CPUAttr = F.getFnAttribute("target-cpu");
111 Attribute FSAttr = F.getFnAttribute("target-features");
113 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
116 std::string FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/SystemZ/SystemZRegisterInfo.cpp 203 Attribute::SwiftError))
217 Attribute::SwiftError))
lib/Target/TargetMachine.cpp 185 if (F && F->hasFnAttribute(Attribute::NonLazyBind))
lib/Target/WebAssembly/WebAssemblyFastISel.cpp 646 if (Attrs.hasParamAttribute(I, Attribute::ByVal) ||
647 Attrs.hasParamAttribute(I, Attribute::SwiftSelf) ||
648 Attrs.hasParamAttribute(I, Attribute::SwiftError) ||
649 Attrs.hasParamAttribute(I, Attribute::InAlloca) ||
650 Attrs.hasParamAttribute(I, Attribute::Nest))
840 if (Attrs.hasParamAttribute(I, Attribute::ByVal) ||
841 Attrs.hasParamAttribute(I, Attribute::SwiftSelf) ||
842 Attrs.hasParamAttribute(I, Attribute::SwiftError) ||
843 Attrs.hasParamAttribute(I, Attribute::InAlloca) ||
844 Attrs.hasParamAttribute(I, Attribute::Nest))
849 if (Attrs.hasParamAttribute(I, Attribute::SExt))
851 else if (Attrs.hasParamAttribute(I, Attribute::ZExt))
1338 if (FuncInfo.Fn->getAttributes().hasAttribute(0, Attribute::SExt))
1340 else if (FuncInfo.Fn->getAttributes().hasAttribute(0, Attribute::ZExt))
lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp 121 !MF.getFunction().hasFnAttribute(Attribute::NoRedZone);
lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp 382 F->removeFnAttr(Attribute::NoReturn);
383 CI->removeAttribute(AttributeList::FunctionIndex, Attribute::NoReturn);
416 if (FnAttrs.contains(Attribute::AllocSize)) {
lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp 60 if (CS.paramHasAttr(I, Attribute::Returned)) {
lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp 150 Attribute CPUAttr = F.getFnAttribute("target-cpu");
151 Attribute FSAttr = F.getFnAttribute("target-features");
153 std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
156 std::string FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/X86/X86CallLowering.cpp 346 if (Arg.hasAttribute(Attribute::ByVal) ||
347 Arg.hasAttribute(Attribute::InReg) ||
348 Arg.hasAttribute(Attribute::StructRet) ||
349 Arg.hasAttribute(Attribute::SwiftSelf) ||
350 Arg.hasAttribute(Attribute::SwiftError) ||
351 Arg.hasAttribute(Attribute::Nest) || VRegs[Idx].size() > 1)
lib/Target/X86/X86FastISel.cpp 1154 F.getAttributes().hasAttrSomewhere(Attribute::SwiftError))
3082 if (Arg.hasAttribute(Attribute::ByVal) ||
3083 Arg.hasAttribute(Attribute::InReg) ||
3084 Arg.hasAttribute(Attribute::StructRet) ||
3085 Arg.hasAttribute(Attribute::SwiftSelf) ||
3086 Arg.hasAttribute(Attribute::SwiftError) ||
3087 Arg.hasAttribute(Attribute::Nest))
3166 if (CS->arg_empty() || !CS->paramHasAttr(0, Attribute::StructRet) ||
3167 CS->paramHasAttr(0, Attribute::InReg) || Subtarget->isTargetMCU())
lib/Target/X86/X86FrameLowering.cpp 882 return Is64Bit && !IsWin64CC && !Fn.hasFnAttribute(Attribute::NoRedZone);
2934 return (MF.getFunction().hasFnAttribute(Attribute::NoUnwind) || hasFP(MF)) &&
lib/Target/X86/X86ISelLowering.cpp 2088 if (!FuncAttributes.hasFnAttribute(Attribute::NoImplicitFloat)) {
2331 F->addAttribute(1, Attribute::AttrKind::InReg);
2996 auto Attr =
3148 bool NoImplicitFloatOps = F.hasFnAttribute(Attribute::NoImplicitFloat);
3621 auto Attr = MF.getFunction().getFnAttribute("disable-tail-calls");
5031 Attribute::NoImplicitFloat);
24458 if (Attrs.hasAttribute(Idx, Attribute::InReg)) {
26453 SI->getFunction()->hasFnAttribute(Attribute::NoImplicitFloat);
26471 LI->getFunction()->hasFnAttribute(Attribute::NoImplicitFloat);
27219 Attribute::NoImplicitFloat);
27833 Attribute::NoImplicitFloat);
28365 Attribute::NoImplicitFloat);
40663 bool NoImplicitFloatOps = F.hasFnAttribute(Attribute::NoImplicitFloat);
46160 Attr.hasAttribute(AttributeList::FunctionIndex, Attribute::MinSize);
lib/Target/X86/X86ISelLowering.h 1386 MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
lib/Target/X86/X86IndirectBranchTracking.cpp 94 if (Attrs.hasAttribute(AttributeList::FunctionIndex, Attribute::ReturnsTwice))
lib/Target/X86/X86RegisterInfo.cpp 384 F.getAttributes().hasAttrSomewhere(Attribute::SwiftError);
501 F.getAttributes().hasAttrSomewhere(Attribute::SwiftError);
lib/Target/X86/X86RetpolineThunks.cpp 209 B.addAttribute(llvm::Attribute::NoUnwind);
210 B.addAttribute(llvm::Attribute::Naked);
lib/Target/X86/X86SpeculativeLoadHardening.cpp 405 !MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening))
lib/Target/X86/X86Subtarget.cpp 200 if (((F && F->hasFnAttribute(Attribute::NonLazyBind)) ||
208 if (F && F->hasFnAttribute(Attribute::NonLazyBind))
lib/Target/X86/X86TargetMachine.cpp 244 Attribute CPUAttr = F.getFnAttribute("target-cpu");
245 Attribute FSAttr = F.getFnAttribute("target-features");
247 StringRef CPU = !CPUAttr.hasAttribute(Attribute::None)
250 StringRef FS = !FSAttr.hasAttribute(Attribute::None)
lib/Target/X86/X86WinEHState.cpp 419 Call->addParamAttr(0, Attribute::InReg);
lib/Target/XCore/XCoreFrameLowering.cpp 241 if (PAL.hasAttrSomewhere(Attribute::Nest))
lib/Transforms/CFGuard/CFGuard.cpp 258 if (cfguard_module_flag != 2 || F.hasFnAttribute(Attribute::NoCfCheck))
280 F.addFnAttr(Attribute::NoCfCheck);
lib/Transforms/Coroutines/CoroFrame.cpp 682 Attribute::NoCapture);
lib/Transforms/Coroutines/CoroSplit.cpp 402 NewF->addParamAttr(0, Attribute::NonNull);
403 NewF->addParamAttr(0, Attribute::NoAlias);
696 NewAttrs = NewAttrs.addParamAttribute(Context, 0, Attribute::NonNull);
697 NewAttrs = NewAttrs.addParamAttribute(Context, 0, Attribute::NoAlias);
1196 F.removeFnAttr(Attribute::NoReturn);
1197 F.removeAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
1198 F.removeAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
1424 DevirtFn->addFnAttr(Attribute::AlwaysInline);
1562 Attribute Attr = F->getFnAttribute(CORO_PRESPLIT_ATTR);
lib/Transforms/Coroutines/Coroutines.cpp 300 CB->addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
301 CB->addAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
303 Attribute::NoDuplicate);
lib/Transforms/IPO/AlwaysInliner.cpp 49 if (!F.isDeclaration() && F.hasFnAttribute(Attribute::AlwaysInline) &&
165 if (!CS.hasFnAttr(Attribute::AlwaysInline))
lib/Transforms/IPO/ArgumentPromotion.cpp 874 if(F->hasFnAttribute(Attribute::Naked))
891 if (F->getAttributes().hasAttrSomewhere(Attribute::InAlloca))
941 F->removeParamAttr(ArgNo, Attribute::StructRet);
942 F->addParamAttr(ArgNo, Attribute::NoAlias);
945 CS.removeParamAttr(ArgNo, Attribute::StructRet);
946 CS.addParamAttr(ArgNo, Attribute::NoAlias);
lib/Transforms/IPO/Attributor.cpp 244 static bool isEqualOrWorse(const Attribute &New, const Attribute &Old) {
244 static bool isEqualOrWorse(const Attribute &New, const Attribute &Old) {
254 static bool addIfNotExistent(LLVMContext &Ctx, const Attribute &Attr,
258 Attribute::AttrKind Kind = Attr.getKindAsEnum();
274 Attribute::AttrKind Kind = Attr.getKindAsEnum();
332 const ArrayRef<Attribute> &DeducedAttrs) {
359 for (const Attribute &Attr : DeducedAttrs) {
444 bool IRPosition::hasAttr(ArrayRef<Attribute::AttrKind> AKs,
447 for (Attribute::AttrKind AK : AKs)
459 void IRPosition::getAttrs(ArrayRef<Attribute::AttrKind> AKs,
460 SmallVectorImpl<Attribute> &Attrs) const {
462 for (Attribute::AttrKind AK : AKs) {
463 const Attribute &Attr = EquivIRP.getAttr(AK);
1389 if (ICS.hasFnAttr(Attribute::NoSync))
1467 if (ICS.hasFnAttr(Attribute::NoFree))
1587 hasAttr({Attribute::NonNull, Attribute::Dereferenceable}))
1587 hasAttr({Attribute::NonNull, Attribute::Dereferenceable}))
1751 if (ICS.hasFnAttr(Attribute::NoRecurse))
1958 if (ICS.paramHasAttr(getArgNo(), Attribute::NoAlias))
2465 SmallVector<Attribute, 4> Attrs;
2466 getAttrs({Attribute::Dereferenceable, Attribute::DereferenceableOrNull},
2466 getAttrs({Attribute::Dereferenceable, Attribute::DereferenceableOrNull},
2468 for (const Attribute &Attr : Attrs)
2497 SmallVectorImpl<Attribute> &Attrs) const override {
2500 Attrs.emplace_back(Attribute::getWithDereferenceableBytes(
2503 Attrs.emplace_back(Attribute::getWithDereferenceableOrNullBytes(
2686 SmallVector<Attribute, 4> Attrs;
2687 getAttrs({Attribute::Alignment}, Attrs);
2688 for (const Attribute &Attr : Attrs)
2733 SmallVectorImpl<Attribute> &Attrs) const override {
2736 Attribute::getWithAlignment(Ctx, Align(getAssumedAlign())));
2855 if (!F || F->hasFnAttribute(Attribute::WillReturn))
2940 SmallVectorImpl<Attribute> &Attrs) const override {
2946 Attrs.emplace_back(Attribute::get(Ctx, Attribute::NoCapture));
2946 Attrs.emplace_back(Attribute::get(Ctx, Attribute::NoCapture));
2948 Attrs.emplace_back(Attribute::get(Ctx, "no-capture-maybe-returned"));
2983 if (F.hasParamAttribute(u, Attribute::Returned)) {
3778 SmallVector<Attribute, 2> Attrs;
3780 for (const Attribute &Attr : Attrs) {
3782 case Attribute::ReadNone:
3785 case Attribute::ReadOnly:
3788 case Attribute::WriteOnly:
3806 SmallVectorImpl<Attribute> &Attrs) const override {
3809 Attrs.push_back(Attribute::get(Ctx, Attribute::ReadNone));
3809 Attrs.push_back(Attribute::get(Ctx, Attribute::ReadNone));
3811 Attrs.push_back(Attribute::get(Ctx, Attribute::ReadOnly));
3811 Attrs.push_back(Attribute::get(Ctx, Attribute::ReadOnly));
3813 Attrs.push_back(Attribute::get(Ctx, Attribute::WriteOnly));
3813 Attrs.push_back(Attribute::get(Ctx, Attribute::WriteOnly));
3822 SmallVector<Attribute, 4> DeducedAttrs;
3849 static const Attribute::AttrKind AttrKinds[3];
3852 const Attribute::AttrKind AAMemoryBehaviorImpl::AttrKinds[] = {
3853 Attribute::ReadNone, Attribute::ReadOnly, Attribute::WriteOnly};
3853 Attribute::ReadNone, Attribute::ReadOnly, Attribute::WriteOnly};
3853 Attribute::ReadNone, Attribute::ReadOnly, Attribute::WriteOnly};
3912 if (hasAttr({Attribute::InAlloca})) {
3986 F.removeFnAttr(Attribute::ArgMemOnly);
3987 F.removeFnAttr(Attribute::InaccessibleMemOnly);
3988 F.removeFnAttr(Attribute::InaccessibleMemOrArgMemOnly);
lib/Transforms/IPO/DeadArgumentElimination.cpp 133 if (Fn.hasFnAttribute(Attribute::Naked)) {
283 if (Fn.hasFnAttribute(Attribute::Naked))
489 if (F.getAttributes().hasAttrSomewhere(Attribute::InAlloca)) {
497 if (F.hasFnAttribute(Attribute::Naked)) {
759 HasLiveReturnedArg |= PAL.hasParamAttribute(i, Attribute::Returned);
850 F->getContext(), Attribute::AllocSize);
901 if (NRetTy != RetTy && Attrs.hasAttribute(Attribute::Returned)) {
909 AttrBuilder(Attrs).removeAttribute(Attribute::Returned)));
928 F->getContext(), Attribute::AllocSize);
lib/Transforms/IPO/ForceFunctionAttrs.cpp 27 static Attribute::AttrKind parseAttrKind(StringRef Kind) {
29 .Case("alwaysinline", Attribute::AlwaysInline)
30 .Case("builtin", Attribute::Builtin)
31 .Case("cold", Attribute::Cold)
32 .Case("convergent", Attribute::Convergent)
33 .Case("inlinehint", Attribute::InlineHint)
34 .Case("jumptable", Attribute::JumpTable)
35 .Case("minsize", Attribute::MinSize)
36 .Case("naked", Attribute::Naked)
37 .Case("nobuiltin", Attribute::NoBuiltin)
38 .Case("noduplicate", Attribute::NoDuplicate)
39 .Case("noimplicitfloat", Attribute::NoImplicitFloat)
40 .Case("noinline", Attribute::NoInline)
41 .Case("nonlazybind", Attribute::NonLazyBind)
42 .Case("noredzone", Attribute::NoRedZone)
43 .Case("noreturn", Attribute::NoReturn)
44 .Case("nocf_check", Attribute::NoCfCheck)
45 .Case("norecurse", Attribute::NoRecurse)
46 .Case("nounwind", Attribute::NoUnwind)
47 .Case("optforfuzzing", Attribute::OptForFuzzing)
48 .Case("optnone", Attribute::OptimizeNone)
49 .Case("optsize", Attribute::OptimizeForSize)
50 .Case("readnone", Attribute::ReadNone)
51 .Case("readonly", Attribute::ReadOnly)
52 .Case("argmemonly", Attribute::ArgMemOnly)
53 .Case("returns_twice", Attribute::ReturnsTwice)
54 .Case("safestack", Attribute::SafeStack)
55 .Case("shadowcallstack", Attribute::ShadowCallStack)
56 .Case("sanitize_address", Attribute::SanitizeAddress)
57 .Case("sanitize_hwaddress", Attribute::SanitizeHWAddress)
58 .Case("sanitize_memory", Attribute::SanitizeMemory)
59 .Case("sanitize_thread", Attribute::SanitizeThread)
60 .Case("sanitize_memtag", Attribute::SanitizeMemTag)
61 .Case("speculative_load_hardening", Attribute::SpeculativeLoadHardening)
62 .Case("ssp", Attribute::StackProtect)
63 .Case("sspreq", Attribute::StackProtectReq)
64 .Case("sspstrong", Attribute::StackProtectStrong)
65 .Case("strictfp", Attribute::StrictFP)
66 .Case("uwtable", Attribute::UWTable)
67 .Default(Attribute::None);
78 if (Kind == Attribute::None) {
lib/Transforms/IPO/FunctionAttrs.cpp 285 F->removeFnAttr(Attribute::ReadOnly);
286 F->removeFnAttr(Attribute::ReadNone);
287 F->removeFnAttr(Attribute::WriteOnly);
291 F->removeFnAttr(Attribute::ArgMemOnly);
292 F->removeFnAttr(Attribute::InaccessibleMemOnly);
293 F->removeFnAttr(Attribute::InaccessibleMemOrArgMemOnly);
298 F->addFnAttr(Attribute::WriteOnly);
300 F->addFnAttr(ReadsMemory ? Attribute::ReadOnly : Attribute::ReadNone);
300 F->addFnAttr(ReadsMemory ? Attribute::ReadOnly : Attribute::ReadNone);
444 static Attribute::AttrKind
452 return Attribute::None;
505 return Attribute::None;
525 return Attribute::None;
541 return Attribute::None;
554 return Attribute::None;
564 return Attribute::None;
568 return IsRead ? Attribute::ReadOnly : Attribute::ReadNone;
568 return IsRead ? Attribute::ReadOnly : Attribute::ReadNone;
612 A->addAttr(Attribute::Returned);
651 FArg->addAttr(Attribute::NonNull);
664 static bool addReadAttr(Argument *A, Attribute::AttrKind R) {
675 A->removeAttr(Attribute::WriteOnly);
676 A->removeAttr(Attribute::ReadOnly);
677 A->removeAttr(Attribute::ReadNone);
679 R == Attribute::ReadOnly ? ++NumReadOnlyArg : ++NumReadNoneArg;
707 A->addAttr(Attribute::NoCapture);
726 A->addAttr(Attribute::NoCapture);
750 Attribute::AttrKind R = determinePointerReadAttrs(&*A, Self);
751 if (R != Attribute::None)
774 A->addAttr(Attribute::NoCapture);
816 A->addAttr(Attribute::NoCapture);
832 Attribute::AttrKind ReadAttr = Attribute::ReadNone;
832 Attribute::AttrKind ReadAttr = Attribute::ReadNone;
835 Attribute::AttrKind K = determinePointerReadAttrs(A, ArgumentSCCNodes);
836 if (K == Attribute::ReadNone)
838 if (K == Attribute::ReadOnly) {
839 ReadAttr = Attribute::ReadOnly;
846 if (ReadAttr != Attribute::None) {
907 if (CS.hasRetAttr(Attribute::NoAlias))
1047 Attribute::NonNull))
1068 F->addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
1082 Attribute::NonNull) ||
1087 F->addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
1122 Attribute::AttrKind AKind;
1128 InferenceDescriptor(Attribute::AttrKind AK,
1283 Attribute::Convergent,
1304 Attribute::NoUnwind,
1327 Attribute::NoFree,
1429 if (F.hasOptNone() || F.hasFnAttribute(Attribute::Naked)) {
1502 if (!F || F->hasOptNone() || F->hasFnAttribute(Attribute::Naked)) {
lib/Transforms/IPO/GlobalOpt.cpp 2113 Attribute::AttrKind A) {
2120 static void RemoveAttribute(Function *F, Attribute::AttrKind A) {
2268 if (F->hasFnAttribute(Attribute::Naked))
2304 if (F->getAttributes().hasAttrSomewhere(Attribute::InAlloca) &&
2306 RemoveAttribute(F, Attribute::InAlloca);
2338 if (F->getAttributes().hasAttrSomewhere(Attribute::Nest) &&
2342 RemoveAttribute(F, Attribute::Nest);
lib/Transforms/IPO/HotColdSplitting.cpp 112 if (CS.hasFnAttr(Attribute::Cold) && !CS->getMetadata("nosanitize"))
120 if (CI->hasFnAttr(Attribute::NoReturn))
148 if (!F.hasFnAttribute(Attribute::Cold)) {
149 F.addFnAttr(Attribute::Cold);
152 if (!F.hasFnAttribute(Attribute::MinSize)) {
153 F.addFnAttr(Attribute::MinSize);
187 if (F.hasFnAttribute(Attribute::Cold))
202 if (F.hasFnAttribute(Attribute::AlwaysInline))
205 if (F.hasFnAttribute(Attribute::NoInline))
208 if (F.hasFnAttribute(Attribute::SanitizeAddress) ||
209 F.hasFnAttribute(Attribute::SanitizeHWAddress) ||
210 F.hasFnAttribute(Attribute::SanitizeThread) ||
211 F.hasFnAttribute(Attribute::SanitizeMemory))
lib/Transforms/IPO/IPConstantPropagation.cpp 165 if (F.hasFnAttribute(Attribute::Naked))
lib/Transforms/IPO/Inliner.cpp 523 Attribute attr = Attribute::get(CS->getContext(), "inline-remark", message);
523 Attribute attr = Attribute::get(CS->getContext(), "inline-remark", message);
813 if (AlwaysInlineOnly && !F->hasFnAttribute(Attribute::AlwaysInline))
lib/Transforms/IPO/LowerTypeTests.cpp 1312 Attribute TFAttr = F->getFnAttribute("target-features");
1313 if (!TFAttr.hasAttribute(Attribute::None)) {
1372 F->addFnAttr(Attribute::Naked);
1382 F->addFnAttr(Attribute::NoUnwind);
lib/Transforms/IPO/PartialInlining.cpp 1262 if (F->hasFnAttribute(Attribute::AlwaysInline))
1265 if (F->hasFnAttribute(Attribute::NoInline))
lib/Transforms/IPO/PruneEH.cpp 102 F->hasFnAttribute(Attribute::Naked) &&
103 F->hasFnAttribute(Attribute::NoInline);
154 if (!SCCMightUnwind && !F->hasFnAttribute(Attribute::NoUnwind)) {
155 F->addFnAttr(Attribute::NoUnwind);
159 if (!SCCMightReturn && !F->hasFnAttribute(Attribute::NoReturn)) {
160 F->addFnAttr(Attribute::NoReturn);
lib/Transforms/IPO/SyntheticCountsPropagation.cpp 79 if (F.hasFnAttribute(Attribute::AlwaysInline) ||
80 F.hasFnAttribute(Attribute::InlineHint)) {
88 } else if (F.hasFnAttribute(Attribute::Cold) ||
89 F.hasFnAttribute(Attribute::NoInline)) {
lib/Transforms/IPO/WholeProgramDevirt.cpp 1063 JT->addAttribute(1, Attribute::Nest);
1097 Attribute FSAttr = CS.getCaller()->getFnAttribute("target-features");
1098 if (FSAttr.hasAttribute(Attribute::None) ||
1136 M.getContext(), ArrayRef<Attribute>{Attribute::get(
1137 M.getContext(), Attribute::Nest)}));
lib/Transforms/InstCombine/InstCombineCalls.cpp 3696 Attribute::Convergent);
3912 if (II->getFunction()->hasFnAttribute(Attribute::SanitizeAddress) ||
3913 II->getFunction()->hasFnAttribute(Attribute::SanitizeMemory) ||
3914 II->getFunction()->hasFnAttribute(Attribute::SanitizeHWAddress))
4017 if (!II->hasRetAttr(Attribute::NonNull) &&
4019 II->addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
4229 Attribute::getWithDereferenceableBytes(
4233 Attribute::getWithDereferenceableOrNullBytes(
4237 Attribute::getWithDereferenceableOrNullBytes(
4245 Attribute::getWithDereferenceableOrNullBytes(
4253 Attribute::getWithDereferenceableOrNullBytes(
4259 Attribute::getWithDereferenceableOrNullBytes(
4280 !Call.paramHasAttr(ArgNo, Attribute::NonNull) &&
4292 Attribute::get(Ctx, Attribute::NonNull));
4292 Attribute::get(Ctx, Attribute::NonNull));
4373 Call.removeParamAttr(ix, Attribute::ByVal);
4375 ix, Attribute::getWithByValType(
4486 if (Callee->getAttributes().hasAttrSomewhere(Attribute::InAlloca) ||
4487 Callee->getAttributes().hasAttrSomewhere(Attribute::ByVal))
4507 if (ParamTy != ActTy && CallerPAL.hasParamAttribute(i, Attribute::ByVal)) {
4547 if (CallerPAL.hasAttrSomewhere(Attribute::StructRet, &SRetIdx) &&
4577 if (CallerPAL.hasParamAttribute(i, Attribute::ByVal)) {
4702 if (Attrs.hasAttrSomewhere(Attribute::Nest))
4719 if (AS.hasAttribute(Attribute::Nest)) {
lib/Transforms/Instrumentation/AddressSanitizer.cpp 2626 if (!F.hasFnAttribute(Attribute::SanitizeAddress)) return FunctionModified;
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp 734 Attribute::NoUnwind);
736 Attribute::ReadNone);
738 Attribute::ZExt);
739 AL = AL.addParamAttribute(M.getContext(), 0, Attribute::ZExt);
740 AL = AL.addParamAttribute(M.getContext(), 1, Attribute::ZExt);
748 Attribute::NoUnwind);
750 Attribute::ReadNone);
752 Attribute::ZExt);
753 AL = AL.addParamAttribute(M.getContext(), 0, Attribute::ZExt);
754 AL = AL.addParamAttribute(M.getContext(), 1, Attribute::ZExt);
761 Attribute::NoUnwind);
763 Attribute::ReadOnly);
765 Attribute::ZExt);
773 AL = AL.addParamAttribute(M.getContext(), 0, Attribute::ZExt);
821 ReadOnlyNoneAttrs.addAttribute(Attribute::ReadOnly)
822 .addAttribute(Attribute::ReadNone);
1120 Call->addAttribute(AttributeList::ReturnIndex, Attribute::ZExt);
1121 Call->addParamAttr(0, Attribute::ZExt);
1122 Call->addParamAttr(1, Attribute::ZExt);
1133 Call->addAttribute(AttributeList::ReturnIndex, Attribute::ZExt);
1134 Call->addParamAttr(0, Attribute::ZExt);
1135 Call->addParamAttr(1, Attribute::ZExt);
1236 FallbackCall->addAttribute(AttributeList::ReturnIndex, Attribute::ZExt);
1295 FallbackCall->addAttribute(AttributeList::ReturnIndex, Attribute::ZExt);
1655 CustomCI->addParamAttr(ArgNo, Attribute::ZExt);
lib/Transforms/Instrumentation/GCOVProfiling.cpp 859 F->addFnAttr(Attribute::NoInline);
861 F->addFnAttr(Attribute::NoRedZone);
948 WriteoutF->addFnAttr(Attribute::NoInline);
950 WriteoutF->addFnAttr(Attribute::NoRedZone);
1199 FlushF->addFnAttr(Attribute::NoInline);
1201 FlushF->addFnAttr(Attribute::NoRedZone);
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp 1107 if (!F.hasFnAttribute(Attribute::SanitizeHWAddress))
1444 if (F.isDeclaration() || !F.hasFnAttribute(Attribute::SanitizeHWAddress))
1449 } else if (!F.hasFnAttribute(Attribute::NoUnwind)) {
lib/Transforms/Instrumentation/InstrProfiling.cpp 700 F->hasFnAttribute(Attribute::AlwaysInline))
954 RegisterF->addFnAttr(Attribute::NoRedZone);
1000 User->addFnAttr(Attribute::NoInline);
1002 User->addFnAttr(Attribute::NoRedZone);
1038 F->addFnAttr(Attribute::NoInline);
1040 F->addFnAttr(Attribute::NoRedZone);
lib/Transforms/Instrumentation/MemorySanitizer.cpp 1053 bool SanitizeFunction = F.hasFnAttribute(Attribute::SanitizeMemory);
3280 B.addAttribute(Attribute::ReadOnly)
3281 .addAttribute(Attribute::ReadNone)
3282 .addAttribute(Attribute::WriteOnly)
3283 .addAttribute(Attribute::ArgMemOnly)
3284 .addAttribute(Attribute::Speculatable);
3313 if (CS.paramHasAttr(i, Attribute::ByVal)) {
3758 for (const auto &Attr : F.getAttributes().getFnAttributes()) {
3798 bool IsByVal = CS.paramHasAttr(ArgNo, Attribute::ByVal);
4417 bool IsByVal = CS.paramHasAttr(ArgNo, Attribute::ByVal);
4600 B.addAttribute(Attribute::ReadOnly)
4601 .addAttribute(Attribute::ReadNone)
4602 .addAttribute(Attribute::WriteOnly)
4603 .addAttribute(Attribute::ArgMemOnly)
4604 .addAttribute(Attribute::Speculatable);
lib/Transforms/Instrumentation/PGOInstrumentation.cpp 1626 F->addFnAttr(Attribute::InlineHint);
1631 F->addFnAttr(Attribute::Cold);
lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp 420 if (F.hasFnAttribute(Attribute::OptimizeForSize))
lib/Transforms/Instrumentation/SanitizerCoverage.cpp 389 SanCovTraceCmpZeroExtAL.addParamAttribute(*C, 0, Attribute::ZExt);
391 SanCovTraceCmpZeroExtAL.addParamAttribute(*C, 1, Attribute::ZExt);
418 AL = AL.addParamAttribute(*C, 0, Attribute::ZExt);
lib/Transforms/Instrumentation/ThreadSanitizer.cpp 206 Attribute::NoUnwind);
450 bool SanitizeFunction = F.hasFnAttribute(Attribute::SanitizeThread);
lib/Transforms/Scalar/CallSiteSplitting.cpp 90 CS.addParamAttr(ArgNo, Attribute::NonNull);
102 CS.removeParamAttr(ArgNo, Attribute::NonNull);
116 if (isa<Constant>(*I) || CS.paramHasAttr(ArgNo, Attribute::NonNull))
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp 584 if (Type && !CS.paramHasAttr(ArgNo, Attribute::NonNull) &&
601 Attribute::get(Ctx, Attribute::NonNull));
601 Attribute::get(Ctx, Attribute::NonNull));
lib/Transforms/Scalar/GVN.cpp 1311 Attribute::SanitizeAddress) ||
1313 Attribute::SanitizeHWAddress))
lib/Transforms/Scalar/LoopUnswitch.cpp 535 SanitizeMemory = F->hasFnAttribute(Attribute::SanitizeMemory);
663 loopHeader->getParent()->hasFnAttribute(Attribute::OptimizeForSize))
lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp 72 Call->addAttribute(AttributeList::FunctionIndex, Attribute::ReadNone);
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp 1246 FnAttrs.removeAttribute(Attribute::ReadNone);
1247 FnAttrs.removeAttribute(Attribute::ReadOnly);
1248 for (Attribute A : AL.getFnAttributes()) {
2387 R.addAttribute(Attribute::get(Ctx, Attribute::Dereferenceable,
2387 R.addAttribute(Attribute::get(Ctx, Attribute::Dereferenceable,
2390 R.addAttribute(Attribute::get(Ctx, Attribute::DereferenceableOrNull,
2390 R.addAttribute(Attribute::get(Ctx, Attribute::DereferenceableOrNull,
2392 if (AH.getAttributes().hasAttribute(Index, Attribute::NoAlias))
2393 R.addAttribute(Attribute::NoAlias);
lib/Transforms/Utils/BuildLibCalls.cpp 76 if (F.hasAttribute(AttributeList::ReturnIndex, Attribute::NoAlias))
78 F.addAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
84 if (F.hasParamAttribute(ArgNo, Attribute::NoCapture))
86 F.addParamAttr(ArgNo, Attribute::NoCapture);
92 if (F.hasParamAttribute(ArgNo, Attribute::NoAlias))
94 F.addParamAttr(ArgNo, Attribute::NoAlias);
100 if (F.hasParamAttribute(ArgNo, Attribute::ReadOnly))
102 F.addParamAttr(ArgNo, Attribute::ReadOnly);
110 if (F.hasAttribute(AttributeList::ReturnIndex, Attribute::NonNull))
112 F.addAttribute(AttributeList::ReturnIndex, Attribute::NonNull);
118 if (F.hasParamAttribute(ArgNo, Attribute::Returned))
120 F.addParamAttr(ArgNo, Attribute::Returned);
126 if (F.hasFnAttribute(Attribute::NonLazyBind))
128 F.addFnAttr(Attribute::NonLazyBind);
133 if (F.hasFnAttribute(Attribute::NoFree))
135 F.addFnAttr(Attribute::NoFree);
914 Attribute::NoUnwind);
1057 Attribute::Speculatable));
1099 Attribute::Speculatable));
lib/Transforms/Utils/CodeExtractor.cpp 841 for (const auto &Attr : oldFunction->getAttributes().getFnAttributes()) {
850 case Attribute::Alignment:
851 case Attribute::AllocSize:
852 case Attribute::ArgMemOnly:
853 case Attribute::Builtin:
854 case Attribute::ByVal:
855 case Attribute::Convergent:
856 case Attribute::Dereferenceable:
857 case Attribute::DereferenceableOrNull:
858 case Attribute::InAlloca:
859 case Attribute::InReg:
860 case Attribute::InaccessibleMemOnly:
861 case Attribute::InaccessibleMemOrArgMemOnly:
862 case Attribute::JumpTable:
863 case Attribute::Naked:
864 case Attribute::Nest:
865 case Attribute::NoAlias:
866 case Attribute::NoBuiltin:
867 case Attribute::NoCapture:
868 case Attribute::NoReturn:
869 case Attribute::NoSync:
870 case Attribute::None:
871 case Attribute::NonNull:
872 case Attribute::ReadNone:
873 case Attribute::ReadOnly:
874 case Attribute::Returned:
875 case Attribute::ReturnsTwice:
876 case Attribute::SExt:
877 case Attribute::Speculatable:
878 case Attribute::StackAlignment:
879 case Attribute::StructRet:
880 case Attribute::SwiftError:
881 case Attribute::SwiftSelf:
882 case Attribute::WillReturn:
883 case Attribute::WriteOnly:
884 case Attribute::ZExt:
885 case Attribute::ImmArg:
886 case Attribute::EndAttrKinds:
889 case Attribute::AlwaysInline:
890 case Attribute::Cold:
891 case Attribute::NoRecurse:
892 case Attribute::InlineHint:
893 case Attribute::MinSize:
894 case Attribute::NoDuplicate:
895 case Attribute::NoFree:
896 case Attribute::NoImplicitFloat:
897 case Attribute::NoInline:
898 case Attribute::NonLazyBind:
899 case Attribute::NoRedZone:
900 case Attribute::NoUnwind:
901 case Attribute::OptForFuzzing:
902 case Attribute::OptimizeNone:
903 case Attribute::OptimizeForSize:
904 case Attribute::SafeStack:
905 case Attribute::ShadowCallStack:
906 case Attribute::SanitizeAddress:
907 case Attribute::SanitizeMemory:
908 case Attribute::SanitizeThread:
909 case Attribute::SanitizeHWAddress:
910 case Attribute::SanitizeMemTag:
911 case Attribute::SpeculativeLoadHardening:
912 case Attribute::StackProtect:
913 case Attribute::StackProtectReq:
914 case Attribute::StackProtectStrong:
915 case Attribute::StrictFP:
916 case Attribute::UWTable:
917 case Attribute::NoCfCheck:
1143 call->addParamAttr(SwiftErrArgNo, Attribute::SwiftError);
1144 newFunction->addParamAttr(SwiftErrArgNo, Attribute::SwiftError);
lib/Transforms/Utils/FunctionComparator.cpp 114 Attribute LA = *LI;
115 Attribute RA = *RI;
lib/Transforms/Utils/LibCallsShrinkWrap.cpp 524 if (F.hasFnAttribute(Attribute::OptimizeForSize))
lib/Transforms/Utils/Local.cpp 2898 CI->addAttribute(AttributeList::FunctionIndex, Attribute::NoBuiltin);
lib/Transforms/Utils/SimplifyCFG.cpp 2303 if (Fn && Fn->hasFnAttribute(Attribute::OptForFuzzing))
3743 if (ExtraCase && BB->getParent()->hasFnAttribute(Attribute::SanitizeMemory))
5863 if (Fn && Fn->hasFnAttribute(Attribute::OptForFuzzing))
lib/Transforms/Utils/SimplifyLibCalls.cpp 184 if (CI->getFunction()->hasFnAttribute(Attribute::SanitizeMemory))
200 CI->paramHasAttr(ArgNo, Attribute::NonNull))
207 CI->removeParamAttr(ArgNo, Attribute::Dereferenceable);
209 CI->paramHasAttr(ArgNo, Attribute::NonNull))
210 CI->removeParamAttr(ArgNo, Attribute::DereferenceableOrNull);
211 CI->addParamAttr(ArgNo, Attribute::getWithDereferenceableBytes(
224 if (CI->paramHasAttr(ArgNo, Attribute::NonNull))
230 CI->addParamAttr(ArgNo, Attribute::NonNull);
785 CI->addParamAttr(0, Attribute::NoCapture);
2065 return CI->hasFnAttr(Attribute::NoUnwind) &&
2066 CI->hasFnAttr(Attribute::ReadNone);
2296 if (!CI->hasFnAttr(Attribute::Cold) &&
2298 CI->addAttribute(AttributeList::FunctionIndex, Attribute::Cold);
lib/Transforms/Utils/ValueMapper.cpp 903 if (Attrs.hasAttribute(i, Attribute::ByVal)) {
904 Type *Ty = Attrs.getAttribute(i, Attribute::ByVal).getValueAsType();
908 Attrs = Attrs.removeAttribute(C, i, Attribute::ByVal);
910 C, i, Attribute::getWithByValType(C, TypeMapper->remapType(Ty)));
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp 251 if (skipFunction(F) || F.hasFnAttribute(Attribute::NoImplicitFloat))
266 if (F.hasFnAttribute(Attribute::NoImplicitFloat))
lib/Transforms/Vectorize/LoopVectorize.cpp 7593 if (F->hasFnAttribute(Attribute::NoImplicitFloat)) {
lib/Transforms/Vectorize/SLPVectorizer.cpp 5290 if (F.hasFnAttribute(Attribute::NoImplicitFloat))
tools/bugpoint/CrashDebugger.cpp 321 class ReduceCrashingFunctionAttributes : public ListReducer<Attribute> {
331 Expected<TestResult> doTest(std::vector<Attribute> &Prefix,
332 std::vector<Attribute> &Kept) override {
340 bool TestFuncAttrs(std::vector<Attribute> &Attrs);
345 std::vector<Attribute> &Attrs) {
353 for (auto A : Attrs)
368 for (Attribute A : NewAttrs.getFnAttributes()) {
1133 std::vector<Attribute> Attrs;
1134 for (Attribute A : Fn->getAttributes().getFnAttributes())
tools/bugpoint/ListReducer.h 41 virtual Expected<TestResult> doTest(std::vector<ElTy> &Prefix,
42 std::vector<ElTy> &Kept) = 0;
47 Expected<bool> reduceList(std::vector<ElTy> &TheList) {
48 std::vector<ElTy> empty;
94 std::vector<ElTy> ShuffledList(TheList);
120 std::vector<ElTy> Prefix(TheList.begin(), TheList.begin() + Mid);
121 std::vector<ElTy> Suffix(TheList.begin() + Mid, TheList.end());
163 std::vector<ElTy> EmptyList;
183 std::vector<ElTy> TestList(TheList);
tools/clang/lib/CodeGen/CGBuiltin.cpp 858 llvm::Attribute::ReturnsTwice);
1071 llvm::Attribute::NoReturn);
1176 Fn->addFnAttr(llvm::Attribute::NoInline);
12319 llvm::Attribute::NoReturn);
tools/clang/lib/CodeGen/CGCall.cpp 1687 FuncAttrs.addAttribute(llvm::Attribute::NoUnwind);
1696 FuncAttrs.addAttribute(llvm::Attribute::OptimizeForSize);
1698 FuncAttrs.addAttribute(llvm::Attribute::MinSize);
1702 FuncAttrs.addAttribute(llvm::Attribute::NoRedZone);
1706 FuncAttrs.addAttribute(llvm::Attribute::NoImplicitFloat);
1712 FuncAttrs.addAttribute(llvm::Attribute::NoBuiltin);
1785 FuncAttrs.addAttribute(llvm::Attribute::SpeculativeLoadHardening);
1794 FuncAttrs.addAttribute(llvm::Attribute::Convergent);
1799 FuncAttrs.addAttribute(llvm::Attribute::NoUnwind);
1828 FuncAttrs.addAttribute(llvm::Attribute::NoReturn);
1841 FuncAttrs.addAttribute(llvm::Attribute::ReturnsTwice);
1843 FuncAttrs.addAttribute(llvm::Attribute::NoUnwind);
1845 FuncAttrs.addAttribute(llvm::Attribute::NoReturn);
1847 FuncAttrs.addAttribute(llvm::Attribute::Cold);
1849 FuncAttrs.addAttribute(llvm::Attribute::NoDuplicate);
1851 FuncAttrs.addAttribute(llvm::Attribute::Convergent);
1860 FuncAttrs.addAttribute(llvm::Attribute::NoReturn);
1865 FuncAttrs.addAttribute(llvm::Attribute::ReadNone);
1866 FuncAttrs.addAttribute(llvm::Attribute::NoUnwind);
1868 FuncAttrs.addAttribute(llvm::Attribute::ReadOnly);
1869 FuncAttrs.addAttribute(llvm::Attribute::NoUnwind);
1871 FuncAttrs.addAttribute(llvm::Attribute::ArgMemOnly);
1872 FuncAttrs.addAttribute(llvm::Attribute::NoUnwind);
1875 RetAttrs.addAttribute(llvm::Attribute::NoAlias);
1878 RetAttrs.addAttribute(llvm::Attribute::NonNull);
1882 FuncAttrs.addAttribute(llvm::Attribute::NoCfCheck);
1901 FuncAttrs.removeAttribute(llvm::Attribute::SpeculativeLoadHardening);
1903 FuncAttrs.addAttribute(llvm::Attribute::SpeculativeLoadHardening);
1915 FuncAttrs.addAttribute(llvm::Attribute::NonLazyBind);
1963 RetAttrs.addAttribute(llvm::Attribute::SExt);
1965 RetAttrs.addAttribute(llvm::Attribute::ZExt);
1969 RetAttrs.addAttribute(llvm::Attribute::InReg);
1977 FuncAttrs.removeAttribute(llvm::Attribute::ReadOnly)
1978 .removeAttribute(llvm::Attribute::ReadNone);
1996 RetAttrs.addAttribute(llvm::Attribute::NonNull);
2005 SRETAttrs.addAttribute(llvm::Attribute::StructRet);
2008 SRETAttrs.addAttribute(llvm::Attribute::InReg);
2016 Attrs.addAttribute(llvm::Attribute::InAlloca);
2035 llvm::AttrBuilder().addAttribute(llvm::Attribute::InReg));
2045 Attrs.addAttribute(llvm::Attribute::SExt);
2047 Attrs.addAttribute(llvm::Attribute::ZExt);
2051 Attrs.addAttribute(llvm::Attribute::Nest);
2053 Attrs.addAttribute(llvm::Attribute::InReg);
2058 Attrs.addAttribute(llvm::Attribute::InReg);
2083 FuncAttrs.removeAttribute(llvm::Attribute::ReadOnly)
2084 .removeAttribute(llvm::Attribute::ReadNone);
2094 FuncAttrs.removeAttribute(llvm::Attribute::ReadOnly)
2095 .removeAttribute(llvm::Attribute::ReadNone);
2106 Attrs.addAttribute(llvm::Attribute::NonNull);
2117 Attrs.addAttribute(llvm::Attribute::StructRet);
2122 Attrs.addAttribute(llvm::Attribute::NoAlias);
2129 Attrs.addAttribute(llvm::Attribute::getWithAlignment(
2136 Attrs.addAttribute(llvm::Attribute::SwiftError);
2140 Attrs.addAttribute(llvm::Attribute::SwiftSelf);
2145 Attrs.addAttribute(llvm::Attribute::NoCapture);
2268 AI->addAttr(llvm::Attribute::NoAlias);
2363 AI->addAttr(llvm::Attribute::NonNull);
2383 AI->addAttr(llvm::Attribute::NonNull);
2394 AI->addAttr(llvm::Attribute::NonNull);
2416 AI->addAttr(llvm::Attribute::NoAlias);
4317 llvm::Attribute::AlwaysInline);
4324 llvm::Attribute::NoInline);
4341 llvm::Attribute::NoUnwind);
4421 F->removeFnAttr(llvm::Attribute::NoReturn);
4423 llvm::Attribute::NoReturn);
tools/clang/lib/CodeGen/CGClass.cpp 1520 CurFn->addFnAttr(llvm::Attribute::AlwaysInline);
tools/clang/lib/CodeGen/CGDeclCXX.cpp 355 Fn->addFnAttr(llvm::Attribute::SanitizeAddress);
359 Fn->addFnAttr(llvm::Attribute::SanitizeAddress);
363 Fn->addFnAttr(llvm::Attribute::SanitizeHWAddress);
367 Fn->addFnAttr(llvm::Attribute::SanitizeHWAddress);
371 Fn->addFnAttr(llvm::Attribute::SanitizeMemTag);
375 Fn->addFnAttr(llvm::Attribute::SanitizeThread);
379 Fn->addFnAttr(llvm::Attribute::SanitizeMemory);
383 Fn->addFnAttr(llvm::Attribute::SanitizeMemory);
387 Fn->addFnAttr(llvm::Attribute::SafeStack);
391 Fn->addFnAttr(llvm::Attribute::ShadowCallStack);
tools/clang/lib/CodeGen/CGExpr.cpp 2986 B.addAttribute(llvm::Attribute::NoReturn)
2987 .addAttribute(llvm::Attribute::NoUnwind);
2989 B.addAttribute(llvm::Attribute::UWTable);
3306 auto A = llvm::Attribute::get(getLLVMContext(), "trap-func-name",
3306 auto A = llvm::Attribute::get(getLLVMContext(), "trap-func-name",
tools/clang/lib/CodeGen/CGExprCXX.cpp 1304 Fn && Fn->hasFnAttribute(llvm::Attribute::NoBuiltin)) {
1306 llvm::Attribute::Builtin);
tools/clang/lib/CodeGen/CGObjC.cpp 2096 f->addFnAttr(llvm::Attribute::NonLazyBind);
2644 f->addFnAttr(llvm::Attribute::NonLazyBind);
tools/clang/lib/CodeGen/CGObjCGNU.cpp 769 LookupFn2->addParamAttr(0, llvm::Attribute::NoCapture);
tools/clang/lib/CodeGen/CGObjCMac.cpp 70 llvm::Attribute::NonLazyBind));
591 llvm::Attribute::NonLazyBind));
741 {llvm::Attribute::NonLazyBind,
742 llvm::Attribute::ReadNone,
743 llvm::Attribute::NoUnwind}));
tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp 181 F->addFnAttr(llvm::Attribute::NoUnwind);
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 1370 Fn->removeFnAttr(llvm::Attribute::NoInline);
1371 Fn->removeFnAttr(llvm::Attribute::OptimizeNone);
1372 Fn->addFnAttr(llvm::Attribute::AlwaysInline);
4718 TaskPrivatesMap->removeFnAttr(llvm::Attribute::NoInline);
4719 TaskPrivatesMap->removeFnAttr(llvm::Attribute::OptimizeNone);
4720 TaskPrivatesMap->addFnAttr(llvm::Attribute::AlwaysInline);
8871 Fn->removeFnAttr(llvm::Attribute::OptimizeNone);
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 1979 OutlinedFun->removeFnAttr(llvm::Attribute::NoInline);
1980 OutlinedFun->removeFnAttr(llvm::Attribute::OptimizeNone);
1981 OutlinedFun->addFnAttr(llvm::Attribute::AlwaysInline);
2100 OutlinedFun->removeFnAttr(llvm::Attribute::NoInline);
2101 OutlinedFun->removeFnAttr(llvm::Attribute::OptimizeNone);
2102 OutlinedFun->addFnAttr(llvm::Attribute::AlwaysInline);
3490 Fn->removeFnAttr(llvm::Attribute::NoInline);
3491 Fn->removeFnAttr(llvm::Attribute::OptimizeNone);
3492 Fn->addFnAttr(llvm::Attribute::AlwaysInline);
tools/clang/lib/CodeGen/CGStmt.cpp 1918 llvm::Attribute::NoUnwind);
1923 llvm::Attribute::ReadNone);
1926 llvm::Attribute::ReadOnly);
1949 llvm::Attribute::Convergent);
2421 F->addFnAttr(llvm::Attribute::NoUnwind);
tools/clang/lib/CodeGen/CodeGenFunction.cpp 605 Fn->removeFnAttr(llvm::Attribute::SanitizeThread);
693 Fn->addFnAttr(llvm::Attribute::SanitizeAddress);
695 Fn->addFnAttr(llvm::Attribute::SanitizeHWAddress);
697 Fn->addFnAttr(llvm::Attribute::SanitizeMemTag);
699 Fn->addFnAttr(llvm::Attribute::SanitizeThread);
701 Fn->addFnAttr(llvm::Attribute::SanitizeMemory);
703 Fn->addFnAttr(llvm::Attribute::SafeStack);
705 Fn->addFnAttr(llvm::Attribute::ShadowCallStack);
709 Fn->addFnAttr(llvm::Attribute::OptForFuzzing);
821 Fn->addFnAttr(llvm::Attribute::NoRecurse);
tools/clang/lib/CodeGen/CodeGenModule.cpp 1485 B.addAttribute(llvm::Attribute::UWTable);
1488 B.addAttribute(llvm::Attribute::NoUnwind);
1492 B.addAttribute(llvm::Attribute::StackProtect);
1494 B.addAttribute(llvm::Attribute::StackProtectStrong);
1496 B.addAttribute(llvm::Attribute::StackProtectReq);
1503 if (!F->hasFnAttribute(llvm::Attribute::AlwaysInline) &&
1505 B.addAttribute(llvm::Attribute::NoInline);
1517 ShouldAddOptNone &= !F->hasFnAttribute(llvm::Attribute::AlwaysInline);
1521 B.addAttribute(llvm::Attribute::OptimizeNone);
1524 B.addAttribute(llvm::Attribute::NoInline);
1531 B.addAttribute(llvm::Attribute::Naked);
1534 F->removeFnAttr(llvm::Attribute::OptimizeForSize);
1535 F->removeFnAttr(llvm::Attribute::MinSize);
1538 B.addAttribute(llvm::Attribute::Naked);
1539 B.addAttribute(llvm::Attribute::NoInline);
1541 B.addAttribute(llvm::Attribute::NoDuplicate);
1543 B.addAttribute(llvm::Attribute::NoInline);
1545 !F->hasFnAttribute(llvm::Attribute::NoInline)) {
1547 B.addAttribute(llvm::Attribute::AlwaysInline);
1551 if (!F->hasFnAttribute(llvm::Attribute::AlwaysInline))
1552 B.addAttribute(llvm::Attribute::NoInline);
1570 B.addAttribute(llvm::Attribute::InlineHint);
1574 !F->hasFnAttribute(llvm::Attribute::AlwaysInline)) {
1575 B.addAttribute(llvm::Attribute::NoInline);
1585 B.addAttribute(llvm::Attribute::OptimizeForSize);
1586 B.addAttribute(llvm::Attribute::Cold);
1590 B.addAttribute(llvm::Attribute::MinSize);
1816 F->addAttribute(1, llvm::Attribute::Returned);
1838 llvm::Attribute::NoBuiltin);
1847 llvm::Attribute::NoAlias);
3343 llvm::Attribute::Convergent);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 1294 llvm::Attribute::AttrKind FuncAttrs[] = { llvm::Attribute::NoUnwind,
1294 llvm::Attribute::AttrKind FuncAttrs[] = { llvm::Attribute::NoUnwind,
1295 llvm::Attribute::ReadOnly };
2128 llvm::Attribute::NoUnwind));
2140 llvm::Attribute::NoUnwind));
2152 llvm::Attribute::NoUnwind));
2544 Wrapper->addFnAttr(llvm::Attribute::NoUnwind);
2592 InitFunc->addFnAttr(llvm::Attribute::NoUnwind);
4324 fn->addFnAttr(llvm::Attribute::NoInline);
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 2370 llvm::Attribute::NoUnwind),
2382 llvm::Attribute::NoUnwind),
2394 llvm::Attribute::NoUnwind),
tools/clang/lib/CodeGen/TargetInfo.cpp 6480 F->addFnAttr(llvm::Attribute::NoInline);
6922 F->addFnAttr(llvm::Attribute::NoInline);
7392 F->addFnAttr(llvm::Attribute::NoInline);
tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp 243 if (call_attribs.hasAttribute(I, llvm::Attribute::ByVal)) {
245 call_inst->removeAttribute(I, llvm::Attribute::ByVal);
256 arg.removeAttr(llvm::Attribute::ByVal);
tools/polly/lib/Transform/ScopInliner.cpp 81 F->addFnAttr(llvm::Attribute::AlwaysInline);
unittests/Analysis/MemoryBuiltinsTest.cpp 32 AllocSizeFn->addFnAttr(Attribute::getWithAllocSizeArgs(Context, 1, None));
unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp 26 Context, AttrBuilder().addAttribute(Attribute::NoUnwind));
30 AttrBuilder().addAttribute(Attribute::StructRet)),
31 AttributeSet::get(Context, AttrBuilder().addAttribute(Attribute::ByVal)),
unittests/IR/AttributesTest.cpp 20 Attribute AttrA = Attribute::get(C, Attribute::AlwaysInline);
20 Attribute AttrA = Attribute::get(C, Attribute::AlwaysInline);
20 Attribute AttrA = Attribute::get(C, Attribute::AlwaysInline);
21 Attribute AttrB = Attribute::get(C, Attribute::AlwaysInline);
21 Attribute AttrB = Attribute::get(C, Attribute::AlwaysInline);
21 Attribute AttrB = Attribute::get(C, Attribute::AlwaysInline);
24 AttributeList ASs[] = {AttributeList::get(C, 1, Attribute::ZExt),
25 AttributeList::get(C, 2, Attribute::SExt)};
35 Attribute Align4 = Attribute::get(C, Attribute::Alignment, 4);
35 Attribute Align4 = Attribute::get(C, Attribute::Alignment, 4);
35 Attribute Align4 = Attribute::get(C, Attribute::Alignment, 4);
36 Attribute Align5 = Attribute::get(C, Attribute::Alignment, 5);
36 Attribute Align5 = Attribute::get(C, Attribute::Alignment, 5);
36 Attribute Align5 = Attribute::get(C, Attribute::Alignment, 5);
37 Attribute Deref4 = Attribute::get(C, Attribute::Dereferenceable, 4);
37 Attribute Deref4 = Attribute::get(C, Attribute::Dereferenceable, 4);
37 Attribute Deref4 = Attribute::get(C, Attribute::Dereferenceable, 4);
38 Attribute Deref5 = Attribute::get(C, Attribute::Dereferenceable, 5);
38 Attribute Deref5 = Attribute::get(C, Attribute::Dereferenceable, 5);
38 Attribute Deref5 = Attribute::get(C, Attribute::Dereferenceable, 5);
44 Attribute ByVal = Attribute::get(C, Attribute::ByVal, Type::getInt32Ty(C));
44 Attribute ByVal = Attribute::get(C, Attribute::ByVal, Type::getInt32Ty(C));
44 Attribute ByVal = Attribute::get(C, Attribute::ByVal, Type::getInt32Ty(C));
48 AttributeList ASs[] = {AttributeList::get(C, 2, Attribute::ZExt),
49 AttributeList::get(C, 1, Attribute::SExt)};
60 B.addAttribute(Attribute::NoReturn);
64 B.addAttribute(Attribute::SExt);
73 Attribute AlignAttr = Attribute::getWithAlignment(C, Align(8));
73 Attribute AlignAttr = Attribute::getWithAlignment(C, Align(8));
74 Attribute StackAlignAttr = Attribute::getWithStackAlignment(C, Align(32));
74 Attribute StackAlignAttr = Attribute::getWithStackAlignment(C, Align(32));
77 B_align_readonly.addAttribute(Attribute::ReadOnly);
82 B_stackalign_optnone.addAttribute(Attribute::OptimizeNone);
89 AS = AS.removeAttribute(C, Attribute::Alignment);
109 AL = AL.removeParamAttribute(C, 0, Attribute::Alignment);
116 AL = AL.removeAttribute(C, 0, Attribute::StackAlignment);
144 Attribute::getWithAlignment(C, Align(8)));
146 Attribute::getWithAlignment(C, Align(32)));
151 B.addAttribute(Attribute::NonNull);
168 std::pair<unsigned, Attribute> Attrs[] = { { AttributeList::ReturnIndex, Attribute::get(C, Attribute::SExt) },
168 std::pair<unsigned, Attribute> Attrs[] = { { AttributeList::ReturnIndex, Attribute::get(C, Attribute::SExt) },
168 std::pair<unsigned, Attribute> Attrs[] = { { AttributeList::ReturnIndex, Attribute::get(C, Attribute::SExt) },
169 { AttributeList::FunctionIndex, Attribute::get(C, Attribute::ReadOnly) } };
169 { AttributeList::FunctionIndex, Attribute::get(C, Attribute::ReadOnly) } };
179 Attribute A = Attribute::getWithByValType(C, Ty);
179 Attribute A = Attribute::getWithByValType(C, Ty);
182 A = Attribute::getWithByValType(C, nullptr);
185 A = Attribute::getWithByValType(C, Type::getInt32Ty(C));
unittests/IR/InstructionsTest.cpp 530 AB.addAttribute(Attribute::ReadOnly);
549 AB.addAttribute(Attribute::Cold);
578 AB.addAttribute(Attribute::Cold);
unittests/IR/VerifierTest.cpp 55 AS.addAttribute(C, AttributeList::ReturnIndex, Attribute::UWTable));
unittests/Transforms/Utils/CloningTest.cpp 173 A->addAttr(Attribute::NoCapture);
usr/include/c++/7.4.0/bits/alloc_traits.h 387 using allocator_type = allocator<_Tp>;
389 using value_type = _Tp;
392 using pointer = _Tp*;
395 using const_pointer = const _Tp*;
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
486 destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h 108 class allocator: public __allocator_base<_Tp>
113 typedef _Tp* pointer;
114 typedef const _Tp* const_pointer;
115 typedef _Tp& reference;
116 typedef const _Tp& const_reference;
117 typedef _Tp value_type;
137 allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/move.h 46 inline _GLIBCXX_CONSTEXPR _Tp*
47 __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
104 : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
105 is_copy_constructible<_Tp>>::type { };
184 typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
185 is_move_constructible<_Tp>,
186 is_move_assignable<_Tp>>::value>::type
187 swap(_Tp& __a, _Tp& __b)
187 swap(_Tp& __a, _Tp& __b)
198 _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/predefined_ops.h 64 operator()(_Iterator __it, _Value& __val) const
89 operator()(_Value& __val, _Iterator __it) const
usr/include/c++/7.4.0/bits/stl_construct.h 74 _Construct(_T1* __p, _Args&&... __args)
74 _Construct(_T1* __p, _Args&&... __args)
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
204 allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_heap.h 129 _Distance __holeIndex, _Distance __topIndex, _Tp __value,
215 _Distance __len, _Tp __value, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_iterator.h 1224 __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 181 typedef _Tp value_type;
183 typedef _Tp* pointer;
184 typedef _Tp& reference;
192 typedef _Tp value_type;
194 typedef const _Tp* pointer;
195 typedef const _Tp& reference;
usr/include/c++/7.4.0/bits/stl_pair.h 101 is_constructible<_T2, const _U2&>>::value;
101 is_constructible<_T2, const _U2&>>::value;
108 is_convertible<const _U2&, _T2>>::value;
108 is_convertible<const _U2&, _T2>>::value;
115 is_constructible<_T2, _U2&&>>::value;
115 is_constructible<_T2, _U2&&>>::value;
122 is_convertible<_U2&&, _T2>>::value;
122 is_convertible<_U2&&, _T2>>::value;
129 is_convertible<_U2&&, _T2>>;
129 is_convertible<_U2&&, _T2>>;
134 is_constructible<_T2, _U2&&>,
134 is_constructible<_T2, _U2&&>,
143 is_convertible<const _U2&, _T2>>;
143 is_convertible<const _U2&, _T2>>;
148 is_constructible<_T2, const _U2&&>,
148 is_constructible<_T2, const _U2&&>,
209 : private __pair_base<_T1, _T2>
212 typedef _T2 second_type; /// @c second_type is the second bound type
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
380 is_copy_assignable<_T2>>::value,
391 is_move_assignable<_T2>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
405 operator=(const pair<_U1, _U2>& __p)
414 is_assignable<_T2&, _U2&&>>::value,
414 is_assignable<_T2&, _U2&&>>::value,
416 operator=(pair<_U1, _U2>&& __p)
usr/include/c++/7.4.0/bits/stl_uninitialized.h 288 _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h 77 rebind<_Tp>::other _Tp_alloc_type;
216 class vector : protected _Vector_base<_Tp, _Alloc>
227 typedef _Vector_base<_Tp, _Alloc> _Base;
232 typedef _Tp value_type;
919 _Tp*
923 const _Tp*
1483 _M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/ext/alloc_traits.h 117 { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h 63 typedef _Tp* pointer;
64 typedef const _Tp* const_pointer;
65 typedef _Tp& reference;
66 typedef const _Tp& const_reference;
67 typedef _Tp value_type;
84 new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
111 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
130 { return size_t(-1) / sizeof(_Tp); }
135 construct(_Up* __p, _Args&&... __args)
135 construct(_Up* __p, _Args&&... __args)
136 { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
140 destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list 50 typedef _E value_type;
51 typedef const _E& reference;
52 typedef const _E& const_reference;
54 typedef const _E* iterator;
55 typedef const _E* const_iterator;
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
889 typedef decltype(__test<_Tp>(0)) type;
894 : public __and_<__not_<is_void<_Tp>>,
895 __is_default_constructible_impl<_Tp>>
915 : public __is_default_constructible_atom<_Tp>::type
921 : public __is_default_constructible_safe<_Tp>::type
984 typedef decltype(__test<_Tp, _Arg>(0)) type;
989 : public __and_<is_destructible<_Tp>,
990 __is_direct_constructible_impl<_Tp, _Arg>>
1072 __is_direct_constructible_ref_cast<_Tp, _Arg>,
1073 __is_direct_constructible_new_safe<_Tp, _Arg>
1079 : public __is_direct_constructible_new<_Tp, _Arg>::type
1119 : public __is_direct_constructible<_Tp, _Arg>
1130 : public __is_constructible_impl<_Tp, _Args...>::type
1142 : public is_constructible<_Tp, const _Tp&>
1142 : public is_constructible<_Tp, const _Tp&>
1148 : public __is_copy_constructible_impl<_Tp>
1160 : public is_constructible<_Tp, _Tp&&>
1160 : public is_constructible<_Tp, _Tp&&>
1166 : public __is_move_constructible_impl<_Tp>
1215 : public __and_<is_constructible<_Tp, _Args...>,
1216 __is_nt_constructible_impl<_Tp, _Args...>>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1252 : public __is_nothrow_move_constructible_impl<_Tp>
1286 : public is_assignable<_Tp&, const _Tp&>
1286 : public is_assignable<_Tp&, const _Tp&>
1292 : public __is_copy_assignable_impl<_Tp>
1304 : public is_assignable<_Tp&, _Tp&&>
1304 : public is_assignable<_Tp&, _Tp&&>
1310 : public __is_move_assignable_impl<_Tp>
1352 : public is_nothrow_assignable<_Tp&, _Tp&&>
1352 : public is_nothrow_assignable<_Tp&, _Tp&&>
1358 : public __is_nt_move_assignable_impl<_Tp>
1377 static void __helper(const _Tp&);
1380 static true_type __test(const _Tp&,
1381 decltype(__helper<const _Tp&>({}))* = 0);
1390 typedef decltype(__test(declval<_Tp>())) type;
1395 : public __is_implicitly_default_constructible_impl<_Tp>::type
1400 : public __and_<is_default_constructible<_Tp>,
1401 __is_implicitly_default_constructible_safe<_Tp>>
1526 static void __test_aux(_To1);
1538 typedef decltype(__test<_From, _To>(0)) type;
1545 : public __is_convertible_helper<_From, _To>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
1955 { typedef _Tp type; };
2574 typename remove_reference<_Tp>::type>::type>::type
utils/unittest/googletest/include/gtest/gtest-printers.h 140 static void PrintValue(const T& value, ::std::ostream* os) {
205 ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
206 TypeWithoutFormatter<T,
207 (internal::IsAProtocolMessage<T>::value ? kProtobuf :
208 internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
276 static ::std::string Format(const ToPrint& value) {
351 const T1& value, const T2& /* other_operand */) {
351 const T1& value, const T2& /* other_operand */) {
352 return FormatForComparison<T1, T2>::Format(value);
352 return FormatForComparison<T1, T2>::Format(value);
366 void UniversalPrint(const T& value, ::std::ostream* os);
373 const C& container, ::std::ostream* os) {
439 const T& value, ::std::ostream* os) {
455 void PrintTo(const T& value, ::std::ostream* os) {
478 DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
699 static void Print(const T& value, ::std::ostream* os) {
784 static void Print(const T& value, ::std::ostream* os) {
856 typedef T T1;
983 internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h 1377 const T1& lhs, const T2& rhs) {
1377 const T1& lhs, const T2& rhs) {
1389 const T1& lhs,
1390 const T2& rhs) {
1419 const T1& lhs,
1420 const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 29 static const T& printable(const T& V) { return V; }
29 static const T& printable(const T& V) { return V; }
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
37 return StreamSwitch<T>::printable(V);
utils/unittest/googletest/include/gtest/internal/gtest-internal.h 94 ::std::string PrintToString(const T& value);