summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2011-02-28 14:08:24 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2011-02-28 14:08:24 +0000
commit612b85e58c1ba7150135d6046cb02d33a239fcd6 (patch)
tree9c6fe514fb0e26b934188256f347043294b5a40b /llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp
parentfeb9926a591e3cad49eda17343e8f6b691588f89 (diff)
downloadbcm5719-llvm-612b85e58c1ba7150135d6046cb02d33a239fcd6.tar.gz
bcm5719-llvm-612b85e58c1ba7150135d6046cb02d33a239fcd6.zip
Add branch hinting for SPU.
The implemented algorithm is overly simplistic (just speculate all branches are taken)- this is work in progress. llvm-svn: 126651
Diffstat (limited to 'llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp b/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp
index 40404614b70..fd96694b32f 100644
--- a/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp
+++ b/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp
@@ -182,6 +182,10 @@ namespace {
printOp(MI->getOperand(OpNo), O);
}
+ void printHBROperand(const MachineInstr *MI, unsigned OpNo, raw_ostream &O) {
+ printOp(MI->getOperand(OpNo), O);
+ }
+
void printPCRelativeOperand(const MachineInstr *MI, unsigned OpNo, raw_ostream &O) {
// Used to generate a ".-<target>", but it turns out that the assembler
// really wants the target.
@@ -279,6 +283,9 @@ void SPUAsmPrinter::printOp(const MachineOperand &MO, raw_ostream &O) {
}
O << *Mang->getSymbol(MO.getGlobal());
return;
+ case MachineOperand::MO_MCSymbol:
+ O << *(MO.getMCSymbol());
+ return;
default:
O << "<unknown operand type: " << MO.getType() << ">";
return;
OpenPOWER on IntegriCloud