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/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/Compiler.h"
#include <algorithm>
#include <map>

Include dependency graph for PHIElimination.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "phielim"

Functions

 STATISTIC (NumAtomic,"Number of atomic phis lowered")
static bool isSourceDefinedByImplicitDef (const MachineInstr *MPhi, const MachineRegisterInfo *MRI)

Variables

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


Define Documentation

#define DEBUG_TYPE   "phielim"

Definition at line 16 of file PHIElimination.cpp.


Function Documentation

static bool isSourceDefinedByImplicitDef ( const MachineInstr *  MPhi,
const MachineRegisterInfo *  MRI 
) [static]

isSourceDefinedByImplicitDef - Return true if all sources of the phi node are implicit_def's.

Definition at line 132 of file PHIElimination.cpp.

References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getVRegDef(), and llvm::TargetInstrInfo::IMPLICIT_DEF.

STATISTIC ( NumAtomic  ,
"Number of atomic phis lowered"   
)


Variable Documentation

char ID [static]

Definition at line 40 of file PHIElimination.cpp.

Definition at line 74 of file PHIElimination.cpp.

Referenced by canClobberPhysRegDefs().

Definition at line 37 of file PHIElimination.cpp.

VRegPHIUse VRegPHIUseCount

Definition at line 71 of file PHIElimination.cpp.

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