<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 27, 2014 at 12:42 AM, Jiangning Liu <span dir="ltr"><<a href="mailto:jiangning.liu@arm.com" target="_blank">jiangning.liu@arm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: jiangning<br>
Date: Thu Mar 27 02:42:58 2014<br>
New Revision: 204898<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=204898&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=204898&view=rev</a><br>
Log:<br>
ARM: raise error message when complex SO expressions can't really be<br>
solved as a constant at compilation time.<br>
<br>
Added:<br>
    llvm/trunk/test/MC/ARM/label_offset.s<br>
Modified:<br>
    llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=204898&r1=204897&r2=204898&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=204898&r1=204897&r2=204898&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Thu Mar 27 02:42:58 2014<br>
@@ -9357,7 +9357,7 @@ unsigned ARMAsmParser::validateTargetOpe<br>
       const MCExpr *SOExpr = Op->getImm();<br>
       int64_t Value;<br>
       if (!SOExpr->EvaluateAsAbsolute(Value))<br>
-        return Match_Success;<br>
+        return Match_InvalidOperand;<br>
       assert((Value >= INT32_MIN && Value <= INT32_MAX) &&<br>
              "expression value must be representiable in 32 bits");<br>
     }<br></blockquote><div><br></div><div>Why not drop the case entirely?</div><div><br></div><div>You are returning Match_InvalidOperand in all cases now.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Added: llvm/trunk/test/MC/ARM/label_offset.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/label_offset.s?rev=204898&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/label_offset.s?rev=204898&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/test/MC/ARM/label_offset.s (added)<br>
+++ llvm/trunk/test/MC/ARM/label_offset.s Thu Mar 27 02:42:58 2014<br>
@@ -0,0 +1,8 @@<br>
+@ RUN: not llvm-mc -triple=armv7-linux-gnuabi -filetype=obj < %s 2>&1 | FileCheck %s<br>
+<br>
+.text<br>
+    cmp r2, #(l2 - l1) >> 6<br>
+@ CHECK: error: invalid operand for instruction<br>
+<br>
+l1:<br>
+l2:<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org
</div></div>