<div class="gmail_quote">On Tue, Jul 14, 2009 at 1:46 AM, Chris Lattner <span dir="ltr"><<a href="mailto:sabre@nondot.org">sabre@nondot.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Author: lattner<br>
Date: Mon Jul 13 18:46:46 2009<br>
New Revision: 75556<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=75556&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=75556&view=rev</a><br>
Log:<br>
fix CBE & MSIL backends to not use the mangler for non-global symbols.<br>
<br>
Modified: llvm/trunk/lib/Target/MSIL/MSILWriter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSIL/MSILWriter.cpp?rev=75556&r1=75555&r2=75556&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSIL/MSILWriter.cpp?rev=75556&r1=75555&r2=75556&view=diff</a><br>

<br>
==============================================================================<br>
--- llvm/trunk/lib/Target/MSIL/MSILWriter.cpp (original)<br>
+++ llvm/trunk/lib/Target/MSIL/MSILWriter.cpp Mon Jul 13 18:46:46 2009<br>
@@ -240,8 +240,17 @@<br>
<br>
<br>
 std::string MSILWriter::getValueName(const Value* V) {<br>
+  std::string Name;<br>
+  if (const GlobalValue *GV = cast<GlobalValue>(V))<br>
+    Name = Mang->getValueName(GV);<br>
+  else {<br>
+    unsigned &No = AnonValueNumbers[V];<br>
+    if (No == 0) No = ++NextAnonValueNumber;<br>
+    Name = "tmp" + utostr(No);<br>
+  }<br>
+<br>
   // Name into the quotes allow control and space characters.<br>
-  return "'"+Mang->getValueName(V)+"'";<br>
+  return "'"+Name+"'";<br>
 }<br>
<br>
<br>
@@ -258,7 +267,16 @@<br>
<br>
<br>
 std::string MSILWriter::getLabelName(const Value* V) {<br>
-  return getLabelName(Mang->getValueName(V));<br>
+  std::string Name;<br>
+  if (const GlobalValue *GV = cast<GlobalValue>(V))<br>
+    Name = Mang->getValueName(GV);<br>
+  else {<br>
+    unsigned &No = AnonValueNumbers[V];<br>
+    if (No == 0) No = ++NextAnonValueNumber;<br>
+    Name = "tmp" + utostr(No);<br>
+  }<br>
+<br>
+  return getLabelName(Name);<br>
 }<br>
<br>
</blockquote><div> <br>In both cases it should be dyn_cast not cast because it triggers assert if Value is not a GlobalValue.</div><div>Patch attached.<br><br></div></div>Artur<br><br>P.S.<br>Should I submit bugs in bugzilla for such errors or replying for commit here is enough?<br>
Could someone add "Backend: MSIL" component in bugzilla?<br>