Home | History | Annotate | Download | only in IR

Lines Matching defs:Function

1 //===-- llvm/Function.h - Class to represent a single function --*- C++ -*-===//
10 // This file contains the declaration of the Function class, which represents a
11 // single function/procedure in LLVM.
13 // A function basically consists of a list of basic blocks, a list of arguments,
48 class Function : public GlobalObject, public ilist_node<Function> {
61 // Important things that make up a function!
82 /// Whether this function is materializable.
86 friend class SymbolTableListTraits<Function>;
88 /// hasLazyArguments/CheckLazyArguments - The argument list of a function is
105 /// Function ctor - If the (optional) Module argument is specified, the
106 /// function is automatically inserted into the end of the function list for
109 Function(FunctionType *Ty, LinkageTypes Linkage,
113 Function(const Function&) = delete;
114 void operator=(const Function&) = delete;
115 ~Function() override;
117 static Function *Create(FunctionType *Ty, LinkageTypes Linkage,
119 return new Function(Ty, Linkage, N, M);
130 /// function.
133 /// isVarArg - Return true if this function takes a variable number of
141 /// function, or Intrinsic::not_intrinsic if the function is not an
143 /// zero to allow easy checking for whether a function is intrinsic or not.
151 /// \brief Recalculate the ID for this function if it is an Intrinsic defined
153 /// if the name of this function does not match an intrinsic in that header.
155 /// from Value::setName() whenever the name of this function changes.
159 /// calling convention of this function. The enum values for the known
171 /// @brief Return the attribute list for this Function.
174 /// @brief Set the attribute list for this Function.
177 /// @brief Add function attributes to this function.
182 /// @brief Add function attributes to this function.
192 /// @brief Remove function attributes from this function.
197 /// @brief Remove function attribute from this function.
203 /// \brief Set the entry count for this function.
205 /// Entry count is the number of times this function was executed based on
209 /// \brief Get the entry count for this function.
211 /// Entry count is the number of times the function was executed based on
215 /// Set the section prefix for this function.
218 /// Get the section prefix for this function.
221 /// @brief Return true if the function has the attribute.
237 /// \brief Return the stack alignment for the function.
308 /// @brief Determine if the function does not access memory.
316 /// @brief Determine if the function does not access or only reads memory.
324 /// @brief Determine if the function does not access or only writes memory.
339 /// @brief Determine if the function may only access memory that is
348 /// @brief Determine if the function may only access memory that is
357 /// @brief Determine if the function cannot return.
365 /// @brief Determine if the function cannot unwind.
392 /// Determine if the function is known not to recurse, directly or
402 /// function be in a unwind table.
410 /// @brief True if this function needs an unwind table.
415 /// @brief Determine if the function returns a structure through first
456 /// Optimize this function for minimum size (-Oz).
459 /// Optimize this function for size (-Os) or minimum size (-Oz).
465 /// create a Function) from the Function Src to this one.
468 /// deleteBody - This method deletes the body of the function, and converts
486 /// Steal arguments from another function.
488 /// Drop this function's arguments and splice in the ones from \c Src.
489 /// Requires that this has no function body.
490 void stealArgumentListFrom(Function &Src);
492 /// Get the underlying elements of the Function... the basic block list is
504 static ArgumentListType Function::*getSublistAccess(Argument*) {
505 return &Function::ArgumentList;
511 static BasicBlockListType Function::*getSublistAccess(BasicBlock*) {
512 return &Function::BasicBlocks;
543 /// @name Function Argument Iteration
576 /// \brief Check whether this function has a personality function.
581 /// \brief Get the personality function associated with this function.
585 /// \brief Check whether this function has prefix data.
590 /// \brief Get the prefix data associated with this function.
594 /// \brief Check whether this function has prologue data.
599 /// \brief Get the prologue data associated with this function.
603 /// Print the function to an output stream with an optional
609 /// viewCFG - This function is meant for use from the debugger. You can just
611 /// program, displaying the CFG of the current function with the code for each
617 /// viewCFGOnly - This function is meant for use from the debugger. It works
638 /// function, dropping all references deletes the entire body of the function,
643 /// hasAddressTaken - returns true if there are any uses of this function
650 /// this function definition from the module (because it isn't externally
655 /// callsFunctionThatReturnsTwice - Return true if the function has a call to
656 /// setjmp or other function that gcc recognizes as "returning twice".
683 struct OperandTraits<Function> : public HungoffOperandTraits<3> {};
685 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(Function, Value)