|
LLVM
4.0.0
|
#include "Mips.h"#include "MCTargetDesc/MipsBaseInfo.h"#include "MipsMachineFunction.h"#include "MipsTargetMachine.h"#include "llvm/ADT/ScopedHashTable.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/Support/CommandLine.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "optimize-mips-pic-call" |
Functions | |
| static MachineOperand * | getCallTargetRegOpnd (MachineInstr &MI) |
| Return the first MachineOperand of MI if it is a used virtual register. More... | |
| static MVT::SimpleValueType | getRegTy (unsigned Reg, MachineFunction &MF) |
| Return type of register Reg. More... | |
| static void | setCallTargetReg (MachineBasicBlock *MBB, MachineBasicBlock::iterator I) |
| Do the following transformation: More... | |
| static void | eraseGPOpnd (MachineInstr &MI) |
| Search MI's operands for register GP and erase it. More... | |
Variables | |
| static cl::opt< bool > | LoadTargetFromGOT ("mips-load-target-from-got", cl::init(true), cl::desc("Load target address from GOT"), cl::Hidden) |
| static cl::opt< bool > | EraseGPOpnd ("mips-erase-gp-opnd", cl::init(true), cl::desc("Erase GP Operand"), cl::Hidden) |
| #define DEBUG_TYPE "optimize-mips-pic-call" |
Definition at line 26 of file MipsOptimizePICCall.cpp.
|
static |
Search MI's operands for register GP and erase it.
Definition at line 142 of file MipsOptimizePICCall.cpp.
References EraseGPOpnd, llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), getRegTy(), I, llvm::MVT::i32, llvm::MachineOperand::isReg(), llvm_unreachable, and llvm::MachineInstr::RemoveOperand().
|
static |
Return the first MachineOperand of MI if it is a used virtual register.
Definition at line 104 of file MipsOptimizePICCall.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUse(), and llvm::TargetRegisterInfo::isVirtualRegister().
|
static |
Return type of register Reg.
Definition at line 118 of file MipsOptimizePICCall.cpp.
References assert(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineFunction::getRegInfo(), llvm::TargetRegisterClass::vt_begin(), and llvm::TargetRegisterClass::vt_end().
Referenced by eraseGPOpnd(), and setCallTargetReg().
|
static |
Do the following transformation:
jalr $vreg => copy $t9, $vreg jalr $t9
Definition at line 130 of file MipsOptimizePICCall.cpp.
References llvm::BuildMI(), llvm::MCInstrInfo::get(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineBasicBlock::getParent(), getRegTy(), llvm::MachineFunction::getSubtarget(), llvm::MVT::i32, and TII.
|
static |
Referenced by eraseGPOpnd().
1.8.6