LLVM API Documentation

PHIElimination.cpp File Reference

#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/SSARegMap.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/Visibility.h"
#include <set>
#include <algorithm>

Include dependency graph for PHIElimination.cpp:

Go to the source code of this file.

Functions

static bool InstructionUsesRegister (MachineInstr *MI, unsigned SrcReg)

Variables

static Statistic NumAtomic ("phielim","Number of atomic phis lowered")
static Statistic NumSimple ("phielim","Number of simple phis lowered")
RegisterPass< PNE > X ("phi-node-elimination","Eliminate PHI nodes for register allocation")


Function Documentation

static bool InstructionUsesRegister ( MachineInstr MI,
unsigned  SrcReg 
) [static]

InstructionUsesRegister - Return true if the specified machine instr has a use of the specified register.

Definition at line 104 of file PHIElimination.cpp.

References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isRegister(), llvm::MachineOperand::isUse(), and MI.


Variable Documentation

Statistic NumAtomic("phielim","Number of atomic phis lowered") [static]

Statistic NumSimple("phielim","Number of simple phis lowered") [static]

RegisterPass<PNE> X("phi-node-elimination","Eliminate PHI nodes for register allocation") [static]