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

References

gen/include/llvm/IR/IntrinsicImpl.inc
16969       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
16987       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17127       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17135       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17265       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17273       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17285       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17297       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17311       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17323       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17337       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17349       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17363       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17377       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17391       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17405       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17419       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17433       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17447       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17461       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17475       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17489       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17499       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17507       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17517       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17525       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
17535       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};
17565       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17571       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17573       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17579       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
17581       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
17589       const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture,Attribute::ReadOnly};
17591       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};
17839       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
17895       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Speculatable,Attribute::ReadOnly,Attribute::InaccessibleMemOnly};
18117       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
18137       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::NoAlias,Attribute::ReadOnly};
18149       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18171       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
18215       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18223       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly};
18231       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WillReturn,Attribute::ReadOnly,Attribute::ArgMemOnly};
gen/lib/IR/AttributesCompatFunc.inc
  111     .Case("readonly", Attribute::ReadOnly)
  368     return llvm::Attribute::ReadOnly;
include/llvm/IR/CallSite.h
  633     return dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadOnly) ||
include/llvm/IR/Function.h
  487     return doesNotAccessMemory() || hasFnAttribute(Attribute::ReadOnly);
  490     addFnAttr(Attribute::ReadOnly);
include/llvm/IR/InstrTypes.h
 1011       if (A == Attribute::ReadOnly || A == Attribute::NoCapture)
 1563     return dataOperandHasImpliedAttr(OpNo + 1, Attribute::ReadOnly) ||
 1643     return doesNotAccessMemory() || hasFnAttr(Attribute::ReadOnly);
 1646     addAttribute(AttributeList::FunctionIndex, Attribute::ReadOnly);
 1949     case Attribute::ReadOnly:
lib/Analysis/BasicAliasAnalysis.cpp
  802   if (Call->paramHasAttr(ArgIdx, Attribute::ReadOnly))
lib/Analysis/ModuleSummaryAnalysis.cpp
  465       F.hasFnAttribute(Attribute::ReadOnly),
  703                         F->hasFnAttribute(Attribute::ReadOnly),
lib/AsmParser/LLParser.cpp
 1300     case lltok::kw_readonly: B.addAttribute(Attribute::ReadOnly); break;
 1641     case lltok::kw_readonly:        B.addAttribute(Attribute::ReadOnly); break;
lib/Bitcode/Reader/BitcodeReader.cpp
 1231   case Attribute::ReadOnly:        return 1 << 10;
 1492     return Attribute::ReadOnly;
lib/Bitcode/Writer/BitcodeWriter.cpp
  676   case Attribute::ReadOnly:
lib/IR/Attributes.cpp
  355   if (hasAttribute(Attribute::ReadOnly))
 1715       .addAttribute(Attribute::ReadOnly)
lib/IR/Function.cpp
  171   return Attrs.hasParamAttribute(getArgNo(), Attribute::ReadOnly) ||
lib/IR/Verifier.cpp
 1557   return Kind == Attribute::ReadOnly || Kind == Attribute::WriteOnly ||
 1610            Attrs.hasAttribute(Attribute::ReadOnly)),
 1628            Attrs.hasAttribute(Attribute::ReadOnly)),
 1639   Assert(!(Attrs.hasAttribute(Attribute::ReadOnly) &&
 1713   Assert((!RetAttrs.hasAttribute(Attribute::ReadOnly) &&
 1777            Attrs.hasFnAttribute(Attribute::ReadOnly)),
 1784   Assert(!(Attrs.hasFnAttribute(Attribute::ReadOnly) &&
lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
  133          F->hasParamAttribute(ArgNo, Attribute::ReadOnly))) {
lib/Target/AMDGPU/AMDGPULibFunc.cpp
  991                              Attribute::ReadOnly);
lib/Target/AMDGPU/SIISelLowering.cpp
  929     if (Attr.hasFnAttribute(Attribute::ReadOnly)) {
lib/Transforms/IPO/Attributor.cpp
 3785       case Attribute::ReadOnly:
 3811       Attrs.push_back(Attribute::get(Ctx, Attribute::ReadOnly));
 3853     Attribute::ReadNone, Attribute::ReadOnly, Attribute::WriteOnly};
lib/Transforms/IPO/ForceFunctionAttrs.cpp
   51       .Case("readonly", Attribute::ReadOnly)
lib/Transforms/IPO/FunctionAttrs.cpp
  285     F->removeFnAttr(Attribute::ReadOnly);
  300       F->addFnAttr(ReadsMemory ? Attribute::ReadOnly : Attribute::ReadNone);
  568   return IsRead ? Attribute::ReadOnly : Attribute::ReadNone;
  665   assert((R == Attribute::ReadOnly || R == Attribute::ReadNone)
  676   A->removeAttr(Attribute::ReadOnly);
  679   R == Attribute::ReadOnly ? ++NumReadOnlyArg : ++NumReadNoneArg;
  838       if (K == Attribute::ReadOnly) {
  839         ReadAttr = Attribute::ReadOnly;
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  763                          Attribute::ReadOnly);
  821   ReadOnlyNoneAttrs.addAttribute(Attribute::ReadOnly)
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 3280         B.addAttribute(Attribute::ReadOnly)
 4600   B.addAttribute(Attribute::ReadOnly)
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
 1247   FnAttrs.removeAttribute(Attribute::ReadOnly);
lib/Transforms/Utils/BuildLibCalls.cpp
  100   if (F.hasParamAttribute(ArgNo, Attribute::ReadOnly))
  102   F.addParamAttr(ArgNo, Attribute::ReadOnly);
lib/Transforms/Utils/CodeExtractor.cpp
  873       case Attribute::ReadOnly:
tools/clang/lib/CodeGen/CGCall.cpp
 1868       FuncAttrs.addAttribute(llvm::Attribute::ReadOnly);
 1977     FuncAttrs.removeAttribute(llvm::Attribute::ReadOnly)
 2083       FuncAttrs.removeAttribute(llvm::Attribute::ReadOnly)
 2094       FuncAttrs.removeAttribute(llvm::Attribute::ReadOnly)
tools/clang/lib/CodeGen/CGStmt.cpp
 1926                           llvm::Attribute::ReadOnly);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 1295                                             llvm::Attribute::ReadOnly };
unittests/IR/AttributesTest.cpp
   77   B_align_readonly.addAttribute(Attribute::ReadOnly);
   88   EXPECT_TRUE(AS.hasAttribute(Attribute::ReadOnly));
   91   EXPECT_TRUE(AS.hasAttribute(Attribute::ReadOnly));
   95   EXPECT_TRUE(AS.hasAttribute(Attribute::ReadOnly));
  106   EXPECT_TRUE(AL.hasParamAttr(0, Attribute::ReadOnly));
  111   EXPECT_TRUE(AL.hasParamAttr(0, Attribute::ReadOnly));
  118   EXPECT_TRUE(AL.hasParamAttr(0, Attribute::ReadOnly));
  128   EXPECT_TRUE(AL2.hasParamAttr(0, Attribute::ReadOnly));
  135   EXPECT_TRUE(AL2.hasParamAttr(0, Attribute::ReadOnly));
  169                                              { AttributeList::FunctionIndex, Attribute::get(C, Attribute::ReadOnly) } };
unittests/IR/InstructionsTest.cpp
  530     AB.addAttribute(Attribute::ReadOnly);