Lines Matching refs:Function

1 //===- Function.cpp - Implement the Global object classes -----------------===//
9 // This file implements the Function class for the IR library.
13 #include "llvm/IR/Function.h"
58 using ProfileCount = Function::ProfileCount;
70 void Function::renumberBlocks() {
79 void Function::validateBlockNumbers() const {
91 void Function::convertToNewDbgValues() {
98 void Function::convertFromNewDbgValues() {
105 void Function::setIsNewDbgInfoFormat(bool NewFlag) {
111 void Function::setNewDbgInfoFormatFlag(bool NewFlag) {
122 Argument::Argument(Type *Ty, const Twine &Name, Function *Par, unsigned ArgNo)
127 void Argument::setParent(Function *parent) {
366 // Helper Methods in Function
369 LLVMContext &Function::getContext() const {
373 const DataLayout &Function::getDataLayout() const {
377 unsigned Function::getInstructionCount() const {
385 Function *Function::Create(FunctionType *Ty, LinkageTypes Linkage,
390 Function *Function::createWithDefaultAttr(FunctionType *Ty,
394 auto *F = new (AllocMarker) Function(Ty, Linkage, AddrSpace, N, M);
454 void Function::removeFromParent() {
458 void Function::eraseFromParent() {
462 void Function::splice(Function::iterator ToIt, Function *FromF,
463 Function::iterator FromBeginIt,
464 Function::iterator FromEndIt) {
474 Function::iterator Function::erase(Function::iterator FromIt,
475 Function::iterator ToIt) {
480 // Function Implementation
491 Function::Function(FunctionType *Ty, LinkageTypes Linkage, unsigned AddrSpace,
521 Function::~Function() {
534 void Function::BuildLazyArguments() const {
542 new (Arguments + i) Argument(ArgTy, "", const_cast<Function *>(this), i);
549 const_cast<Function*>(this)->setValueSubclassData(SDC);
557 bool Function::isConstrainedFPIntrinsic() const {
561 void Function::clearArguments() {
570 void Function::stealArgumentListFrom(Function &Src) {
607 void Function::deleteBodyImpl(bool ShouldDrop) {
624 // The code needs to match Function::allocHungoffUselist().
637 void Function::addAttributeAtIndex(unsigned i, Attribute Attr) {
641 void Function::addFnAttr(Attribute::AttrKind Kind) {
645 void Function::addFnAttr(StringRef Kind, StringRef Val) {
649 void Function::addFnAttr(Attribute Attr) {
653 void Function::addFnAttrs(const AttrBuilder &Attrs) {
657 void Function::addRetAttr(Attribute::AttrKind Kind) {
661 void Function::addRetAttr(Attribute Attr) {
665 void Function::addRetAttrs(const AttrBuilder &Attrs) {
669 void Function::addParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
673 void Function::addParamAttr(unsigned ArgNo, Attribute Attr) {
677 void Function::addParamAttrs(unsigned ArgNo, const AttrBuilder &Attrs) {
681 void Function::removeAttributeAtIndex(unsigned i, Attribute::AttrKind Kind) {
685 void Function::removeAttributeAtIndex(unsigned i, StringRef Kind) {
689 void Function::removeFnAttr(Attribute::AttrKind Kind) {
693 void Function::removeFnAttr(StringRef Kind) {
697 void Function::removeFnAttrs(const AttributeMask &AM) {
701 void Function::removeRetAttr(Attribute::AttrKind Kind) {
705 void Function::removeRetAttr(StringRef Kind) {
709 void Function::removeRetAttrs(const AttributeMask &Attrs) {
713 void Function::removeParamAttr(unsigned ArgNo, Attribute::AttrKind Kind) {
717 void Function::removeParamAttr(unsigned ArgNo, StringRef Kind) {
721 void Function::removeParamAttrs(unsigned ArgNo, const AttributeMask &Attrs) {
726 void Function::addDereferenceableParamAttr(unsigned ArgNo, uint64_t Bytes) {
731 bool Function::hasFnAttribute(Attribute::AttrKind Kind) const {
735 bool Function::hasFnAttribute(StringRef Kind) const {
739 bool Function::hasRetAttribute(Attribute::AttrKind Kind) const {
743 bool Function::hasParamAttribute(unsigned ArgNo,
748 bool Function::hasParamAttribute(unsigned ArgNo, StringRef Kind) const {
752 Attribute Function::getAttributeAtIndex(unsigned i,
757 Attribute Function::getAttributeAtIndex(unsigned i, StringRef Kind) const {
761 bool Function::hasAttributeAtIndex(unsigned Idx,
766 Attribute Function::getFnAttribute(Attribute::AttrKind Kind) const {
770 Attribute Function::getFnAttribute(StringRef Kind) const {
774 Attribute Function::getRetAttribute(Attribute::AttrKind Kind) const {
778 uint64_t Function::getFnAttributeAsParsedInteger(StringRef Name,
792 Attribute Function::getParamAttribute(unsigned ArgNo,
797 void Function::addDereferenceableOrNullParamAttr(unsigned ArgNo,
803 void Function::addRangeRetAttr(const ConstantRange &CR) {
807 DenormalMode Function::getDenormalMode(const fltSemantics &FPType) const {
819 DenormalMode Function::getDenormalModeRaw() const {
825 DenormalMode Function::getDenormalModeF32Raw() const {
835 const std::string &Function::getGC() const {
836 assert(hasGC() && "Function has no collector");
840 void Function::setGC(std::string Str) {
845 void Function::clearGC() {
852 bool Function::hasStackProtectorFnAttr() const {
858 /// Copy all additional attributes (those not needed to create a Function) from
859 /// the Function Src to this one.
860 void Function::copyAttributesFrom(const Function *Src) {
876 MemoryEffects Function::getMemoryEffects() const {
879 void Function::setMemoryEffects(MemoryEffects ME) {
884 bool Function::doesNotAccessMemory() const {
887 void Function::setDoesNotAccessMemory() {
892 bool Function::onlyReadsMemory() const {
895 void Function::setOnlyReadsMemory() {
900 bool Function::onlyWritesMemory() const {
903 void Function::setOnlyWritesMemory() {
909 bool Function::onlyAccessesArgMemory() const {
912 void Function::setOnlyAccessesArgMemory() {
918 bool Function::onlyAccessesInaccessibleMemory() const {
921 void Function::setOnlyAccessesInaccessibleMemory() {
927 bool Function::onlyAccessesInaccessibleMemOrArgMem() const {
930 void Function::setOnlyAccessesInaccessibleMemOrArgMem() {
935 bool Function::isTargetIntrinsic() const {
939 void Function::updateAfterNameChange() {
955 bool Function::hasAddressTaken(const User **PutOffender,
1023 bool Function::isDefTriviallyDead() const {
1039 bool Function::callsFunctionThatReturnsTwice() const {
1048 Constant *Function::getPersonalityFn() const {
1053 void Function::setPersonalityFn(Constant *Fn) {
1058 Constant *Function::getPrefixData() const {
1063 void Function::setPrefixData(Constant *PrefixData) {
1068 Constant *Function::getPrologueData() const {
1073 void Function::setPrologueData(Constant *PrologueData) {
1078 void Function::allocHungoffUselist() {
1094 void Function::setHungoffOperand(Constant *C) {
1103 void Function::setValueSubclassDataBit(unsigned Bit, bool On) {
1111 void Function::setEntryCount(ProfileCount Count,
1128 void Function::setEntryCount(uint64_t Count, Function::ProfileCountType Type,
1133 std::optional<ProfileCount> Function::getEntryCount(bool AllowSynthetic) const {
1155 DenseSet<GlobalValue::GUID> Function::getImportGUIDs() const {
1167 void Function::setSectionPrefix(StringRef Prefix) {
1173 std::optional<StringRef> Function::getSectionPrefix() const {
1183 bool Function::nullPointerIsDefined() const {
1187 bool llvm::NullPointerIsDefined(const Function *F, unsigned AS) {