Take the fast path for any named value and any GlobalValue, which doesn't
authorDan Gohman <gohman@apple.com>
Thu, 13 Aug 2009 23:07:11 +0000 (23:07 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 13 Aug 2009 23:07:11 +0000 (23:07 +0000)
need TypePrinting despite being a subclass of Constant. This fixes
compile-time problems especially visible on 403.gcc when -asm-verbose is
enabled.

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

lib/VMCore/AsmWriter.cpp

index 8270f1723fca9dfe68f533a99016a8dbebe9cf0c..35aae41e349a2e2a6dfb66e7e624994172617478 100644 (file)
@@ -1233,7 +1233,8 @@ void llvm::WriteAsOperand(raw_ostream &Out, const Value *V,
 
   // Fast path: Don't construct and populate a TypePrinting object if we
   // won't be needing any types printed.
-  if (!PrintType && !isa<Constant>(V)) {
+  if (!PrintType &&
+      (!isa<Constant>(V) || V->hasName() || isa<GlobalValue>(V))) {
     WriteAsOperandInternal(Out, V, 0, 0);
     return;
   }