LLVM  3.7.0
Namespaces | Functions
Transforms/IPO.h File Reference
#include "llvm/ADT/ArrayRef.h"
Include dependency graph for Transforms/IPO.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

ModulePass * llvm::createStripSymbolsPass (bool OnlyDebugInfo=false)
 
ModulePass * llvm::createStripNonDebugSymbolsPass ()
 
ModulePass * llvm::createStripDebugDeclarePass ()
 
ModulePass * llvm::createStripDeadDebugInfoPass ()
 
ModulePass * llvm::createConstantMergePass ()
 createConstantMergePass - This function returns a new pass that merges duplicate global constants together into a single constant that is shared. More...
 
ModulePassllvm::createGlobalOptimizerPass ()
 createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken internal globals. More...
 
ModulePass * llvm::createGlobalDCEPass ()
 createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables) More...
 
ModulePass * llvm::createEliminateAvailableExternallyPass ()
 This transform is designed to eliminate available external globals (functions or global variables) More...
 
ModulePassllvm::createGVExtractionPass (std::vector< GlobalValue * > &GVs, bool deleteFn=false)
 createGVExtractionPass - If deleteFn is true, this pass deletes the specified global values. More...
 
Passllvm::createFunctionInliningPass ()
 createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions. More...
 
Passllvm::createFunctionInliningPass (int Threshold)
 
Passllvm::createFunctionInliningPass (unsigned OptLevel, unsigned SizeOptLevel)
 
Passllvm::createAlwaysInlinerPass ()
 createAlwaysInlinerPass - Return a new pass object that inlines only functions that are marked as "always_inline". More...
 
Passllvm::createAlwaysInlinerPass (bool InsertLifetime)
 
Passllvm::createPruneEHPass ()
 createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can not unwind the stack. More...
 
ModulePassllvm::createInternalizePass (ArrayRef< const char * > ExportList)
 createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) it can. More...
 
ModulePassllvm::createInternalizePass ()
 createInternalizePass - Same as above, but with an empty exportList. More...
 
ModulePass * llvm::createDeadArgEliminationPass ()
 createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function. More...
 
ModulePassllvm::createDeadArgHackingPass ()
 DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well. More...
 
Passllvm::createArgumentPromotionPass (unsigned maxElements=3)
 createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value if the number of elements passed is smaller or equal to maxElements (maxElements == 0 means always promote). More...
 
ModulePass * llvm::createIPConstantPropagationPass ()
 createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of functions. More...
 
ModulePassllvm::createIPSCCPPass ()
 createIPSCCPPass - This pass propagates constants from call sites into the bodies of functions, and keeps track of whether basic blocks are executable in the process. More...
 
Passllvm::createLoopExtractorPass ()
 createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can. More...
 
Passllvm::createSingleLoopExtractorPass ()
 createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can. More...
 
ModulePass * llvm::createBlockExtractorPass ()
 createBlockExtractorPass - This pass extracts all blocks (except those specified in the argument list) from the functions in the module. More...
 
ModulePassllvm::createStripDeadPrototypesPass ()
 createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not used. More...
 
Passllvm::createFunctionAttrsPass ()
 createFunctionAttrsPass - This pass discovers functions that do not access memory, or only read memory, and gives them the readnone/readonly attribute. More...
 
ModulePassllvm::createMergeFunctionsPass ()
 createMergeFunctionsPass - This pass discovers identical functions and collapses them. More...
 
ModulePass * llvm::createPartialInliningPass ()
 createPartialInliningPass - This pass inlines parts of functions. More...
 
ModulePass * llvm::createMetaRenamerPass ()
 
ModulePassllvm::createBarrierNoopPass ()
 createBarrierNoopPass - This pass is purely a module pass barrier in a pass manager. More...
 
ModulePassllvm::createLowerBitSetsPass ()
 This pass lowers bitset metadata and the llvm.bitset.test intrinsic to bitsets. More...