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] |