[all-commits] [llvm/llvm-project] 472d28: [AArch64][GlobalISel] Don't localize TLS G_GLOBAL_...

AE via All-commits all-commits at lists.llvm.org
Tue Mar 24 13:48:55 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 472d282046d044b409fd2c550e101e85583c54a0
      https://github.com/llvm/llvm-project/commit/472d282046d044b409fd2c550e101e85583c54a0
  Author: Amara Emerson <aemerson at apple.com>
  Date:   2020-03-24 (Tue, 24 Mar 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/GlobalISel/localizer-arm64-tti.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Don't localize TLS G_GLOBAL_VALUEs on Darwin.

On Darwin these need to be selected into a function call for the TLS
address lookup. As a result, they can't be moved below a physreg write,
which happens in call sequences. In the long term, we should have some
mechanism in the localizer to prevent localizing into target-specific
atomic instruction sequences.

rdar://60056248

Differential Revision: https://reviews.llvm.org/D76652




More information about the All-commits mailing list