1. Aug 18, 2023
  2. Aug 17, 2023
  3. Aug 16, 2023
  4. Aug 15, 2023
  5. Aug 14, 2023
  6. Aug 11, 2023
    • wangpc's avatar
      [RISCV] Fix wrong type prototype of RVVSlideOneBuiltinSet · 8f4dd440
      wangpc authored
      We need unsigned integer here.
      
      Fixes #64534
      
      Reviewed By: eopXD
      
      Differential Revision: https://reviews.llvm.org/D157476
      
      (cherry picked from commit 5a3753f3)
      8f4dd440
    • Rainer Orth's avatar
      [Driver] Allow for sparcv8plus subdir with Solaris/SPARC GCC · 13be923d
      Rainer Orth authored
      Since GCC 11, the bundled Solaris/SPARC GCC uses the `sparcv8plus`
      subdirectory for 32-bit objects, just like upstream GCC.  Before that, it
      used `32` instead from a local patch.
      
      Since `clang` doesn't know about that `sparcv8plus` subdirectory, it
      wouldn't properly use GCC 11+ installations.
      
      The new `solaris-sparc-gcc-search.test` testcase wasn't run initially (like
      the existing `crash-report-null.test`) because the `.test` suffix wasn't
      handled.
      
      Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and
      `x86_64-pc-linux-gnu`.
      
      Differential Revision: https://reviews.llvm.org/D157013
      
      (cherry picked from commit 43dfe0f0)
      13be923d
    • Corentin Jabot's avatar
      [Clang] Backport static_assert messages fixes · 82343aa9
      Corentin Jabot authored
      * 4d494e76: Handle static_assert messages with an expression started by a literal
      * 49e0495f Produce a warning instead of an error in unevaluated strings before C++26
      
      Emiting an error on unexpected encoding prefix - which was allowed before C++26 -
      caused build errors for a few users.
      This downgrade the error to a warning on older language modes and C
      82343aa9
    • Weining Lu's avatar
      [lld][LoongArch] Support the R_LARCH_PCREL20_S2 relocation type · 7fc3c153
      Weining Lu authored
      `R_LARCH_PCREL20_S2` is a new added relocation type in LoongArch ELF
      psABI v2.10 [1] which is not corvered by D138135 except `R_LARCH_64_PCREL`.
      
      A motivation to support `R_LARCH_PCREL20_S2` in lld is to build the
      runtime of .NET core (a.k.a `CoreCLR`) in which strict PC-relative
      semantics need to be guaranteed [2]. The normal `pcalau12i + addi.d`
      approach doesn't work because the code will be copied to other places
      with different "page" and offsets. To achieve this, we can use `pcaddi`
      with explicit `R_LARCH_PCREL20_S2` reloc to address +-2MB PC-relative
      range with 4-bytes aligned.
      
      [1]: https://github.com/loongson/la-abi-specs/releases/tag/v2.10
      [2]: https://github.com/dotnet/runtime/blob/release/7.0/src/coreclr/vm/loongarch64/asmhelpers.S#L307
      
      Reviewed By: xen0n, MaskRay
      
      Differential Revision: https://reviews.llvm.org/D156772
      
      (cherry picked from commit 8a31f7dd)
      7fc3c153
    • Oliver Stannard's avatar
      [AArch64][PtrAuth] Fix unwind state for tail calls · 56f8c059
      Oliver Stannard authored
      When generating unwind tables for code which uses return-address
      signing, we need to toggle the RA_SIGN_STATE DWARF register around any
      tail-calls, because these require the return address to be authenticated
      before the call, and could throw an exception. This is done using the
      .cfi_negate_ra_state directive before the call, and .cfi_restore_state
      at the start of the next basic block.
      
      However, since D153098, the .cfi_restore_state isn't being inserted,
      because the CFIFixup pass isn't being run. This re-enables that pass
      when return-adress signing is enabled.
      
      Reviewed By: ikudrin, MaskRay
      
      Differential Revision: https://reviews.llvm.org/D156428
      
      (cherry picked from commit f2e7285b)
      56f8c059
    • Anatoly Trosinenko's avatar
      [AArch64] Refactor checks in sign-return-address.ll test · 506f5b47
      Anatoly Trosinenko authored
      Using implicit CHECK prefix in one FileCheck invocation and explicit
      CHECK-V83A in the other one seems to misguide to use CHECK: lines as
      a common matching prefix at various places. Also note that
      
      ; CHECK, CHECK-V83A: ...
      
      line only matches the "CHECK-V83A" prefix.
      
      This commit explicitly splits the checks into common ones (CHECK) and
      invocation-specific ones (COMPAT and V83A) and updates the assertions
      with the update_llc_test_checks.py script.
      
      Reviewed By: efriedma, MaskRay
      
      Differential Revision: https://reviews.llvm.org/D156327
      
      (cherry picked from commit 4210204f)
      506f5b47
    • Sean Fertile's avatar
      [PPC][AIX] Fix toc-data peephole bug and some related cleanup. · caa1a8b0
      Sean Fertile authored
      Set the ReplaceFlags variable to false, since there is code meant only
      for the ADDItocHi/ADDItocL nodes. This has the side effect of disabling
      the peephole when the load/store instruction has a non-zero offset.
      This patch also fixes retrieving the `ImmOpnd` node from the AIX small
      code model pseduos and does the same for the register operand node.
      This allows cleaning up the later calls to replaceOperands.
      Finally move calculating the MaxOffset into the code guarded by
      ReplaceFlags as it is only used there and the comment is specific to the ELF
      ABI.
      
      Fixes https://github.com/llvm/llvm-project/issues/63927
      
      Differential Revision: https://reviews.llvm.org/D155957
      
      (cherry picked from commit b37c7ed0)
      caa1a8b0
  7. Aug 10, 2023