diff options
author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-01-05 02:13:48 +0000 |
---|---|---|
committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-01-05 02:13:48 +0000 |
commit | 5f1cce50e63a3e5d754d2b54adbba88c7c53b661 (patch) | |
tree | 45ae5b31c2b659dd0da2008c55b70b041b280620 /llvm/lib/Target/Sparc/SparcCodeEmitter.cpp | |
parent | 4603e96ac00ec56c79282f6111d73528b2cb8352 (diff) | |
download | bcm5719-llvm-5f1cce50e63a3e5d754d2b54adbba88c7c53b661.tar.gz bcm5719-llvm-5f1cce50e63a3e5d754d2b54adbba88c7c53b661.zip |
[Sparc] Add initial implementation of MC Code emitter for sparc.
llvm-svn: 198533
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcCodeEmitter.cpp')
-rw-r--r-- | llvm/lib/Target/Sparc/SparcCodeEmitter.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcCodeEmitter.cpp b/llvm/lib/Target/Sparc/SparcCodeEmitter.cpp index 9bfe31fe496..f4a2c739494 100644 --- a/llvm/lib/Target/Sparc/SparcCodeEmitter.cpp +++ b/llvm/lib/Target/Sparc/SparcCodeEmitter.cpp @@ -72,6 +72,11 @@ private: unsigned getMachineOpValue(const MachineInstr &MI, const MachineOperand &MO) const; + unsigned getCallTargetOpValue(const MachineInstr &MI, + unsigned) const; + unsigned getBranchTargetOpValue(const MachineInstr &MI, + unsigned) const; + void emitWord(unsigned Word); unsigned getRelocation(const MachineInstr &MI, @@ -181,6 +186,18 @@ unsigned SparcCodeEmitter::getMachineOpValue(const MachineInstr &MI, llvm_unreachable("Unable to encode MachineOperand!"); return 0; } +unsigned SparcCodeEmitter::getCallTargetOpValue(const MachineInstr &MI, + unsigned opIdx) const { + const MachineOperand MO = MI.getOperand(opIdx); + return getMachineOpValue(MI, MO); +} + +unsigned SparcCodeEmitter::getBranchTargetOpValue(const MachineInstr &MI, + unsigned opIdx) const { + const MachineOperand MO = MI.getOperand(opIdx); + return getMachineOpValue(MI, MO); +} + unsigned SparcCodeEmitter::getRelocation(const MachineInstr &MI, const MachineOperand &MO) const { |