[all-commits] [llvm/llvm-project] 34f857: [OpenMP] Use generic IR for the OpenMP DeviceRTL (...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Wed Dec 25 14:22:31 PST 2024


  Branch: refs/heads/users/vitalybuka/spr/nfcdriver-use-global-implicit-check-notlibclang_rt
  Home:   https://github.com/llvm/llvm-project
  Commit: 34f8573a514915222630cf21e8a0c901a25f4ca0
      https://github.com/llvm/llvm-project/commit/34f8573a514915222630cf21e8a0c901a25f4ca0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
    R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
    M clang/test/Driver/openmp-offload-gpu.c
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M openmp/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [OpenMP] Use generic IR for the OpenMP DeviceRTL (#119091)

Summary:
We previously built this for every single architecture to deal with
incompatibility. This patch updates it to use the 'generic' IR that
`libc` and other projects use. Who knows if this will have any
side-effects, probably worth testing more but it passes the tests I
expect to pass on my side.


  Commit: 970f65a98a681831e308860e7004e066f5152791
      https://github.com/llvm/llvm-project/commit/970f65a98a681831e308860e7004e066f5152791
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/test/Preprocessor/predefined-win-macros.c

  Log Message:
  -----------
  [Clang][MIPS] Create specific targets for MIPS PE/COFF (#121040)

Implement GNU and MSVC variants.
When using them, _WIN32 and _M_MRX000/_MIPS_ macros are correctly
defined.


  Commit: 88d04be815bd289c691ab81061ac8a573ad15677
      https://github.com/llvm/llvm-project/commit/88d04be815bd289c691ab81061ac8a573ad15677
  Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [AArch64][docs] Add release notes for FUJITSU-MONAKA support (#120684)

Adds release notes for the FUJITSU-MONAKA support introduced in PR #118432.
These notes were missing from the original PR.


  Commit: b5f0ec80d59d054617994f0de409c38fabc8c207
      https://github.com/llvm/llvm-project/commit/b5f0ec80d59d054617994f0de409c38fabc8c207
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [VPlan] Remove redundant printing final in VPlan::execute (#121048)

Multiple prints will cause problems when testing ir-bb


  Commit: ac1d560709d2ecfe83a98285d4a13afae6db4316
      https://github.com/llvm/llvm-project/commit/ac1d560709d2ecfe83a98285d4a13afae6db4316
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M libcxx/docs/Hardening.rst
    M libcxx/include/bitset
    M libcxx/include/valarray
    A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Add a bounds check for `valarray` and `bitset`. (#120685)

Add a `valid-element-access` check to `valarray::operator[]` and
`bitset::operator[]`.


  Commit: 56600c11add12aababdd313c43650facf2a0338f
      https://github.com/llvm/llvm-project/commit/56600c11add12aababdd313c43650facf2a0338f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp

  Log Message:
  -----------
  MCAsmInfo: replace HLASM-specific variables with IsHLASM

HLASM is very different from the gas syntax. We don't expect other
targets to customize the differences. Unify the numerous variables.


  Commit: 34f70007348d2d1a0e59fc0996e90a0b6fba1933
      https://github.com/llvm/llvm-project/commit/34f70007348d2d1a0e59fc0996e90a0b6fba1933
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy]link LLVMTargetParser (#121072)

Fix build issue introduced in #120547


  Commit: d3846eca2061e6e9a8d654551153f7362c27b59a
      https://github.com/llvm/llvm-project/commit/d3846eca2061e6e9a8d654551153f7362c27b59a
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Transforms/sccp.mlir

  Log Message:
  -----------
  [mlir] Guard sccp pass from crashing with different source type (#120656)

Vector::BroadCastOp expects the identical element type in folding. It
causes the crash if the different source type is given to the SCCP pass.
We need to guard the pass from crashing if the nonidentical element type
is given, but still compatible. (e.g. index vs integer type)

https://github.com/llvm/llvm-project/issues/120193


  Commit: 1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
      https://github.com/llvm/llvm-project/commit/1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn

  Log Message:
  -----------
  [ubsan] Remove UBSAN_CAN_USE_CXXABI (#121082)

It's should be enough to provide weak implementation.

Fixes solaris and android linking after #121006.


  Commit: a1328c077c9bae5c3b3cb952fe817c4881569cbc
      https://github.com/llvm/llvm-project/commit/a1328c077c9bae5c3b3cb952fe817c4881569cbc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/asan/tests/CMakeLists.txt

  Log Message:
  -----------
  [ubsan] Fix android build

Broken by #121006.


  Commit: 6a7687c455125f6597a9719227a0efcb7f71e572
      https://github.com/llvm/llvm-project/commit/6a7687c455125f6597a9719227a0efcb7f71e572
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [mlir][python] Support `CLANG_CL` (#121075)


  Commit: 141c544c03702ac7c50522373ad781ede3685e0a
      https://github.com/llvm/llvm-project/commit/141c544c03702ac7c50522373ad781ede3685e0a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  [clang-format] Skip line splices when sorting C++ includes (#120680)

Fixes #109864.


  Commit: 5d81b1490022d04eb8862791fbcb25018a6860e3
      https://github.com/llvm/llvm-project/commit/5d81b1490022d04eb8862791fbcb25018a6860e3
  Author: Pranav Kant <prka at google.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

  Log Message:
  -----------
  [clang-tidy][bazel] Fix #120547


  Commit: 25bb6592c974aed8702767cad4a64de9b5c60aed
      https://github.com/llvm/llvm-project/commit/25bb6592c974aed8702767cad4a64de9b5c60aed
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  MCAsmInfo: replace AIX-specific variables with IsAIX

AIX assembly is very different from the gas syntax. We don't expect
other targets to share these differences. Unify the numerous,
essentially AIX-specific variables.


  Commit: 32962f2b77c4298f9ef58182581edf56c76ac685
      https://github.com/llvm/llvm-project/commit/32962f2b77c4298f9ef58182581edf56c76ac685
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp

  Log Message:
  -----------
  [ubsan] Try to fix Windows


  Commit: e3846c0fecb5992110788be18cd04f70103bc778
      https://github.com/llvm/llvm-project/commit/e3846c0fecb5992110788be18cd04f70103bc778
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Fix missing SHLIB definition in standalone builds (#120907)

Define the `LLVM_SHLIB_OUTPUT_INTDIR` variable that is used by
`configure_lit_site_cfg` to fill `SHLIBDIR`. This fixes tool tests that
would otherwise be unable to find MLIR's runtime shared libraries (e.g.
`libmlir_runner_utils.so`). The logic is copied verbatim from Clang.


  Commit: 6b471b30d7dbce589af16b39f9eb960195a8cd02
      https://github.com/llvm/llvm-project/commit/6b471b30d7dbce589af16b39f9eb960195a8cd02
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Fix unittests in standalone builds (#120910)

Fix the logic used to run unit tests to account for `llvm_gtest` targets
being installed, since 91b3ca39667b6341a8c1983a1467fae14b58318b. This
involves removing a rule that would cause a duplicate `llvm_gtest`
target being created, and updates the method for determining whether
unittests can be run to checking whether the target is present, rather
than the source directory (that is no longer actually necessary).


  Commit: 9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
      https://github.com/llvm/llvm-project/commit/9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/test/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Do not add dependencies on llvm tools in standalone builds (#120911)

Since LLVM tools are installed system-wide, adding dependencies on them
is unnecessary. Furthermore, it is problematic for multilib builds,
where the tools are only built once, for the native ABI, and therefore
are not listed in CMake files for non-native ABIs.


  Commit: 319b89197348b7cad1215e235bdc7b5ec8f9b72c
      https://github.com/llvm/llvm-project/commit/319b89197348b7cad1215e235bdc7b5ec8f9b72c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h

  Log Message:
  -----------
  MCAsmInfo: remove unused DwarfSectionSizeRequired


  Commit: 74496b03f7db43caae4c3bda79379623a4657a00
      https://github.com/llvm/llvm-project/commit/74496b03f7db43caae4c3bda79379623a4657a00
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt

  Log Message:
  -----------
  [asan][hwasan] Link RTUbsan_cxx into shared runtime

There is no shared version RTUbsan_cxx.
Fix android after #121006.


  Commit: 2d3d62d77e2d011c9dbdb12732aca3070efc83ca
      https://github.com/llvm/llvm-project/commit/2d3d62d77e2d011c9dbdb12732aca3070efc83ca
  Author: Ivan Aksamentov <ivan.aksamentov at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/idioms.h

  Log Message:
  -----------
  [flang] fix: split ifndef for CHECK and CHECK_MSG (#114707)

Resolves https://github.com/llvm/llvm-project/issues/114703

I think it's the best practice that each macro has it's own `ifndef`
check and this way the build issue is resolved for me.

I also find the names of these macro a bit too generic - an easy recipe
for conflicts. In my case, the error was likely caused by something else
defining `CHECK` but not `CHECK_MSG`, so likely these `CHECK` and
`CHECK_MSG` weren't actually working at all because the result of
`ifndef` is always false.

As a definitive fix, perhaps it makes sense to rename them to something
more specific, e.g. `FLANG_CHECK` and `FLANG_CHECK_MSG`.


  Commit: c29536b0336586b2ed7bafedf82c9f4e254cfaa6
      https://github.com/llvm/llvm-project/commit/c29536b0336586b2ed7bafedf82c9f4e254cfaa6
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    R llvm/test/TableGen/ContextlessPredicates.td
    R llvm/test/TableGen/DefaultOpsGlobalISel.td
    R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
    R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
    R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
    R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-optional-def.td
    R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-setcc.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
    A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
    A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
    A llvm/test/TableGen/GlobalISelEmitter/Flags.td
    A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
    A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
    A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
    A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
    A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
    A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
    A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
    A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
    A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
    A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg.td
    A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
    A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
    A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
    A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
    A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/setcc.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    R llvm/test/TableGen/GlobalISelEmitterFlags.td
    R llvm/test/TableGen/GlobalISelEmitterHwModes.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    R llvm/test/TableGen/GlobalISelEmitterSubreg.td
    R llvm/test/TableGen/GlobalISelEmitterVariadic.td
    R llvm/test/TableGen/gisel-physreg-input.td
    R llvm/test/TableGen/immarg-predicated.td
    R llvm/test/TableGen/immarg.td

  Log Message:
  -----------
  [test] Group GlobalISelEmitter tests under a subdirectory (#121093)

Remove extra command line arguments while here.


  Commit: c870632ef6162fbdccaad8cd09420728220ad344
      https://github.com/llvm/llvm-project/commit/c870632ef6162fbdccaad8cd09420728220ad344
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Optimizer/Builder/CharacterTest.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Runtime/ArrayConstructor.cpp
    M flang/unittests/Runtime/CharacterTest.cpp

  Log Message:
  -----------
  [flang] Fix some memory leaks (#121050)

This commit fixes some but not all memory leaks in Flang. There are
still 91 tests that fail with ASAN.

- Use `mlir::OwningOpRef` instead of `std::unique_ptr`. The latter does
not free allocations of nested blocks.
- Pass `ModuleOp` as value instead of reference.
- Add few missing deallocations in test cases and other places.


  Commit: 2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
      https://github.com/llvm/llvm-project/commit/2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
  Author: Alexey Gerenkov <alexey at espressif.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Targets.cpp
    A clang/lib/Basic/Targets/Xtensa.cpp
    A clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/stdint.c

  Log Message:
  -----------
  [Clang][Xtensa] Add Xtensa target. (#118008)

This PR implements support for generic Xtensa target in CLang.

Co-authored-by: Andrei Safronov <safronov at espressif.com>


  Commit: ae435adabba2f137fe50749c0581157a89019b5e
      https://github.com/llvm/llvm-project/commit/ae435adabba2f137fe50749c0581157a89019b5e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2d6e7c2b359d


  Commit: 5fb57131b744c52f74919f9487f4a9fa69f455fb
      https://github.com/llvm/llvm-project/commit/5fb57131b744c52f74919f9487f4a9fa69f455fb
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/negative.ll

  Log Message:
  -----------
  [DFAJumpThreading] Don't bail early after encountering unpredictable values (#119774)

After #96127 landed, mshockwave reported that the pass was no longer
threading SPEC2006/perlbench.

After 96127 we started bailing out in `getStateDefMap` and rejecting the
transformation because one of the unpredictable values was coming from
inside the loop. There was no fundamental change in that function except
that we started calling `Loop->contains(IncomingBB)` instead of
`LoopBBs.count(IncomingBB)`. After some analysis I came to the
conclusion that even before 96127 we would reject the transformation if
we provided large enough limits on the path traversal (large enough so
that LoopBBs contained blocks corresponding to that unpredictable
value).

In this patch I changed `getStateDefMap` to not terminate early on
finding an unpredictable value, this is because
`getPathsFromStateDefMap`, later, actually has checks to ensure that the
final list of paths only have predictable values. As a result we can now
partially thread functions like `negative6` in the tests that have some
predictable paths.

This patch does not really have any compile-time impact on the test
suite without `-dfa-early-exit-heuristic=false` (early exit is enabled
by default).

Change-Id: Ie1633b370ed4a0eda8dea52650b40f6f66ef49a3


  Commit: 676b48d1ccd8223bb0bd889cce13e6faecd20c6d
      https://github.com/llvm/llvm-project/commit/676b48d1ccd8223bb0bd889cce13e6faecd20c6d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/Parse/Parser.cpp
    M clang/test/CXX/basic/basic.link/p3.cpp
    A clang/test/Modules/pr121066.cpp

  Log Message:
  -----------
  [C++20] [Modules] Diagnose if import statement lakcs a semicolon

Close https://github.com/llvm/llvm-project/issues/121066

Now we will diagnose that the import statement lacks a semicolon as
expected. Note that the original "not found" diagnose message remains.
I meant to remove that, but the test shows it might be more complex
process (other unexpected diagnose shows up). Given the importance of
the issue, I chose to not dig deeper.


  Commit: 7226b39926b5df6452d13e83f61e35a71dbe448d
      https://github.com/llvm/llvm-project/commit/7226b39926b5df6452d13e83f61e35a71dbe448d
  Author: xilinbai-intel <xilin.bai at intel.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll

  Log Message:
  -----------
  [X86] Support vectorized llvm.fmaximum/fminimum.vXf16 lowering (#120988)

Support the lowering of vectorized FMINIMUM and FMAXIMUM to vminph and
vmaxph on types v8f16, v16f16 when AVX512FP, AVX512VL features are
present, and on type v32f16 when AVX512FP is present.


  Commit: 4884b1b08a13af430620e7104aa58710a70f618c
      https://github.com/llvm/llvm-project/commit/4884b1b08a13af430620e7104aa58710a70f618c
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (#121098)


  Commit: 3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
      https://github.com/llvm/llvm-project/commit/3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt.ll

  Log Message:
  -----------
  [SelectOpt] Optimise big select groups in the latch of a non-inner loop to branches (#119728)

Loop latches often have a loop-carried dependency, and if they have
several SelectLike instructions in one select group, it is usually
profitable to convert it to branches rather than keep selects.


  Commit: 6d7cf5206f1238139b7a967dea555514a62f7d83
      https://github.com/llvm/llvm-project/commit/6d7cf5206f1238139b7a967dea555514a62f7d83
  Author: adam-bzowski <adam.bzowski at intel.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll

  Log Message:
  -----------
  [ValueTracking] Improve KnownBits for signed min-max clamping (#120576)

A signed min-max clamp is the sequence of smin and smax intrinsics,
which constrain a signed value into the range: smin <= value <= smax.
The patch improves the calculation of KnownBits for a value subjected to
the signed clamping.


  Commit: 8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
      https://github.com/llvm/llvm-project/commit/8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp

  Log Message:
  -----------
  [clang][RISCV] Remove unneeded RISCV tuple code (#121024)

These code are no longer needed because we've modeled tuple type using
target extension type rather than structure of scalable vectors.


  Commit: dd9c5c118230fc9adde668f2c96323b73a677400
      https://github.com/llvm/llvm-project/commit/dd9c5c118230fc9adde668f2c96323b73a677400
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc][complex] enable CFP128 entrypoints on X86_64 (#121111)


  Commit: ff97daadcd05ad3373f8398948d2962e88a0f61b
      https://github.com/llvm/llvm-project/commit/ff97daadcd05ad3373f8398948d2962e88a0f61b
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  Revert "[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)" (#121113)

This reverts commit dd9c5c118230fc9adde668f2c96323b73a677400.


  Commit: 70965ef259a161a6e9ccfb8bd841dd2246c56c37
      https://github.com/llvm/llvm-project/commit/70965ef259a161a6e9ccfb8bd841dd2246c56c37
  Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx20-decomposition.cpp

  Log Message:
  -----------
  [Clang] Prevent assignment to captured structured bindings inside immutable lambda (#120849)

For structured bindings, a call to getCapturedDeclRefType(...) was
missing. This PR fixes that behavior and adds the related diagnostics
too.

This fixes https://github.com/llvm/llvm-project/issues/95081.


  Commit: 1dde43586a7a1793affcecfcff48f6023e83b2bd
      https://github.com/llvm/llvm-project/commit/1dde43586a7a1793affcecfcff48f6023e83b2bd
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    A clang/lib/Basic/Targets/Xtensa.cpp
    A clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CXX/basic/basic.link/p3.cpp
    R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
    R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
    M clang/test/Driver/openmp-offload-gpu.c
    A clang/test/Modules/pr121066.cpp
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-win-macros.c
    M clang/test/Preprocessor/stdint.c
    M clang/test/SemaCXX/cxx20-decomposition.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M flang/include/flang/Common/idioms.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Optimizer/Builder/CharacterTest.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Runtime/ArrayConstructor.cpp
    M flang/unittests/Runtime/CharacterTest.cpp
    M libcxx/docs/Hardening.rst
    M libcxx/include/bitset
    M libcxx/include/valarray
    A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
    M llvm/test/CodeGen/AArch64/selectopt.ll
    M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
    R llvm/test/TableGen/ContextlessPredicates.td
    R llvm/test/TableGen/DefaultOpsGlobalISel.td
    R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
    R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
    R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
    R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-optional-def.td
    R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-setcc.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
    A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
    A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
    A llvm/test/TableGen/GlobalISelEmitter/Flags.td
    A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
    A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
    A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
    A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
    A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
    A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
    A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
    A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
    A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
    A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg.td
    A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
    A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
    A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
    A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
    A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/setcc.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    R llvm/test/TableGen/GlobalISelEmitterFlags.td
    R llvm/test/TableGen/GlobalISelEmitterHwModes.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    R llvm/test/TableGen/GlobalISelEmitterSubreg.td
    R llvm/test/TableGen/GlobalISelEmitterVariadic.td
    R llvm/test/TableGen/gisel-physreg-input.td
    R llvm/test/TableGen/immarg-predicated.td
    R llvm/test/TableGen/immarg.td
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/negative.ll
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/Transforms/sccp.mlir
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M openmp/docs/ReleaseNotes.rst
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

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

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/75aa55a129dd...1dde43586a7a

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list