Print ConstantPool entries initialized to Values with WriteAsOperand instead of
authorDan Gohman <dan433584@gmail.com>
Wed, 12 Jun 2013 22:19:19 +0000 (22:19 +0000)
committerDan Gohman <dan433584@gmail.com>
Wed, 12 Jun 2013 22:19:19 +0000 (22:19 +0000)
operator<< so that functions are printed as just their name instead of as their
entire definition, which is excessively verbose in this context.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183871 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineFunction.cpp

index 04321f329282a9bccc6368d84d5337bb922d963e..891e3b100435a5f2abfb44446887ad5b6401fb7d 100644 (file)
@@ -17,6 +17,7 @@
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/Analysis/ConstantFolding.h"
+#include "llvm/Assembly/Writer.h"
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
@@ -887,7 +888,7 @@ void MachineConstantPool::print(raw_ostream &OS) const {
     if (Constants[i].isMachineConstantPoolEntry())
       Constants[i].Val.MachineCPVal->print(OS);
     else
-      OS << *(const Value*)Constants[i].Val.ConstVal;
+      WriteAsOperand(OS, Constants[i].Val.ConstVal, /*PrintType=*/false);
     OS << ", align=" << Constants[i].getAlignment();
     OS << "\n";
   }