summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-12-13 09:59:26 +0000
committerChris Lattner <sabre@nondot.org>2002-12-13 09:59:26 +0000
commit2889d2e50c4c6dcd3a06328b87ae39603050f9f6 (patch)
tree59111118a7000289ef54730aaec6907d55cc1676 /llvm/lib/Target
parenta7391673058cf6da6601d4562c3d231de8c0ba7e (diff)
downloadbcm5719-llvm-2889d2e50c4c6dcd3a06328b87ae39603050f9f6.tar.gz
bcm5719-llvm-2889d2e50c4c6dcd3a06328b87ae39603050f9f6.zip
Print X86 PHI nodes in a sane manner
llvm-svn: 5003
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/Printer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Printer.cpp b/llvm/lib/Target/X86/Printer.cpp
index d2dbf64d142..a80e7d26642 100644
--- a/llvm/lib/Target/X86/Printer.cpp
+++ b/llvm/lib/Target/X86/Printer.cpp
@@ -167,6 +167,22 @@ void X86InstrInfo::print(const MachineInstr *MI, std::ostream &O,
unsigned Opcode = MI->getOpcode();
const MachineInstrDescriptor &Desc = get(Opcode);
+ if (Opcode == X86::PHI) {
+ printOp(O, MI->getOperand(0), RI);
+ O << " = phi ";
+ for (unsigned i = 1, e = MI->getNumOperands(); i != e; i+=2) {
+ if (i != 1) O << ", ";
+ O << "[";
+ printOp(O, MI->getOperand(i), RI);
+ O << ", ";
+ printOp(O, MI->getOperand(i+1), RI);
+ O << "]";
+ }
+ O << "\n";
+ return;
+ }
+
+
switch (Desc.TSFlags & X86II::FormMask) {
case X86II::RawFrm:
// The accepted forms of Raw instructions are:
OpenPOWER on IntegriCloud