1. Dec 22, 2020
    • Quentin Chateau's avatar
      [clangd][NFC] Improve clangd status messages · 3fa2d37e
      Quentin Chateau authored
      clangd actions have various naming schemes, the most
      common being PascalCase. This commit applies PascalCase
      to all clangd actions, and fix the status rendering
      in `renderTUAction` to look more consistent.
      
      Reviewed By: sammccall
      
      Differential Revision: https://reviews.llvm.org/D93546
      3fa2d37e
    • Nikita Popov's avatar
      [AA] byval argument is identified function local · 82bd64ff
      Nikita Popov authored
      byval arguments should mostly get the same treatment as noalias
      arguments in alias analysis. This was not the case for the
      isIdentifiedFunctionLocal() function.
      
      Marking byval arguments as identified function local means that
      they cannot alias with other arguments, which I believe is correct.
      
      Differential Revision: https://reviews.llvm.org/D93602
      82bd64ff
    • Hafiz Abid Qadeer's avatar
      Update references to 'master' branch. · 43def795
      Hafiz Abid Qadeer authored
      This commit replace 'master' with 'main' in llvm/docs.
      
      Reviewed By: sammccall, kristof.beyls
      
      Differential Revision: https://reviews.llvm.org/D92831
      43def795
    • Peter Collingbourne's avatar
      scudo: Remove ANDROID_EXPERIMENTAL_MTE macro. · dfa40840
      Peter Collingbourne authored
      Kernel support for MTE has been released in Linux 5.10. This means
      that it is a stable API and we no longer need to make the support
      conditional on a macro. We do need to provide conditional definitions
      of the new macros though in order to avoid a dependency on new
      kernel headers.
      
      Differential Revision: https://reviews.llvm.org/D93513
      dfa40840
    • Michael Liao's avatar
      [cuda][hip] Fix typoes in header wrappers. · bb8d20d9
      Michael Liao authored
      bb8d20d9
    • Dmitry Preobrazhensky's avatar
      [AMDGPU][MC][NFC] Fix for sanitizer error in 8ab5770a · f4f49d9d
      Dmitry Preobrazhensky authored
      Corrected to fix sanitizer error introduced by 8ab5770a
      f4f49d9d
    • Dmitry Preobrazhensky's avatar
      [AMDGPU][MC][NFC] Parser refactoring · 8ab5770a
      Dmitry Preobrazhensky authored
      See bug 48515 (https://bugs.llvm.org/show_bug.cgi?id=48515)
      
      Reviewers: rampitec
      
      Differential Revision: https://reviews.llvm.org/D93548
      8ab5770a
    • Dmitry Preobrazhensky's avatar
      [AMDGPU][MC][NFC] Lit tests cleanup · a323682d
      Dmitry Preobrazhensky authored
      See bug 48513
      
      Reviewers: rampitec
      
      Differential Revision: https://reviews.llvm.org/D93550
      a323682d
    • Thomas Raoux's avatar
      [mlir[[vector] Extend Transfer read/write ops to support tensor types. · 26c8f908
      Thomas Raoux authored
      Transfer_ops can now work on both buffers and tensor. Right now, lowering of
      the tensor case is not supported yet.
      
      Differential Revision: https://reviews.llvm.org/D93500
      26c8f908
    • David Spickett's avatar
      [clang] Fix expected errors in plugin attribute example · 9a93f95f
      David Spickett authored
      b2ba6867 was landed
      with updated error messages in the example file
      but not in the test file.
      9a93f95f
    • Fangrui Song's avatar
      [ELF] Reject local-exec TLS relocations for -shared · fb3c1b3d
      Fangrui Song authored
      For x86-64, D33100 added a diagnostic for local-exec TLS relocations referencing a preemptible symbol.
      
      This patch generalizes it to non-preemptible symbols (see `-Bsymbolic` in `tls.s`)
      on all targets.
      
      Local-exec TLS relocations resolve to offsets relative to a fixed point within
      the static TLS block, which are only meaningful for the executable.
      
      With this change, `clang -fpic -shared -fuse-ld=bfd a.c` on the following example will be flagged for AArch64/ARM/i386/x86-64/RISC-V
      
      ```
      static __attribute__((tls_model("local-exec"))) __thread long TlsVar = 42;
      long bump() { return ++TlsVar; }
      ```
      
      Note, in GNU ld, at least arm, riscv and x86's ports have the similar
      diagnostics, but aarch64 and ppc64 do not error.
      
      Differential Revision: https://reviews.llvm.org/D93331
      fb3c1b3d
    • Fangrui Song's avatar
      [ELF][PPC64] Detect missing R_PPC64_TLSGD/R_PPC64_TLSLD and disable TLS relaxation · e25afcfa
      Fangrui Song authored
      Alternative to D91611.
      
      The TLS General Dynamic/Local Dynamic code sequences need to mark
      `__tls_get_addr` with R_PPC64_TLSGD or R_PPC64_TLSLD, e.g.
      
      ```
      addis r3, r2, x@got@tlsgd@ha # R_PPC64_GOT_TLSGD16_HA
      addi r3, r3, x@got@tlsgd@l   # R_PPC64_GOT_TLSGD16_LO
      bl __tls_get_addr(x@tlsgd)   # R_PPC64_TLSGD followed by R_PPC64_REL24
      nop
      ```
      
      However, there are two deviations form the above:
      
      1. direct call to `__tls_get_addr`. This is essential to implement ld.so in glibc/musl/FreeBSD.
      
      ```
      bl __tls_get_addr
      nop
      ```
      
      This is only used in a -shared link, and thus not subject to the GD/LD to IE/LE
      relaxation issue below.
      
      2. Missing R_PPC64_TLSGD/R_PPC64_TLSGD for compiler generated TLS references
      
      According to Stefan Pintille, "In the early days of the transition from the
      ELFv1 ABI that is used for big endian PowerPC Linux distributions to the ELFv2
      ABI that is used for little endian PowerPC Linux distributions, there was some
      ambiguity in the specification of the relocations for TLS. The GNU linker has
      implemented support for correct handling of calls to __tls_get_addr with a
      missing relocation.  Unfortunately, we didn't notice that the IBM XL compiler
      did not handle TLS according to the updated ABI until we tried linking XL
      compiled libraries with LLD."
      
      In short, LLD needs to work around the old IBM XL compiler issue.
      Otherwise, if the object file is linked in -no-pie or -pie mode,
      the result will be incorrect because the 4 instructions are partially
      rewritten (the latter 2 are not changed).
      
      Work around the compiler bug by disable General Dynamic/Local Dynamic to
      Initial Exec/Local Exec relaxation. Note, we also disable Initial Exec
      to Local Exec relaxation for implementation simplicity, though technically it can be kept.
      
      ppc64-tls-missing-gdld.s demonstrates the updated behavior.
      
      Reviewed By: #powerpc, stefanp, grimar
      
      Differential Revision: https://reviews.llvm.org/D92959
      e25afcfa
  2. Dec 21, 2020