LLVM API Documentation
#include "llvm/Transforms/IPO.h"#include "llvm/Constants.h"#include "llvm/DerivedTypes.h"#include "llvm/Module.h"#include "llvm/CallGraphSCCPass.h"#include "llvm/Instructions.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/CallGraph.h"#include "llvm/Target/TargetData.h"#include "llvm/Support/CallSite.h"#include "llvm/Support/CFG.h"#include "llvm/Support/Debug.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/Statistic.h"#include "llvm/ADT/StringExtras.h"#include <iostream>#include <set>Include dependency graph for ArgumentPromotion.cpp:

Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "argpromotion" |
Functions | |
| ModulePass * | llvm::createArgumentPromotionPass () |
| static bool | IsAlwaysValidPointer (Value *V) |
| static bool | AllCalleesPassInValidPointerForArgument (Argument *Arg) |
Variables | |
| Statistic | NumArgumentsPromoted ("argpromotion","Number of pointer arguments promoted") |
| Statistic | NumAggregatesPromoted ("argpromotion","Number of aggregate arguments promoted") |
| Statistic | NumArgumentsDead ("argpromotion","Number of dead pointer args eliminated") |
| RegisterOpt< ArgPromotion > | X ("argpromotion","Promote 'by reference' arguments to scalars") |
| #define DEBUG_TYPE "argpromotion" |
Definition at line 31 of file ArgumentPromotion.cpp.
| static bool AllCalleesPassInValidPointerForArgument | ( | Argument * | Arg | ) | [static] |
AllCalleesPassInValidPointerForArgument - Return true if we can prove that all callees pass in a valid pointer for the specified function argument.
Definition at line 164 of file ArgumentPromotion.cpp.
References llvm::Function::arg_begin(), E, llvm::Argument::getParent(), IsAlwaysValidPointer(), llvm::Value::use_begin(), and llvm::Value::use_end().
| static bool IsAlwaysValidPointer | ( | Value * | V | ) | [static] |
IsAlwaysValidPointer - Return true if the specified pointer is always legal to load.
Definition at line 151 of file ArgumentPromotion.cpp.
References V.
Referenced by AllCalleesPassInValidPointerForArgument().
Statistic NumAggregatesPromoted("argpromotion","Number of aggregate arguments promoted") [static] |
Statistic NumArgumentsDead("argpromotion","Number of dead pointer args eliminated") [static] |
Statistic NumArgumentsPromoted("argpromotion","Number of pointer arguments promoted") [static] |
RegisterOpt<ArgPromotion> X("argpromotion","Promote 'by reference' arguments to scalars") [static] |