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

References

gen/lib/IR/AttributesCompatFunc.inc
  145     return Fn.hasFnAttribute(Kind);
include/llvm/IR/Function.h
  344     if (!hasFnAttribute(Attribute::StackAlignment))
  479     return hasFnAttribute(Attribute::ReadNone);
  487     return doesNotAccessMemory() || hasFnAttribute(Attribute::ReadOnly);
  495     return doesNotAccessMemory() || hasFnAttribute(Attribute::WriteOnly);
  504     return hasFnAttribute(Attribute::ArgMemOnly);
  511     return hasFnAttribute(Attribute::InaccessibleMemOnly);
  520     return hasFnAttribute(Attribute::InaccessibleMemOrArgMemOnly);
  528     return hasFnAttribute(Attribute::NoReturn);
  535   bool doesNoCfCheck() const { return hasFnAttribute(Attribute::NoCfCheck); }
  539     return hasFnAttribute(Attribute::NoUnwind);
  547     return hasFnAttribute(Attribute::NoDuplicate);
  555     return hasFnAttribute(Attribute::Convergent);
  566     return hasFnAttribute(Attribute::Speculatable);
  574     return onlyReadsMemory() || hasFnAttribute(Attribute::NoFree);
  583     return hasFnAttribute(Attribute::NoRecurse);
  592     return hasFnAttribute(Attribute::UWTable);
  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/IRBuilder.h
  262     if (!F->hasFnAttribute(Attribute::StrictFP)) {
include/llvm/Transforms/IPO/Attributor.h
  930       Invalidate |= Fn->hasFnAttribute(Attribute::Naked) ||
  931                     Fn->hasFnAttribute(Attribute::OptimizeNone);
lib/Analysis/InlineCost.cpp
  918     if (Callee.hasFnAttribute(Attribute::InlineHint))
 1233       !F.hasFnAttribute(Attribute::ReturnsTwice)) {
 2066   if (Callee->hasFnAttribute(Attribute::NoInline))
 2092   bool ReturnsTwice = F.hasFnAttribute(Attribute::ReturnsTwice);
lib/Analysis/MemoryDependenceAnalysis.cpp
  249   if (LI->getParent()->getParent()->hasFnAttribute(Attribute::SanitizeThread))
  300         (LI->getParent()->getParent()->hasFnAttribute(
  302          LI->getParent()->getParent()->hasFnAttribute(
lib/Analysis/ModuleSummaryAnalysis.cpp
  464       F.hasFnAttribute(Attribute::ReadNone),
  465       F.hasFnAttribute(Attribute::ReadOnly),
  466       F.hasFnAttribute(Attribute::NoRecurse), F.returnDoesNotAlias(),
  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);
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  676   if (F.hasFnAttribute(Attribute::Cold))
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 1385   if (GV.hasFnAttribute(Attribute::InlineHint))
 1387   if (GV.hasFnAttribute(Attribute::Naked))
lib/CodeGen/CFGuardLongjmp.cpp
   92         if (F->hasFnAttribute(Attribute::ReturnsTwice)) {
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
 1305     if (F.hasFnAttribute(Attribute::NoReturn))
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/PrologEpilogInserter.cpp
  254   if (!F.hasFnAttribute(Attribute::Naked))
  612   if (!F.hasFnAttribute(Attribute::Naked)) {
lib/CodeGen/SafeStack.cpp
  712   if (Callee->isInterposable() || Callee->hasFnAttribute(Attribute::NoInline) ||
  738   assert(F.hasFnAttribute(Attribute::SafeStack) &&
  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.cpp
15496   bool NoVectors = DAG.getMachineFunction().getFunction().hasFnAttribute(
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
  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/TargetFrameLoweringImpl.cpp
   34   assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) &&
   35          MF.getFunction().hasFnAttribute(Attribute::NoUnwind) &&
   36          !MF.getFunction().hasFnAttribute(Attribute::UWTable));
  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/TargetRegisterInfo.cpp
  453                               F.hasFnAttribute(Attribute::StackAlignment));
lib/IR/Attributes.cpp
 1763   if (Callee.hasFnAttribute(Attribute::StackProtectReq)) {
 1766   } else if (Callee.hasFnAttribute(Attribute::StackProtectStrong) &&
 1767              !Caller.hasFnAttribute(Attribute::StackProtectReq)) {
 1770   } else if (Callee.hasFnAttribute(Attribute::StackProtect) &&
 1771              !Caller.hasFnAttribute(Attribute::StackProtectReq) &&
 1772              !Caller.hasFnAttribute(Attribute::StackProtectStrong))
lib/Target/AArch64/AArch64FastISel.cpp
 2297   if (FuncInfo.MF->getFunction().hasFnAttribute(
lib/Target/AArch64/AArch64FrameLowering.cpp
  220   if (MF.getFunction().hasFnAttribute(Attribute::NoRedZone))
 1575              MF.getFunction().hasFnAttribute(Attribute::SanitizeHWAddress),
 1889         MF.getFunction().hasFnAttribute(Attribute::ShadowCallStack)) {
 1973     if (!MF.getFunction().hasFnAttribute(Attribute::NoUnwind)) {
lib/Target/AArch64/AArch64ISelLowering.cpp
 4689       !MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening);
 4886   if (DAG.getMachineFunction().getFunction().hasFnAttribute(
11402   if (MF.getFunction().hasFnAttribute(Attribute::SpeculativeLoadHardening))
12400     assert(Entry->getParent()->getFunction().hasFnAttribute(
lib/Target/AArch64/AArch64ISelLowering.h
  472     bool NoFloat = DAG.getMachineFunction().getFunction().hasFnAttribute(
  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
  116   bool SCS = MF.getFunction().hasFnAttribute(Attribute::ShadowCallStack);
  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/AMDGPU/AMDGPUAlwaysInlinePass.cpp
  134           !F.hasFnAttribute(IncompatAttr)) {
lib/Target/AMDGPU/AMDGPUInline.cpp
  117     Callee->hasFnAttribute(Attribute::InlineHint);
  119       && !Caller->hasFnAttribute(Attribute::MinSize))
  221   if (IC && !IC.isAlways() && !Callee->hasFnAttribute(Attribute::InlineHint)) {
lib/Target/AMDGPU/SILowerSGPRSpills.cpp
  197   if (!F.hasFnAttribute(Attribute::Naked)) {
lib/Target/ARM/ARMBaseInstrInfo.cpp
 4314       if (MF->getFunction().hasFnAttribute(Attribute::OptimizeForSize))
lib/Target/ARM/ARMFrameLowering.cpp
   92   assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) &&
   93          MF.getFunction().hasFnAttribute(Attribute::NoUnwind) &&
   94          !MF.getFunction().hasFnAttribute(Attribute::UWTable));
 1596   if (MF.getFunction().hasFnAttribute(Attribute::Naked))
lib/Target/ARM/ARMISelLowering.cpp
10039     if (!MF->getFunction().hasFnAttribute(Attribute::NoImplicitFloat) &&
17121     assert(Entry->getParent()->getFunction().hasFnAttribute(
lib/Target/ARM/ARMISelLowering.h
  763           MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
lib/Target/Hexagon/HexagonCopyToCombine.cpp
  474   bool OptForSize = F.hasFnAttribute(Attribute::OptimizeForSize);
lib/Target/Hexagon/HexagonFrameLowering.cpp
  557   assert(F.hasFnAttribute(Attribute::NoReturn) &&
  558          F.getFunction().hasFnAttribute(Attribute::NoUnwind) &&
  559          !F.getFunction().hasFnAttribute(Attribute::UWTable));
  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/HexagonLoopIdiomRecognition.cpp
 2091     if (Func->hasFnAttribute(Attribute::AlwaysInline))
lib/Target/Mips/MipsAsmPrinter.cpp
  428   bool IsNakedFunction = MF->getFunction().hasFnAttribute(Attribute::Naked);
lib/Target/PowerPC/PPCFrameLowering.cpp
  489   bool DisableRedZone = MF.getFunction().hasFnAttribute(Attribute::NoRedZone);
  549   if (MF.getFunction().hasFnAttribute(Attribute::Naked))
lib/Target/PowerPC/PPCISelLowering.cpp
10693   if (MF->getFunction().hasFnAttribute(Attribute::Naked))
14555   if (MF.getFunction().hasFnAttribute(Attribute::Naked))
15053     assert(Entry->getParent()->getFunction().hasFnAttribute(
lib/Target/PowerPC/PPCISelLowering.h
  666         MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
lib/Target/PowerPC/PPCRegisterInfo.cpp
 1065   if (!MF.getFunction().hasFnAttribute(Attribute::Naked)) {
lib/Target/Sparc/SparcISelLowering.cpp
  712   return CalleeFn->hasFnAttribute(Attribute::ReturnsTwice);
lib/Target/TargetMachine.cpp
  185     if (F && F->hasFnAttribute(Attribute::NonLazyBind))
lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
  121                        !MF.getFunction().hasFnAttribute(Attribute::NoRedZone);
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
 3148   bool NoImplicitFloatOps = F.hasFnAttribute(Attribute::NoImplicitFloat);
 3354            F.hasFnAttribute(Attribute::NoImplicitFloat)) &&
 5030   bool NoFloat = DAG.getMachineFunction().getFunction().hasFnAttribute(
22369            !(MF.getFunction().hasFnAttribute(Attribute::NoImplicitFloat)) &&
26453       SI->getFunction()->hasFnAttribute(Attribute::NoImplicitFloat);
26471       LI->getFunction()->hasFnAttribute(Attribute::NoImplicitFloat);
27218         DAG.getMachineFunction().getFunction().hasFnAttribute(
27832         DAG.getMachineFunction().getFunction().hasFnAttribute(
28364         DAG.getMachineFunction().getFunction().hasFnAttribute(
40663   bool NoImplicitFloatOps = F.hasFnAttribute(Attribute::NoImplicitFloat);
46199         Entry->getParent()->getFunction().hasFnAttribute(Attribute::NoUnwind) &&
lib/Target/X86/X86ISelLowering.h
 1386           MF->getFunction().hasFnAttribute(Attribute::NoUnwind);
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/Transforms/CFGuard/CFGuard.cpp
  258   if (cfguard_module_flag != 2 || F.hasFnAttribute(Attribute::NoCfCheck))
lib/Transforms/IPO/AlwaysInliner.cpp
   49     if (!F.isDeclaration() && F.hasFnAttribute(Attribute::AlwaysInline) &&
lib/Transforms/IPO/ArgumentPromotion.cpp
  874   if(F->hasFnAttribute(Attribute::Naked))
lib/Transforms/IPO/Attributor.cpp
 2855     if (!F || F->hasFnAttribute(Attribute::WillReturn))
lib/Transforms/IPO/DeadArgumentElimination.cpp
  133   if (Fn.hasFnAttribute(Attribute::Naked)) {
  283   if (Fn.hasFnAttribute(Attribute::Naked))
  497   if (F.hasFnAttribute(Attribute::Naked)) {
lib/Transforms/IPO/ForceFunctionAttrs.cpp
   83     if (F.hasFnAttribute(Kind))
lib/Transforms/IPO/FunctionAttrs.cpp
 1429     if (F.hasOptNone() || F.hasFnAttribute(Attribute::Naked)) {
 1502     if (!F || F->hasOptNone() || F->hasFnAttribute(Attribute::Naked)) {
lib/Transforms/IPO/GlobalOpt.cpp
 2268     if (F->hasFnAttribute(Attribute::Naked))
lib/Transforms/IPO/HotColdSplitting.cpp
  148   if (!F.hasFnAttribute(Attribute::Cold)) {
  152   if (!F.hasFnAttribute(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
  813     if (AlwaysInlineOnly && !F->hasFnAttribute(Attribute::AlwaysInline))
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)) {
  159       if (!SCCMightReturn && !F->hasFnAttribute(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/InstCombine/InstCombineCalls.cpp
 3912     if (II->getFunction()->hasFnAttribute(Attribute::SanitizeAddress) ||
 3913         II->getFunction()->hasFnAttribute(Attribute::SanitizeMemory) ||
 3914         II->getFunction()->hasFnAttribute(Attribute::SanitizeHWAddress))
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2626   if (!F.hasFnAttribute(Attribute::SanitizeAddress)) return FunctionModified;
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))
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 1053     bool SanitizeFunction = F.hasFnAttribute(Attribute::SanitizeMemory);
lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
  420   if (F.hasFnAttribute(Attribute::OptimizeForSize))
lib/Transforms/Instrumentation/ThreadSanitizer.cpp
  450   bool SanitizeFunction = F.hasFnAttribute(Attribute::SanitizeThread);
  496     assert(!F.hasFnAttribute(Attribute::SanitizeThread));
lib/Transforms/Scalar/GVN.cpp
 1310   if (LI->getParent()->getParent()->hasFnAttribute(
 1312       LI->getParent()->getParent()->hasFnAttribute(
lib/Transforms/Scalar/LoopUnswitch.cpp
  535   SanitizeMemory = F->hasFnAttribute(Attribute::SanitizeMemory);
  663       loopHeader->getParent()->hasFnAttribute(Attribute::OptimizeForSize))
lib/Transforms/Utils/BuildLibCalls.cpp
  126   if (F.hasFnAttribute(Attribute::NonLazyBind))
  133   if (F.hasFnAttribute(Attribute::NoFree))
lib/Transforms/Utils/LibCallsShrinkWrap.cpp
  524   if (F.hasFnAttribute(Attribute::OptimizeForSize))
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))
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/clang/lib/CodeGen/CGExprCXX.cpp
 1304       Fn && Fn->hasFnAttribute(llvm::Attribute::NoBuiltin)) {
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1503     if (!F->hasFnAttribute(llvm::Attribute::AlwaysInline) &&
 1517   ShouldAddOptNone &= !F->hasFnAttribute(llvm::Attribute::AlwaysInline);
 1525     assert(!F->hasFnAttribute(llvm::Attribute::AlwaysInline) &&
 1545              !F->hasFnAttribute(llvm::Attribute::NoInline)) {
 1551     if (!F->hasFnAttribute(llvm::Attribute::AlwaysInline))
 1574                  !F->hasFnAttribute(llvm::Attribute::AlwaysInline)) {