[lld] r272915 - Early return. NFC.
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 16 11:15:24 PDT 2016
On Thu, Jun 16, 2016 at 9:40 AM, Rui Ueyama via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: ruiu
> Date: Thu Jun 16 11:40:36 2016
> New Revision: 272915
>
> URL: http://llvm.org/viewvc/llvm-project?rev=272915&view=rev
> Log:
> Early return. NFC.
>
> Modified:
> lld/trunk/ELF/Target.cpp
>
> Modified: lld/trunk/ELF/Target.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=272915&r1=272914&r2=272915&view=diff
>
> ==============================================================================
> --- lld/trunk/ELF/Target.cpp (original)
> +++ lld/trunk/ELF/Target.cpp Thu Jun 16 11:40:36 2016
> @@ -1414,20 +1414,19 @@ void AArch64TargetInfo::relaxTlsIeToLe(u
> uint64_t Val) const {
> checkUInt<32>(Val, Type);
>
> - uint32_t Inst = read32le(Loc);
> - uint32_t NewInst;
> if (Type == R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21) {
> - // Generate movz.
> - unsigned RegNo = (Inst & 0x1f);
> - NewInst = (0xd2a00000 | RegNo) | (((Val >> 16) & 0xffff) << 5);
> - } else if (Type == R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC) {
> - // Generate movk
> - unsigned RegNo = (Inst & 0x1f);
> - NewInst = (0xf2800000 | RegNo) | ((Val & 0xffff) << 5);
> - } else {
> - llvm_unreachable("invalid Relocation for TLS IE to LE Relax");
> + // Generate MOVZ.
> + uint32_t RegNo = read32le(Loc) & 0x1f;
> + write32le(Loc, (0xd2a00000 | RegNo) | (((Val >> 16) & 0xffff) << 5));
> + return;
> }
> - write32le(Loc, NewInst);
> + if (Type == R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC) {
> + // Generate MOVK.
> + uint32_t RegNo = read32le(Loc) & 0x1f;
> + write32le(Loc, (0xf2800000 | RegNo) | ((Val & 0xffff) << 5));
> + return;
> + }
> + llvm_unreachable("invalid relocation for TLS IE to LE relaxation");
>
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.
- Dave
> }
>
> // Implementing relocations for AMDGPU is low priority since most
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160616/25a61985/attachment.html>
More information about the llvm-commits
mailing list