LLVM API Documentation
#include "ARM.h"#include "ARMBaseInstrInfo.h"#include "ARMSubtarget.h"#include "MCTargetDesc/ARMAddressingModes.h"#include "Thumb2InstrInfo.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/PostOrderIterator.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/IR/Function.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/Target/TargetMachine.h"Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "t2-reduce-size" |
Functions | |
| STATISTIC (NumNarrows,"Number of 32-bit instrs reduced to 16-bit ones") | |
| STATISTIC (Num2Addrs,"Number of 32-bit instrs reduced to 2addr 16-bit ones") | |
| STATISTIC (NumLdSts,"Number of 32-bit load / store reduced to 16-bit ones") | |
| static bool | HasImplicitCPSRDef (const MCInstrDesc &MCID) |
| static bool | isHighLatencyCPSR (MachineInstr *Def) |
| static bool | VerifyLowRegs (MachineInstr *MI) |
| static bool | UpdateCPSRDef (MachineInstr &MI, bool LiveCPSR, bool &DefCPSR) |
| static bool | UpdateCPSRUse (MachineInstr &MI, bool LiveCPSR) |
Variables | |
| static cl::opt< int > | ReduceLimit ("t2-reduce-limit", cl::init(-1), cl::Hidden) |
| static cl::opt< int > | ReduceLimit2Addr ("t2-reduce-limit2", cl::init(-1), cl::Hidden) |
| static cl::opt< int > | ReduceLimitLdSt ("t2-reduce-limit3", cl::init(-1), cl::Hidden) |
| #define DEBUG_TYPE "t2-reduce-size" |
Definition at line 27 of file Thumb2SizeReduction.cpp.
| static bool HasImplicitCPSRDef | ( | const MCInstrDesc & | MCID | ) | [static] |
Definition at line 213 of file Thumb2SizeReduction.cpp.
References llvm::MCInstrDesc::getImplicitDefs().
| static bool isHighLatencyCPSR | ( | MachineInstr * | Def | ) | [static] |
Definition at line 221 of file Thumb2SizeReduction.cpp.
References llvm::ARMISD::FMSTAT, and llvm::MachineInstr::getOpcode().
| STATISTIC | ( | NumNarrows | , |
| "Number of 32-bit instrs reduced to 16-bit ones" | |||
| ) |
| STATISTIC | ( | Num2Addrs | , |
| "Number of 32-bit instrs reduced to 2addr 16-bit ones" | |||
| ) |
| STATISTIC | ( | NumLdSts | , |
| "Number of 32-bit load / store reduced to 16-bit ones" | |||
| ) |
| static bool UpdateCPSRDef | ( | MachineInstr & | MI, |
| bool | LiveCPSR, | ||
| bool & | DefCPSR | ||
| ) | [static] |
Definition at line 857 of file Thumb2SizeReduction.cpp.
References llvm::MachineOperand::getReg(), llvm::MachineOperand::isDead(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUndef(), llvm::MachineOperand::isUse(), and llvm::MachineInstr::operands().
| static bool UpdateCPSRUse | ( | MachineInstr & | MI, |
| bool | LiveCPSR | ||
| ) | [static] |
Definition at line 873 of file Thumb2SizeReduction.cpp.
References llvm::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isKill(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUndef(), and llvm::MachineInstr::operands().
| static bool VerifyLowRegs | ( | MachineInstr * | MI | ) | [static] |
Definition at line 333 of file Thumb2SizeReduction.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::isARMLowRegister(), llvm::MachineOperand::isImplicit(), and llvm::MachineOperand::isReg().
cl::opt<int> ReduceLimit("t2-reduce-limit", cl::init(-1), cl::Hidden) [static] |
cl::opt<int> ReduceLimit2Addr("t2-reduce-limit2", cl::init(-1), cl::Hidden) [static] |
cl::opt<int> ReduceLimitLdSt("t2-reduce-limit3", cl::init(-1), cl::Hidden) [static] |