LLVM API Documentation
#include "llvm/CodeGen/MachineSSAUpdater.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/SmallVector.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/Support/AlignOf.h"#include "llvm/Support/Allocator.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetInstrInfo.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetRegisterInfo.h"#include "llvm/Transforms/Utils/SSAUpdaterImpl.h"
Go to the source code of this file.
Classes | |
| class | llvm::SSAUpdaterTraits< MachineSSAUpdater > |
| class | llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_iterator |
| Iterator for PHI operands. More... | |
Namespaces | |
| namespace | llvm |
List of target independent CodeGen pass IDs. | |
Typedefs | |
| typedef DenseMap < MachineBasicBlock *, unsigned > | AvailableValsTy |
Functions | |
| static AvailableValsTy & | getAvailableVals (void *AV) |
| static unsigned | LookForIdenticalPHI (MachineBasicBlock *BB, SmallVector< std::pair< MachineBasicBlock *, unsigned >, 8 > &PredValues) |
| static MachineInstrBuilder | InsertNewDef (unsigned Opcode, MachineBasicBlock *BB, MachineBasicBlock::iterator I, const TargetRegisterClass *RC, MachineRegisterInfo *MRI, const TargetInstrInfo *TII) |
| static MachineBasicBlock * | findCorrespondingPred (const MachineInstr *MI, MachineOperand *U) |
| typedef DenseMap<MachineBasicBlock*, unsigned> AvailableValsTy |
Definition at line 32 of file MachineSSAUpdater.cpp.
| static MachineBasicBlock* findCorrespondingPred | ( | const MachineInstr * | MI, |
| MachineOperand * | U | ||
| ) | [static] |
Definition at line 208 of file MachineSSAUpdater.cpp.
References llvm::MachineOperand::getMBB(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), and llvm_unreachable.
Referenced by llvm::MachineSSAUpdater::RewriteUse().
| static AvailableValsTy& getAvailableVals | ( | void * | AV | ) | [static] |
Definition at line 33 of file MachineSSAUpdater.cpp.
Referenced by llvm::MachineSSAUpdater::AddAvailableValue(), llvm::MachineSSAUpdater::HasValueForBlock(), and llvm::MachineSSAUpdater::Initialize().
| static MachineInstrBuilder InsertNewDef | ( | unsigned | Opcode, |
| MachineBasicBlock * | BB, | ||
| MachineBasicBlock::iterator | I, | ||
| const TargetRegisterClass * | RC, | ||
| MachineRegisterInfo * | MRI, | ||
| const TargetInstrInfo * | TII | ||
| ) | [static] |
InsertNewDef - Insert an empty PHI or IMPLICIT_DEF instruction which define a value of the given register class at the start of the specified basic block. It returns the virtual register defined by the instruction.
Definition at line 112 of file MachineSSAUpdater.cpp.
References llvm::BuildMI(), llvm::MachineRegisterInfo::createVirtualRegister(), and llvm::MCInstrInfo::get().
Referenced by llvm::SSAUpdaterTraits< MachineSSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::GetUndefVal(), and llvm::MachineSSAUpdater::GetValueInMiddleOfBlock().
| static unsigned LookForIdenticalPHI | ( | MachineBasicBlock * | BB, |
| SmallVector< std::pair< MachineBasicBlock *, unsigned >, 8 > & | PredValues | ||
| ) | [static] |
Definition at line 79 of file MachineSSAUpdater.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), and llvm::ARM_PROC::I.
Referenced by llvm::MachineSSAUpdater::GetValueInMiddleOfBlock().