<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 16, 2016 at 9:40 AM, Rui Ueyama via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: ruiu<br>
Date: Thu Jun 16 11:40:36 2016<br>
New Revision: 272915<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=272915&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=272915&view=rev</a><br>
Log:<br>
Early return. NFC.<br>
<br>
Modified:<br>
    lld/trunk/ELF/Target.cpp<br>
<br>
Modified: lld/trunk/ELF/Target.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=272915&r1=272914&r2=272915&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=272915&r1=272914&r2=272915&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/Target.cpp (original)<br>
+++ lld/trunk/ELF/Target.cpp Thu Jun 16 11:40:36 2016<br>
@@ -1414,20 +1414,19 @@ void AArch64TargetInfo::relaxTlsIeToLe(u<br>
                                        uint64_t Val) const {<br>
   checkUInt<32>(Val, Type);<br>
<br>
-  uint32_t Inst = read32le(Loc);<br>
-  uint32_t NewInst;<br>
   if (Type == R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21) {<br>
-    // Generate movz.<br>
-    unsigned RegNo = (Inst & 0x1f);<br>
-    NewInst = (0xd2a00000 | RegNo) | (((Val >> 16) & 0xffff) << 5);<br>
-  } else if (Type == R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC) {<br>
-    // Generate movk<br>
-    unsigned RegNo = (Inst & 0x1f);<br>
-    NewInst = (0xf2800000 | RegNo) | ((Val & 0xffff) << 5);<br>
-  } else {<br>
-    llvm_unreachable("invalid Relocation for TLS IE to LE Relax");<br>
+    // Generate MOVZ.<br>
+    uint32_t RegNo = read32le(Loc) & 0x1f;<br>
+    write32le(Loc, (0xd2a00000 | RegNo) | (((Val >> 16) & 0xffff) << 5));<br>
+    return;<br>
   }<br>
-  write32le(Loc, NewInst);<br>
+  if (Type == R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC) {<br>
+    // Generate MOVK.<br>
+    uint32_t RegNo = read32le(Loc) & 0x1f;<br>
+    write32le(Loc, (0xf2800000 | RegNo) | ((Val & 0xffff) << 5));<br>
+    return;<br>
+  }<br>
+  llvm_unreachable("invalid relocation for TLS IE to LE relaxation");<br></blockquote><div><br></div><div>Generally we try not to branch-to-unreachable (which this unreachable sort of is) & instead assert the inverse condition (replace the above 'if' with an assert). But I realize that symmetry (if the code is a series of if conditions) may be valuable & that's OK if you prefer it that way - just thought I'd mention in case it suited.<br><br>- Dave</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 }<br>
<br>
 // Implementing relocations for AMDGPU is low priority since most<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>