1. Aug 21, 2023
  2. Aug 18, 2023
  3. Aug 17, 2023
  4. Aug 16, 2023
  5. Aug 15, 2023
  6. Aug 14, 2023
  7. 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
  8. Aug 10, 2023
    • Craig Topper's avatar
      [RISCV] Add back handling of X > -1 to ISD::SETCC lowering. · 026e0ff5
      Craig Topper authored
      There are cases where the -1 doesn't become visible until lowering
      so the folding doesn't have a chance to run.
      
      I think in these cases there is a missed DAGCombine for truncate (undef),
      which I may fix separately, but RISC-V backend should protect itself.
      
      Fixes #64503.
      
      Reviewed By: asb
      
      Differential Revision: https://reviews.llvm.org/D157314
      
      (cherry picked from commit 7cc61541)
      026e0ff5
    • Amir Ayupov's avatar
      BOLT Release Notes · 4bf07e13
      Amir Ayupov authored
      4bf07e13
    • Martin Storsjö's avatar
      [llvm-rc] Resolve the executable path if not present in Argv[0] · 649ab072
      Martin Storsjö authored
      The llvm-rc tool tries to locate a suitable Clang executable to
      use for preprocessing. For this purpose, it first checks within
      the same directory as the llvm-rc tool, checking with a couple
      different names, followed by checking all of $PATH for another
      couple names.
      
      On Windows, the InitLLVM() function always sets up Argv[0] with the
      full path to the executable, while on Unix, Argv[0] is kept as is.
      
      Therefore, call getMainExecutable to try to resolve the directory of
      the executable before looking for colocated Clang executables.
      
      This makes 282744a9 actually have
      the desired effect.
      
      Differential Revision: https://reviews.llvm.org/D157241
      
      (cherry picked from commit 8c6a0c8b)
      649ab072