[all-commits] [llvm/llvm-project] 2d92f7: [X86] Support lowering for APX promoted BMI instru...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Wed Jan 17 21:10:48 PST 2024


  Branch: refs/heads/users/vitalybuka/spr/ci-add-lld-as-compiler-rt-dependecy
  Home:   https://github.com/llvm/llvm-project
  Commit: 2d92f7de800a1b1b3dca3dab1e11da712cd55f2b
      https://github.com/llvm/llvm-project/commit/2d92f7de800a1b1b3dca3dab1e11da712cd55f2b
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2024-01-18 (Thu, 18 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86InstrShiftRotate.td
    M llvm/test/CodeGen/X86/bmi-intrinsics-fast-isel-x86_64.ll
    M llvm/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/bmi-x86_64.ll
    M llvm/test/CodeGen/X86/bmi.ll
    M llvm/test/CodeGen/X86/bmi2-x86_64.ll
    M llvm/test/CodeGen/X86/bmi2.ll
    M llvm/test/CodeGen/X86/shift-bmi2.ll

  Log Message:
  -----------
  [X86] Support lowering for APX promoted BMI instructions. (#77433)

R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the lowering for promoted BMI instructions in EVEX
space, enc/dec has been supported in
https://github.com/llvm/llvm-project/pull/73899.

RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4


  Commit: ba81477e9cdb5384a10c700ee247562f0f6c03e6
      https://github.com/llvm/llvm-project/commit/ba81477e9cdb5384a10c700ee247562f0f6c03e6
  Author: Chia <sun1011jacobi at gmail.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll

  Log Message:
  -----------
  Recommit "[RISCV][ISel] Combine scalable vector add/sub/mul with zero/sign extension." (#76785)

This patch was originally introduced in PR #72340, but was reverted due
to a bug on invalid extension combine.

Specifically, we resolve the case in the
https://github.com/llvm/llvm-project/pull/72340#issuecomment-1874810998

```
define <vscale x 1 x i32> @foo(<vscale x 1 x i1> %x, <vscale x 1 x i2> %y) {     
  %a = zext <vscale x 1 x i1> %x to <vscale x 1 x i32>                           
  %b = zext <vscale x 1 x i1> %y to <vscale x 1 x i32>                           
  %c = add <vscale x 1 x i32> %a, %b                                             
  ret <vscale x 1 x i32> %c                                                      
}
```
The previous patch didn't check if the semantic of `ISD::ZERO_EXTEND`
and `ISD::ZERO_EXTEND` is equivalent to the `vsext.vf2` or `vzext.vf2`
(not ensuring the SEW condition on widening Vector Arithmetic
Instructions).

Thanks for @topperc pointing out this bug.

## The original description 
This PR mainly aims at resolving the below missed-optimization case,
while it could also be considered as an extension of the previous patch
https://reviews.llvm.org/D133739?id=

### Missed-Optimization Case
Compiler Explorer: https://godbolt.org/z/GzWzP7Pfh

### Source Code: 
```
define <vscale x 2 x i16> @multiple_users(ptr  %x, ptr  %y, ptr %z) {
  %a = load <vscale x 2 x i8>, ptr %x
  %b = load <vscale x 2 x i8>, ptr %y
  %b2 = load <vscale x 2 x i8>, ptr %z
  %c = sext <vscale x 2 x i8> %a to <vscale x 2 x i16>
  %d = sext <vscale x 2 x i8> %b to <vscale x 2 x i16>
  %d2 = sext <vscale x 2 x i8> %b2 to <vscale x 2 x i16>
  %e = mul <vscale x 2 x i16> %c, %d
  %f = add <vscale x 2 x i16> %c, %d2
  %g = sub <vscale x 2 x i16> %c, %d2
  %h = or <vscale x 2 x i16> %e, %f
  %i = or <vscale x 2 x i16> %h, %g
  ret <vscale x 2 x i16> %i
}
```
### Before This Patch
```
# %bb.0:
        vsetvli a3, zero, e16, mf2, ta, ma
        vle8.v  v8, (a0)
        vle8.v  v9, (a1)
        vle8.v  v10, (a2)
        svf2       v11, v8
        vsext.vf2       v8, v9
        vsext.vf2       v9, v10
        vmul.vv v8, v11, v8
        vadd.vv v10, v11, v9
        vsub.vv v9, v11, v9
        vor.vv  v8, v8, v10
        vor.vv  v8, v8, v9
        ret
```
###  After This Patch 
```
# %bb.0:
	vsetvli	a3, zero, e8, mf4, ta, ma
	vle8.v	v8, (a0)
	vle8.v	v9, (a1)
	vle8.v	v10, (a2)
	vwmul.vv	v11, v8, v9
	vwadd.vv	v9, v8, v10
	vwsub.vv	v12, v8, v10
	vsetvli	zero, zero, e16, mf2, ta, ma
	vor.vv	v8, v11, v9
	vor.vv	v8, v8, v12
	ret
```
We can see Add/Sub/Mul are combined with the Sign Extension.

### Relation to the Patch D133739
The patch D133739 introduced an optimization for folding `ADD_VL`/
`SUB_VL` / `MUL_V` with `VSEXT_VL` / `VZEXT_VL`. However, the patch did
not consider the case of non-fixed length vector case, thus this PR
could also be considered as an extension for the D133739.


  Commit: 8dfc67d6724eb0af5d278f4d1d5511ca9f9e039f
      https://github.com/llvm/llvm-project/commit/8dfc67d6724eb0af5d278f4d1d5511ca9f9e039f
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__assert
    M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    M libcxx/test/support/check_assertion.h
    M libcxx/utils/libcxx/header_information.py
    A libcxx/vendor/llvm/default_assertion_handler.in

  Log Message:
  -----------
  [libc++][hardening] Rework how the assertion handler can be overridden. (#77883)

Previously there were two ways to override the verbose abort function
which gets called when a hardening assertion is triggered:
- compile-time: define the `_LIBCPP_VERBOSE_ABORT` macro;
- link-time: provide a definition of `__libcpp_verbose_abort` function.

This patch adds a new configure-time approach: the vendor can provide
a path to a custom header file which will get copied into the build by
CMake and included by the library. The header must provide a definition
of the
`_LIBCPP_ASSERTION_HANDLER` macro which is what will get called should
a hardening assertion fail. As of this patch, overriding
`_LIBCPP_VERBOSE_ABORT` will still work, but the previous mechanisms
will be effectively removed in a follow-up patch, making the
configure-time mechanism the sole way of overriding the default handler.

Note that `_LIBCPP_ASSERTION_HANDLER` only gets invoked when a hardening
assertion fails. It does not affect other cases where
`_LIBCPP_VERBOSE_ABORT` is currently used (e.g. when an exception is
thrown in the `-fno-exceptions` mode).

The library provides a default version of the custom header file that
will get used if it's not overridden by the vendor. That allows us to
always test the override mechanism and reduces the difference in
configuration between the pristine version of the library and
a platform-specific version.


  Commit: fdcb76f2480d2a0187641cc844e92f1d6c4b2635
      https://github.com/llvm/llvm-project/commit/fdcb76f2480d2a0187641cc844e92f1d6c4b2635
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-01-18 (Thu, 18 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
    M mlir/test/Conversion/ComplexToLibm/convert-to-libm.mlir

  Log Message:
  -----------
  [mlir][complex] Convert complex.tan to libm ctan call (#78250)

We can convert `complex.tan` op to
[ctan/ctanf](https://sourceware.org/newlib/libm.html#ctan) function in
libm in the complex to libm conversion.


  Commit: 11bf02e0192aea0ddef9a81098c2162cde82dc7e
      https://github.com/llvm/llvm-project/commit/11bf02e0192aea0ddef9a81098c2162cde82dc7e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-01-18 (Thu, 18 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    R llvm/test/CodeGen/AMDGPU/strict_fp_casts.ll
    M llvm/test/CodeGen/AMDGPU/strict_fpext.ll
    M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
    A llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll

  Log Message:
  -----------
  DAG: Fix ABI lowering with FP promote in strictfp functions (#74405)

This was emitting non-strict casts in ABI contexts for illegal
types.


  Commit: 7f2408fba3106319f64880794d555edad26d7add
      https://github.com/llvm/llvm-project/commit/7f2408fba3106319f64880794d555edad26d7add
  Author: antangelo <contact at antangelo.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp

  Log Message:
  -----------
  Revert "[clang] Fix CTAD for aggregates for nested template classes" (#78541)

Reverts llvm/llvm-project#78387

The added tests are failing on several build bots.


  Commit: 7e6482b3d8bbc31ddb005dd30cd50ded780a360a
      https://github.com/llvm/llvm-project/commit/7e6482b3d8bbc31ddb005dd30cd50ded780a360a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M llvm/lib/Support/Caching.cpp
    M llvm/lib/Support/FileCollector.cpp
    M llvm/lib/Support/GraphWriter.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Process.cpp
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/VirtualFileSystem.cpp

  Log Message:
  -----------
  [Support] Use SmallString::operator std::string (NFC)


  Commit: ac6d2f1ba06080e0eef67931703aa55f98e8c9c6
      https://github.com/llvm/llvm-project/commit/ac6d2f1ba06080e0eef67931703aa55f98e8c9c6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp

  Log Message:
  -----------
  [DebugInfo] Use StringRef::consume_front (NFC)


  Commit: 9a817b82bbef95880db900e20ddc840dc9921ced
      https://github.com/llvm/llvm-project/commit/9a817b82bbef95880db900e20ddc840dc9921ced
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Support/GenericLoopInfo.h

  Log Message:
  -----------
  [Support] Use llvm::inverse_children (NFC)


  Commit: d06fb0b29c7030497e0e6411cf256cabd71940c2
      https://github.com/llvm/llvm-project/commit/d06fb0b29c7030497e0e6411cf256cabd71940c2
  Author: Tacet <advenam.tacet at trailofbits.com>
  Date:   2024-01-18 (Thu, 18 Jan 2024)

  Changed paths:
    M libcxx/include/string
    A libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
    M libcxx/test/support/asan_testing.h

  Log Message:
  -----------
  [ASan][libc++] Turn on ASan annotations for short strings (#75882)

This commit turns on ASan annotations in `std::basic_string` for short
stings (SSO case).

Originally suggested here: https://reviews.llvm.org/D147680

String annotations added here:
https://github.com/llvm/llvm-project/pull/72677

Requires to pass CI without fails:
- https://github.com/llvm/llvm-project/pull/75845
- https://github.com/llvm/llvm-project/pull/75858

Annotating `std::basic_string` with default allocator is implemented in
https://github.com/llvm/llvm-project/pull/72677 but annotations for
short strings (SSO - Short String Optimization) are turned off there.
This commit turns them on. This also removes
`_LIBCPP_SHORT_STRING_ANNOTATIONS_ALLOWED`, because we do not plan to
support turning on and off short string annotations.

Support in ASan API exists since
https://github.com/llvm/llvm-project/commit/dd1b7b797a116eed588fd752fbe61d34deeb24e4.
You can turn off annotations for a specific allocator based on changes
from
https://github.com/llvm/llvm-project/commit/2fa1bec7a20bb23f2e6620085adb257dafaa3be0.

This PR is a part of a series of patches extending AddressSanitizer C++
container overflow detection capabilities by adding annotations, similar
to those existing in `std::vector` and `std::deque` collections. These
enhancements empower ASan to effectively detect instances where the
instrumented program attempts to access memory within a collection's
internal allocation that remains unused. This includes cases where
access occurs before or after the stored elements in `std::deque`, or
between the `std::basic_string`'s size (including the null terminator)
and capacity bounds.

The introduction of these annotations was spurred by a real-world
software bug discovered by Trail of Bits, involving an out-of-bounds
memory access during the comparison of two strings using the
`std::equals` function. This function was taking iterators
(`iter1_begin`, `iter1_end`, `iter2_begin`) to perform the comparison,
using a custom comparison function. When the `iter1` object exceeded the
length of `iter2`, an out-of-bounds read could occur on the `iter2`
object. Container sanitization, upon enabling these annotations, would
effectively identify and flag this potential vulnerability.

If you have any questions, please email:

    advenam.tacet at trailofbits.com
    disconnect3d at trailofbits.com


  Commit: bd9e14574a80d3c022d796d373aa92bdc63f4c26
      https://github.com/llvm/llvm-project/commit/bd9e14574a80d3c022d796d373aa92bdc63f4c26
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-01-18 (Thu, 18 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    A llvm/include/llvm/CodeGen/GlobalMerge.h
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/GlobalMerge/alignment-2.ll
    M llvm/test/Transforms/GlobalMerge/alignment.ll
    M llvm/test/Transforms/GlobalMerge/basic.ll
    M llvm/test/Transforms/GlobalMerge/debug-info.ll
    M llvm/test/Transforms/GlobalMerge/eh-filter.ll
    M llvm/test/Transforms/GlobalMerge/used.ll

  Log Message:
  -----------
  [CodeGen] Port GlobalMerge to new pass manager (#77474)


  Commit: a4fe6a183883812fa8268490c987798a42c0d34b
      https://github.com/llvm/llvm-project/commit/a4fe6a183883812fa8268490c987798a42c0d34b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    A clang/test/Driver/xros-driver.c
    A clang/test/Frontend/xros-version.c

  Log Message:
  -----------
  [clang] Upstream XROS support in Clang (#78392)

Upstream XROS support in the clang frontend and driver.


  Commit: b13b120089f0d77e4bd17ed53b09f7fda55a1eb9
      https://github.com/llvm/llvm-project/commit/b13b120089f0d77e4bd17ed53b09f7fda55a1eb9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    A clang/test/Driver/xros-driver.c
    A clang/test/Frontend/xros-version.c
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M libcxx/CMakeLists.txt
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__assert
    M libcxx/include/string
    M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
    M libcxx/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    M libcxx/test/support/asan_testing.h
    M libcxx/test/support/check_assertion.h
    M libcxx/utils/libcxx/header_information.py
    A libcxx/vendor/llvm/default_assertion_handler.in
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    A llvm/include/llvm/CodeGen/GlobalMerge.h
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def
    M llvm/include/llvm/Support/GenericLoopInfo.h
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/Caching.cpp
    M llvm/lib/Support/FileCollector.cpp
    M llvm/lib/Support/GraphWriter.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Process.cpp
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86InstrShiftRotate.td
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    R llvm/test/CodeGen/AMDGPU/strict_fp_casts.ll
    M llvm/test/CodeGen/AMDGPU/strict_fpext.ll
    M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
    A llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/X86/bmi-intrinsics-fast-isel-x86_64.ll
    M llvm/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/bmi-x86_64.ll
    M llvm/test/CodeGen/X86/bmi.ll
    M llvm/test/CodeGen/X86/bmi2-x86_64.ll
    M llvm/test/CodeGen/X86/bmi2.ll
    M llvm/test/CodeGen/X86/shift-bmi2.ll
    M llvm/test/Transforms/GlobalMerge/alignment-2.ll
    M llvm/test/Transforms/GlobalMerge/alignment.ll
    M llvm/test/Transforms/GlobalMerge/basic.ll
    M llvm/test/Transforms/GlobalMerge/debug-info.ll
    M llvm/test/Transforms/GlobalMerge/eh-filter.ll
    M llvm/test/Transforms/GlobalMerge/used.ll
    M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
    M mlir/test/Conversion/ComplexToLibm/convert-to-libm.mlir

  Log Message:
  -----------
  rebase

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/e0b509480008...b13b120089f0


More information about the All-commits mailing list