LLVM API Documentation
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include "TransformInternals.h"
#include "llvm/Instructions.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
#include <algorithm>
#include <iostream>
Include dependency graph for LevelRaise.cpp:
Go to the source code of this file.
Defines | |
#define | PRINT_PEEPHOLE(ID, NUM, I) DEBUG(std::cerr << "Inst P/H " << ID << "[" << NUM << "] " << I) |
#define | PRINT_PEEPHOLE1(ID, I1) do { PRINT_PEEPHOLE(ID, 0, I1); } while (0) |
#define | PRINT_PEEPHOLE2(ID, I1, I2) do { PRINT_PEEPHOLE(ID, 0, I1); PRINT_PEEPHOLE(ID, 1, I2); } while (0) |
#define | PRINT_PEEPHOLE3(ID, I1, I2, I3) |
#define | PRINT_PEEPHOLE4(ID, I1, I2, I3, I4) |
Functions | |
FunctionPass * | llvm::createRaisePointerReferencesPass () |
static bool | isReinterpretingCast (const CastInst *CI) |
Variables | |
static cl::opt< std::string > | StartInst ("raise-start-inst", cl::Hidden, cl::value_desc("inst name"), cl::desc("Start raise pass at the instruction with the specified name")) |
static Statistic | NumLoadStorePeepholes ("raise","Number of load/store peepholes") |
static Statistic | NumGEPInstFormed ("raise","Number of other getelementptr's formed") |
static Statistic | NumExprTreesConv ("raise","Number of expression trees converted") |
static Statistic | NumCastOfCast ("raise","Number of cast-of-self removed") |
static Statistic | NumDCEorCP ("raise","Number of insts DCEd or constprop'd") |
static Statistic | NumVarargCallChanges ("raise","Number of vararg call peepholes") |
RegisterOpt< RPR > | X ("raise","Raise Pointer References") |
#define PRINT_PEEPHOLE | ( | ID, | |||
NUM, | |||||
I | ) | DEBUG(std::cerr << "Inst P/H " << ID << "[" << NUM << "] " << I) |
Definition at line 56 of file LevelRaise.cpp.
#define PRINT_PEEPHOLE1 | ( | ID, | |||
I1 | ) | do { PRINT_PEEPHOLE(ID, 0, I1); } while (0) |
Definition at line 59 of file LevelRaise.cpp.
#define PRINT_PEEPHOLE2 | ( | ID, | |||
I1, | |||||
I2 | ) | do { PRINT_PEEPHOLE(ID, 0, I1); PRINT_PEEPHOLE(ID, 1, I2); } while (0) |
Definition at line 60 of file LevelRaise.cpp.
#define PRINT_PEEPHOLE3 | ( | ID, | |||
I1, | |||||
I2, | |||||
I3 | ) |
Value:
do { PRINT_PEEPHOLE(ID, 0, I1); PRINT_PEEPHOLE(ID, 1, I2); \ PRINT_PEEPHOLE(ID, 2, I3); } while (0)
Definition at line 62 of file LevelRaise.cpp.
#define PRINT_PEEPHOLE4 | ( | ID, | |||
I1, | |||||
I2, | |||||
I3, | |||||
I4 | ) |
Value:
do { PRINT_PEEPHOLE(ID, 0, I1); PRINT_PEEPHOLE(ID, 1, I2); \ PRINT_PEEPHOLE(ID, 2, I3); PRINT_PEEPHOLE(ID, 3, I4); } while (0)
Definition at line 65 of file LevelRaise.cpp.
static bool isReinterpretingCast | ( | const CastInst * | CI | ) | [inline, static] |
Definition at line 96 of file LevelRaise.cpp.
References llvm::UnaryInstruction::getOperand(), llvm::Value::getType(), and llvm::Type::isLosslesslyConvertibleTo().
Statistic NumCastOfCast("raise","Number of cast-of-self removed") [static] |
Statistic NumDCEorCP("raise","Number of insts DCEd or constprop'd") [static] |
Statistic NumExprTreesConv("raise","Number of expression trees converted") [static] |
Statistic NumGEPInstFormed("raise","Number of other getelementptr's formed") [static] |
Statistic NumLoadStorePeepholes("raise","Number of load/store peepholes") [static] |
Statistic NumVarargCallChanges("raise","Number of vararg call peepholes") [static] |
cl::opt<std::string> StartInst("raise-start-inst", cl::Hidden, cl::value_desc("inst name"), cl::desc("Start raise pass at the instruction with the specified name")) [static] |
RegisterOpt<RPR> X("raise","Raise Pointer References") [static] |