[all-commits] [llvm/llvm-project] 1c7674: [AArch64] Basic target(+crypto) handling

Owen via All-commits all-commits at lists.llvm.org
Mon Apr 17 07:26:44 PDT 2023


  Branch: refs/heads/release/16.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 1c76740cb3b9b89ed83a556325018c88a293dc63
      https://github.com/llvm/llvm-project/commit/1c76740cb3b9b89ed83a556325018c88a293dc63
  Author: David Green <david.green at arm.com>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    A clang/test/CodeGen/aarch64-targetattr-crypto.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h

  Log Message:
  -----------
  [AArch64] Basic target(+crypto) handling

This adds some basic handling for target(+crypto) attributes. In this patch it
just enabled aes and sha2 regardless of the architecture revision, which
matches gccs implementation (and keeps the patch simple).

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

(cherry picked from commit 43aa293aeaf04e8da50c3c531694444c0311e0c5)


  Commit: ecbc5ca533cd45a0d9741c87ada3c5ce2cd18f9a
      https://github.com/llvm/llvm-project/commit/ecbc5ca533cd45a0d9741c87ada3c5ce2cd18f9a
  Author: zhanglimin <zhanglimin at loongson.cn>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    A libunwind/test/unw_resume.pass.cpp

  Log Message:
  -----------
  [libunwind][test] Add test to check for unw_resume()

This is here for local unwinding, which unw_resume() restores
the machine state and then directly resumes execution in the
target stack frame.

Reviewed By: wangleiat

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

(cherry picked from commit 366c5474a3002114b8980ab278d93baa96046385)


  Commit: 82432ac5cc7d824328a9b59d73cdbd3ca1e9a07d
      https://github.com/llvm/llvm-project/commit/82432ac5cc7d824328a9b59d73cdbd3ca1e9a07d
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/test/unw_resume.pass.cpp

  Log Message:
  -----------
  [libunwind][LoongArch] Restore $r1 before $r4 in `jumpto`

$ra should be restored before $a0, otherwise the baseaddress ($a0) would
be destroyed. See file `UnwindRegistersSave.S` for reference.

This also makes libcxx and libcxxabi regtest pass for the `-DLIBCXXABI_USE_LLVM_UNWINDER=ON` build.

Reviewed By: MaskRay, xen0n, #libunwind

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

(cherry picked from commit ff0aabf14dfa0a369c38f6e267c56a83ee48d647)


  Commit: bf80902fdd43eed5b7a4c401bccc0a06ceac582c
      https://github.com/llvm/llvm-project/commit/bf80902fdd43eed5b7a4c401bccc0a06ceac582c
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M llvm/lib/CodeGen/StackProtector.cpp
    M llvm/test/CodeGen/X86/stack-protector-2.ll
    M llvm/test/CodeGen/X86/stack-protector-recursively.ll

  Log Message:
  -----------
  [StackProtector] don't check stack protector before calling nounwind functions

https://reviews.llvm.org/rGd656ae28095726830f9beb8dbd4d69f5144ef821
introduced a additional checks before calling noreturn functions in
response to this security paper related to Catch Handler Oriented
Programming (CHOP):
https://download.vusec.net/papers/chop_ndss23.pdf
See also:
https://bugs.chromium.org/p/llvm/issues/detail?id=30

This causes stack canaries to be inserted in C code which was
unexpected; we noticed certain Linux kernel trees stopped booting after
this (in functions trying to initialize the stack canary itself).
https://github.com/ClangBuiltLinux/linux/issues/1815

There is no point checking the stack canary like this when exceptions
are disabled (-fno-exceptions or function is marked noexcept) or for C
code.  The GCC patch for this issue does something similar:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a25982ada523689c8745d7fb4b1b93c8f5dab2e7

Android measured a 2% regression in RSS as a result of d656ae280957 and
undid it globally:
https://android-review.googlesource.com/c/platform/build/soong/+/2524336

Reviewed By: xiangzhangllvm

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

(cherry picked from commit fc4494dffa5422b2be5442c235554e76bed79c8a)


  Commit: 70e4662aa4993f69a471bc2e274e7002fad74a02
      https://github.com/llvm/llvm-project/commit/70e4662aa4993f69a471bc2e274e7002fad74a02
  Author: Tobias Hieta <tobias at hieta.se>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  Revert "[clang-format] Handle object instansiation in if-statements"

This reverts commit 70de684d44135b4025d92b2b36ad387cf5ab8b5a.

This causes a regression as described in #61785

(cherry picked from commit 104cd749f5cca609a79303c0dad22bc041b5448a)


  Commit: 840ac8c52fd17cf5449f663674caf2064d95f6c4
      https://github.com/llvm/llvm-project/commit/840ac8c52fd17cf5449f663674caf2064d95f6c4
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format] Fix regression with AlignTrailingComments set to true

Fixes #62161.

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

(cherry picked from commit 2bcfff6708d293abab87a4d5a1dff25950d55d91)


Compare: https://github.com/llvm/llvm-project/compare/b5aa566a7e53...840ac8c52fd1


More information about the All-commits mailing list