<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 13, 2015, at 7:08 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Jan 13, 2015 at 3:10 PM, Adrian Prantl <span dir="ltr" class=""><<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: adrian<br class="">
Date: Tue Jan 13 17:10:43 2015<br class="">
New Revision: 225846<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=225846&view=rev" target="_blank" class="">http://llvm.org/viewvc/llvm-project?rev=225846&view=rev</a><br class="">
Log:<br class="">
Debug Info: Turn DIExpression::getFrameRegister() into an isFrameRegister()<br class="">
function.<br class="">
<br class="">
NFC.<br class="">
<br class="">
Modified:<br class="">
    llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp<br class="">
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp<br class="">
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h<br class="">
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp<br class="">
<br class="">
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp?rev=225846&r1=225845&r2=225846&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp?rev=225846&r1=225845&r2=225846&view=diff</a><br class="">
==============================================================================<br class="">
--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp (original)<br class="">
+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp Tue Jan 13 17:10:43 2015<br class="">
@@ -46,8 +46,9 @@ void DebugLocDwarfExpression::EmitUnsign<br class="">
   BS.EmitULEB128(Value, Twine(Value));<br class="">
 }<br class="">
<br class="">
-unsigned DebugLocDwarfExpression::getFrameRegister() {<br class="">
- llvm_unreachable("not available");<br class="">
+bool DebugLocDwarfExpression::isFrameRegister(unsigned MachineReg) {<br class="">
+  // This information is not available while emitting .debug_loc entries.<br class=""></blockquote><div class=""><br class="">Should it be? (should we keep track of it when building the DebugLocEntries in some way?)<br class=""></div></div></div></div></div></blockquote><div><br class=""></div><div>Generally yes, but it’s probably not a high priority. It would allow us to use the more idiomatic DW_OP_fbreg encoding. It would not actually save any space if the frame offset can be expressed as breg0-31.</div><div><br class=""></div><div>-- adrian</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+  return false;<br class="">
 }<br class="">
<br class="">
 //===----------------------------------------------------------------------===//<br class="">
<br class="">
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp?rev=225846&r1=225845&r2=225846&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp?rev=225846&r1=225845&r2=225846&view=diff</a><br class="">
==============================================================================<br class="">
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp (original)<br class="">
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp Tue Jan 13 17:10:43 2015<br class="">
@@ -79,7 +79,7 @@ bool DwarfExpression::AddMachineRegIndir<br class="">
   if (DwarfReg < 0)<br class="">
     return false;<br class="">
<br class="">
-  if (MachineReg == getFrameRegister()) {<br class="">
+  if (isFrameRegister(MachineReg)) {<br class="">
     // If variable offset is based in frame register then use fbreg.<br class="">
     EmitOp(dwarf::DW_OP_fbreg);<br class="">
     EmitSigned(Offset);<br class="">
<br class="">
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h?rev=225846&r1=225845&r2=225846&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h?rev=225846&r1=225845&r2=225846&view=diff</a><br class="">
==============================================================================<br class="">
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h (original)<br class="">
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h Tue Jan 13 17:10:43 2015<br class="">
@@ -40,7 +40,7 @@ public:<br class="">
   virtual void EmitSigned(int Value) = 0;<br class="">
   virtual void EmitUnsigned(unsigned Value) = 0;<br class="">
<br class="">
-  virtual unsigned getFrameRegister() = 0;<br class="">
+  virtual bool isFrameRegister(unsigned MachineReg) = 0;<br class="">
<br class="">
   /// Emit a dwarf register operation.<br class="">
   void AddReg(int DwarfReg, const char* Comment = nullptr);<br class="">
@@ -92,7 +92,7 @@ public:<br class="">
   void EmitOp(uint8_t Op, const char *Comment) override;<br class="">
   void EmitSigned(int Value) override;<br class="">
   void EmitUnsigned(unsigned Value) override;<br class="">
-  unsigned getFrameRegister() override;<br class="">
+  bool isFrameRegister(unsigned MachineReg) override;<br class="">
 };<br class="">
<br class="">
 }<br class="">
<br class="">
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp?rev=225846&r1=225845&r2=225846&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp?rev=225846&r1=225845&r2=225846&view=diff</a><br class="">
==============================================================================<br class="">
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (original)<br class="">
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp Tue Jan 13 17:10:43 2015<br class="">
@@ -55,7 +55,7 @@ public:<br class="">
   void EmitOp(uint8_t Op, const char* Comment = nullptr) override;<br class="">
   void EmitSigned(int Value) override;<br class="">
   void EmitUnsigned(unsigned Value) override;<br class="">
-  unsigned getFrameRegister() override;<br class="">
+  bool isFrameRegister(unsigned MachineReg) override;<br class="">
 };<br class="">
<br class="">
 void DIEDwarfExpression::EmitOp(uint8_t Op, const char* Comment) {<br class="">
@@ -67,8 +67,8 @@ void DIEDwarfExpression::EmitSigned(int<br class="">
 void DIEDwarfExpression::EmitUnsigned(unsigned Value) {<br class="">
   DU.addUInt(DIE, dwarf::DW_FORM_udata, Value);<br class="">
 }<br class="">
-unsigned DIEDwarfExpression::getFrameRegister() {<br class="">
-  return getTRI()->getFrameRegister(*AP.MF);<br class="">
+bool DIEDwarfExpression::isFrameRegister(unsigned MachineReg) {<br class="">
+  return MachineReg == getTRI()->getFrameRegister(*AP.MF);<br class="">
 }<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
_______________________________________________<br class="">
llvm-commits mailing list<br class="">
<a href="mailto:llvm-commits@cs.uiuc.edu" class="">llvm-commits@cs.uiuc.edu</a><br class="">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank" class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br class="">
</blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></body></html>