summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcCodeEmitter.cpp
diff options
context:
space:
mode:
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-01-05 02:13:48 +0000
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-01-05 02:13:48 +0000
commit5f1cce50e63a3e5d754d2b54adbba88c7c53b661 (patch)
tree45ae5b31c2b659dd0da2008c55b70b041b280620 /llvm/lib/Target/Sparc/SparcCodeEmitter.cpp
parent4603e96ac00ec56c79282f6111d73528b2cb8352 (diff)
downloadbcm5719-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.cpp17
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 {
OpenPOWER on IntegriCloud