LLVM API Documentation
#include "llvm/CodeGen/Passes.h"#include "llvm/Function.h"#include "llvm/CodeGen/LiveVariables.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/Target/TargetRegisterInfo.h"#include "llvm/Target/TargetInstrInfo.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetOptions.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/Debug.h"#include "llvm/ADT/BitVector.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/Statistic.h"#include "llvm/ADT/STLExtras.h"

Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "twoaddrinstr" |
Functions | |
| STATISTIC (NumTwoAddressInstrs,"Number of two-address instructions") | |
| STATISTIC (NumCommuted,"Number of instructions commuted to coalesce") | |
| STATISTIC (NumConvertedTo3Addr,"Number of instructions promoted to 3-address") | |
| STATISTIC (Num3AddrSunk,"Number of 3-address instructions sunk") | |
| STATISTIC (NumReMats,"Number of instructions re-materialized") | |
| static bool | isTwoAddrUse (MachineInstr *UseMI, unsigned Reg) |
Variables | |
| static RegisterPass < TwoAddressInstructionPass > | X ("twoaddressinstruction","Two-Address instruction pass") |
| #define DEBUG_TYPE "twoaddrinstr" |
Definition at line 30 of file TwoAddressInstructionPass.cpp.
| static bool isTwoAddrUse | ( | MachineInstr * | UseMI, | |
| unsigned | Reg | |||
| ) | [static] |
isTwoAddrUse - Return true if the specified MI is using the specified register as a two-address operand.
Definition at line 203 of file TwoAddressInstructionPass.cpp.
References llvm::MachineInstr::getDesc(), llvm::TargetInstrDesc::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::TargetInstrDesc::getOperandConstraint(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), and llvm::TOI::TIED_TO.
| STATISTIC | ( | NumReMats | , | |
| "Number of instructions re-materialized" | ||||
| ) |
| STATISTIC | ( | Num3AddrSunk | , | |
| "Number of 3-address instructions sunk" | ||||
| ) |
| STATISTIC | ( | NumConvertedTo3Addr | , | |
| "Number of instructions promoted to 3-address" | ||||
| ) |
| STATISTIC | ( | NumCommuted | , | |
| "Number of instructions commuted to coalesce" | ||||
| ) |
| STATISTIC | ( | NumTwoAddressInstrs | , | |
| "Number of two-address instructions" | ||||
| ) |
char ID [static] |
Definition at line 73 of file TwoAddressInstructionPass.cpp.
Definition at line 62 of file TwoAddressInstructionPass.cpp.
Referenced by llvm::SparseSolver::getOrInitValueState(), and OptimizeGlobalAddressOfMalloc().
Definition at line 61 of file TwoAddressInstructionPass.cpp.
| const TargetInstrInfo* TII |
Definition at line 59 of file TwoAddressInstructionPass.cpp.
| const TargetRegisterInfo* TRI |
Definition at line 60 of file TwoAddressInstructionPass.cpp.
RegisterPass<TwoAddressInstructionPass> X("twoaddressinstruction","Two-Address instruction pass") [static] |
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.