[all-commits] [llvm/llvm-project] 3265df: [RISCV] Add signext attribute to return of fmv_x_w...

Justin Bogner via All-commits all-commits at lists.llvm.org
Thu Aug 15 03:03:02 PDT 2024


  Branch: refs/heads/users/bogner/sprmain.directx-lower-llvmdxtypedbufferstore-to-dxil-ops
  Home:   https://github.com/llvm/llvm-project
  Commit: 3265dfe3e620d526ca15dcecaa1c68e63ceaba45
      https://github.com/llvm/llvm-project/commit/3265dfe3e620d526ca15dcecaa1c68e63ceaba45
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/float-convert.ll

  Log Message:
  -----------
  [RISCV] Add signext attribute to return of fmv_x_w test in float-convert.ll. NFC

This shows that Zfinx generates a sext.w instruction on RV64.
The fadd.s should have filled the upper bits of the GPR with sign
bits so this is unnecessary. Proving it is unnecessary might be
difficult though.


  Commit: 4bac8fd8904904bc7d502f39851eef50b5afff73
      https://github.com/llvm/llvm-project/commit/4bac8fd8904904bc7d502f39851eef50b5afff73
  Author: Connie <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    A llvm/utils/lit/tests/Inputs/check_path.py
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-0.txt
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-1.txt
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat.txt
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat_nonprinting.bin
    A llvm/utils/lit/tests/Inputs/shtest-cat/lit.cfg
    R llvm/utils/lit/tests/Inputs/shtest-shell/cat-error-0.txt
    R llvm/utils/lit/tests/Inputs/shtest-shell/cat-error-1.txt
    R llvm/utils/lit/tests/Inputs/shtest-shell/cat_nonprinting.bin
    R llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py
    M llvm/utils/lit/tests/Inputs/shtest-shell/valid-shell.txt
    A llvm/utils/lit/tests/shtest-cat.py
    M llvm/utils/lit/tests/shtest-shell.py

  Log Message:
  -----------
  [llvm-lit][test][NFC] Moved cat command tests into separate lit test file (#102366)

This patch separates the lit tests that check for the functionality of
lit's built-in cat command into its own test file and folder. This is a
prerequisite for https://github.com/llvm/llvm-project/pull/101530.


  Commit: e9b7983fc6826eceb819a3cdb0301c401847ade4
      https://github.com/llvm/llvm-project/commit/e9b7983fc6826eceb819a3cdb0301c401847ade4
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  [llvm-lit] Fix Unhashable TypeError when using lit's internal shell (#101590)

When using the lit internal shell with the command:
```
LIT_USE_INTERNAL_SHELL=1 ninja check-compiler-rt
```
The follow error is encountered:
```
File "TestRunner.py", line 770, in _executeShCmd
    inproc_builtin = inproc_builtins.get(args[0], None)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'GlobItem'
```
This error is in a compiler-rt file:
```
TestCases/Linux/long-object-path.cpp
```
This error occurs because `args[0]` is of type `GlobItem`, which is not
hashable, leading to a `TypeError` when it is passed in
`inproc_builtins.get()`. To resolve this issue, I have updated the
implementation to ensure that `args[0]` is hashable before it is used in
`inproc_builtins`.
fixes: #102389
[link to
RFC](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)


  Commit: a88f3a331137d6379f2f1189d5eb4b086c686ab4
      https://github.com/llvm/llvm-project/commit/a88f3a331137d6379f2f1189d5eb4b086c686ab4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/lib/Headers/__clang_hip_math.h
    A clang/test/Headers/gpu_disabled_math.cpp

  Log Message:
  -----------
  [Clang] Add `__CLANG_GPU_DISABLE_MATH_WRAPPERS` macro for offloading math (#98234)

Summary:
Currently we replace all math calls with vendor specific ones. This
patch introduces a macro `__CLANG_GPU_DISABLE_MATH_WRAPPERS` that when
defined will disable this.

I went this route instead of a flag for two reasons. One, I think we
have too many flags as is, and we already have `-nogpuinc` to cover
disabling these wrappers entirely, so this would be a really specific
subset of that. Second, these math headers aren't easily decoupled by
simply not including a single header from the clang driver layer.
There's the cmath and the regular math forward declares it would disable
as well.

Note, this currently causes errors because the GPU `libm` doesn't have
`powi`, that's an NVIDIA extension I'll add to LLVM libm.


  Commit: 743e99dcf5146dd4e2c20d20800e91595da47be9
      https://github.com/llvm/llvm-project/commit/743e99dcf5146dd4e2c20d20800e91595da47be9
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/runtime/CUDA/CMakeLists.txt
    M flang/runtime/CUDA/allocator.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp

  Log Message:
  -----------
  Reland "[flang][cuda] Use cuda runtime API #103488"

CUDA Fortran is meant to be an equivalent to the runtime API. Therefore, it
makes more sense to use the cuda rt API in the allocators for CUF.


  Commit: f1779ae53b5a8f65406648f1b69e3dd1ae0340b0
      https://github.com/llvm/llvm-project/commit/f1779ae53b5a8f65406648f1b69e3dd1ae0340b0
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/utils/lit/tests/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 4bac8fd8904904bc7d502f39851eef50b5afff73 (#104278)


  Commit: 48809fafbc083a2e4c03f70406b712ff18b42554
      https://github.com/llvm/llvm-project/commit/48809fafbc083a2e4c03f70406b712ff18b42554
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/test/CodeGen/DirectX/normalize.ll

  Log Message:
  -----------
  Remove unused variable, and unneeded extract element instruction (#103489)

This PR removes an unneeded extract element instruction from codegen,
along with the variable that captured that instruction's return value.


  Commit: 4f7ce107de0c3ae0fb5748f98bc696b6eec7aad9
      https://github.com/llvm/llvm-project/commit/4f7ce107de0c3ae0fb5748f98bc696b6eec7aad9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    M llvm/test/CodeGen/RISCV/rv64zfh-half-convert.ll
    M llvm/test/CodeGen/RISCV/rv64zfhmin-half-convert.ll

  Log Message:
  -----------
  [RISCV] Don't combine (sext_inreg (fmv_x_anyexth X), i16) with Zhinx.

With Zfh and Zfhmin this combine creates a fmv_x_signexth node so we can
remember that the result is sign extended. This become a fmv.x.h
instruction which sign extends its result.

With Zhinx, fmv_x_signexth becomes a COPY_TO_REGCLASS. In order for
this to guarantee the result is properly sign extended we need all
producers of a GPRF16 register class to guarantee the rest of the
GPR is sign extended. I don't think we've done that. bitcasts from i16
to f16 definitely don't do it.

The safest thing to do is to not do this combine so the sign_extend_inreg
will emit a shift pair. This is also consistent with the code generated
for Zfinx on RV64, we don't assume the upper 32 bits are sign extended.


  Commit: 539bf499615dbbfe98deaac1021f351eaad330ea
      https://github.com/llvm/llvm-project/commit/539bf499615dbbfe98deaac1021f351eaad330ea
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  [Sanitizers] Disable prctl test on Android.


  Commit: 2b959bd7f21bc7550a99fb160997002b7e4f1b62
      https://github.com/llvm/llvm-project/commit/2b959bd7f21bc7550a99fb160997002b7e4f1b62
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Misc/warning-flags.c
    M clang/test/SemaTemplate/temp_explicit.cpp

  Log Message:
  -----------
  [Clang] Error on extraneous template headers by default. (#104046)

As discussed here

https://github.com/llvm/llvm-project/issues/99296#issuecomment-2240807413

Fixes #99296
Fixes #50294


  Commit: 9a666deecb9ff6ca3a6b12e6c2877e19b74b54da
      https://github.com/llvm/llvm-project/commit/9a666deecb9ff6ca3a6b12e6c2877e19b74b54da
  Author: Justin Stitt <justinstitt at google.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    A clang/test/CodeGen/overflow-idiom-exclusion-fp.c
    A clang/test/CodeGen/overflow-idiom-exclusion.c

  Log Message:
  -----------
  [Clang] Overflow Pattern Exclusions (#100272)

Introduce "-fsanitize-overflow-pattern-exclusion=" which can be used to
disable sanitizer instrumentation for common overflow-dependent code
patterns.

For a wide selection of projects, proper overflow sanitization could
help catch bugs and solve security vulnerabilities. Unfortunately, in
some cases the integer overflow sanitizers are too noisy for their users
and are often left disabled. Providing users with a method to disable
sanitizer instrumentation of common patterns could mean more projects
actually utilize the sanitizers in the first place.

One such project that has opted to not use integer overflow (or
truncation) sanitizers is the Linux Kernel. There has been some
discussion[1] recently concerning mitigation strategies for unexpected
arithmetic overflow. This discussion is still ongoing and a succinct
article[2] accurately sums up the discussion. In summary, many Kernel
developers do not want to introduce more arithmetic wrappers when
most developers understand the code patterns as they are.

Patterns like:

    if (base + offset < base) { ... }

or

    while (i--) { ... }

or

    #define SOME -1UL

are extremely common in a code base like the Linux Kernel. It is
perhaps too much to ask of kernel developers to use arithmetic wrappers
in these cases. For example:

    while (wrapping_post_dec(i)) { ... }

which wraps some builtin would not fly. This would incur too many
changes to existing code; the code churn would be too much, at least too
much to justify turning on overflow sanitizers.

Currently, this commit tackles three pervasive idioms:

1. "if (a + b < a)" or some logically-equivalent re-ordering like "if (a > b + a)"
2. "while (i--)" (for unsigned) a post-decrement always overflows here
3. "-1UL, -2UL, etc" negation of unsigned constants will always overflow

The patterns that are excluded can be chosen from the following list:

- add-overflow-test
- post-decr-while
- negated-unsigned-const

These can be enabled with a comma-separated list:

    -fsanitize-overflow-pattern-exclusion=add-overflow-test,negated-unsigned-const

"all" or "none" may also be used to specify that all patterns should be
excluded or that none should be.

[1] https://lore.kernel.org/all/202404291502.612E0A10@keescook/
[2] https://lwn.net/Articles/979747/

CCs: @efriedma-quic @kees @jyknight @fmayer @vitalybuka
Signed-off-by: Justin Stitt <justinstitt at google.com>
Co-authored-by: Bill Wendling <morbo at google.com>


  Commit: 9a9ca9850f3c6b278e052745f51a87296d9fedd2
      https://github.com/llvm/llvm-project/commit/9a9ca9850f3c6b278e052745f51a87296d9fedd2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir

  Log Message:
  -----------
  [mlir][MemRef] Add more ops to narrow type support, strided metadata expansion (#102228)

- Add support fef memory_space_cast to strided metadata expansion and
narrow type emulation
- Add support for expand_shape to narrow type emulation (like
collapse_shape, it's a noop after linearization) and to
expand-strided-metadata (mirroring the collapse_shape pattern)
- Add support for memref.dealloc to narrow type emulation (it is a
trivial rewrite) and for memref.copy (which is unsupported when it is
used for a layout change but a trivial rewrite otherwise)


  Commit: 564efe26745c5bb7236b095d5b42881cdc64a284
      https://github.com/llvm/llvm-project/commit/564efe26745c5bb7236b095d5b42881cdc64a284
  Author: pcc <peter at pcc.me.uk>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    A llvm/utils/git/linkify

  Log Message:
  -----------
  utils/git: Add linkify script.

This script linkifies (i.e. makes clickable in the terminal) text that appears
to be a pull request or issue reference (e.g. #12345 or PR12345) or a
40-character commit hash (e.g. abc123). You can configure git to automatically
send the output of commands that pipe their output through a pager, such as
`git log` and `git show`, through this script by running this command from
within your LLVM checkout:

git config core.pager 'llvm/utils/git/linkify | pager'

The pager command is run from the root of the repository even if the git
command is run from a subdirectory, so the relative path should always work.

It requires OSC 8 support in the terminal. For a list of compatible terminals,
see https://github.com/Alhadis/OSC8-Adoption

Reviewers: MaskRay

Reviewed By: MaskRay

Pull Request: https://github.com/llvm/llvm-project/pull/103496


  Commit: 7275919cd5fc89c42a52168c9f4411b4e5421c95
      https://github.com/llvm/llvm-project/commit/7275919cd5fc89c42a52168c9f4411b4e5421c95
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/overflow-idiom-exclusion-fp.c
    M clang/test/CodeGen/overflow-idiom-exclusion.c

  Log Message:
  -----------
  Use clang_cc1 and specify the target explicitly.


  Commit: 5873aa83b871393b5ada4c2033445d5fd52d7461
      https://github.com/llvm/llvm-project/commit/5873aa83b871393b5ada4c2033445d5fd52d7461
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/overflow-idiom-exclusion-fp.c
    M clang/test/CodeGen/overflow-idiom-exclusion.c

  Log Message:
  -----------
  Remove '-emit-llvm' and use '-triple'


  Commit: 4411d1e3926d67c393e6a7bdb910bbe77507ff26
      https://github.com/llvm/llvm-project/commit/4411d1e3926d67c393e6a7bdb910bbe77507ff26
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp

  Log Message:
  -----------
  [sanitizer] Remove GetCurrentThread nullness checks from Allocate

The nullness check is unreachable.

* For the main thead and pthread_create created threads, the `*Allocate` functions must be called after `*_current_thread` is set.
set.
* For threads created by Linux's `clone`, static TLS is either reused or
  set to a new value (CLONE_SETTLS).

Make this change for asan/msan and possibly extend the change to other
sanitizers. (asan supports many platforms and I am not 100% certain that
all platforms have the property.)

Pull Request: https://github.com/llvm/llvm-project/pull/102828


  Commit: aca01bff07c225dbace6cb7743072ddfe78c43f0
      https://github.com/llvm/llvm-project/commit/aca01bff07c225dbace6cb7743072ddfe78c43f0
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    A llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
    M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll

  Log Message:
  -----------
  [ctx_prof] CtxProfAnalysis: populate module data (#102930)

Continuing from #102084, which introduced the analysis, we now populate
it with info about functions contained in the module.

When we will update the profile due to e.g. inlined callsites, we'll
ingest the callee's counters and callsites to the caller. We'll move
those to the caller's respective index space (counter and callers), so
we need to know and maintain where those currently end.

We also don't need to keep profiles not pertinent to this module.

This patch also introduces an arguably much simpler way to track the
GUID of a function from the frontend compilation, through ThinLTO, and
into the post-thinlink compilation step, which doesn't rely on keeping
names around. A separate RFC and patches will discuss extending this to
the current PGO (instrumented and sampled) and other consumers as an
infrastructural component.


  Commit: bd47ba705607033c3dab0037a8d64159b58bedb4
      https://github.com/llvm/llvm-project/commit/bd47ba705607033c3dab0037a8d64159b58bedb4
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h

  Log Message:
  -----------
  [ELF][NFC] Allow non-GotSection for addAddendOnlyRelocIfNonPreemptible (#104228)

This was done as an afterthought in c3c9e4531287 without justification.
Nothing relies on it being a specific kind of section, and downstream in
CHERI LLVM we pass a non-GotSection to this function. Thus revert this
overly-restrictive change and allow downstreams to pass other section
types again.

This partially reverts commit c3c9e45312874ff890723f54cabfd41e43b2dbc4.


  Commit: 0df91893efc752a76c7bbe6b063d66c8a2fa0d55
      https://github.com/llvm/llvm-project/commit/0df91893efc752a76c7bbe6b063d66c8a2fa0d55
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp
    M lld/test/MachO/objc-category-merging-minimal.s

  Log Message:
  -----------
  [lld-macho] Fix crash: ObjC category merge + relative method lists (#104081)

A crash was happening when both ObjC Category Merging and Relative
method lists were enabled.

ObjC Category Merging creates new data sections and adds them by calling
`addInputSection`. `addInputSection` uses the symbols within the added
section to determine which container to actually add the section to.

The issue is that ObjC Category merging is calling `addInputSection`
before actually adding the relevant symbols the the added section. This
causes `addInputSection` to add the `InputSection` to the wrong
container, eventually resulting in a crash.

To fix this, we ensure that ObjC Category Merging calls
`addInputSection` only after the symbols have been added to the
`InputSection`.


  Commit: abaa53199ed03b2e9de9fd373cbcfcc88e5348ff
      https://github.com/llvm/llvm-project/commit/abaa53199ed03b2e9de9fd373cbcfcc88e5348ff
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/CodeGen/RISCV/riscv-codegen-prepare-atp.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVTTIImpl::shouldConsiderAddressTypePromotion for RISCV (#102560)

This optimization helps reduce repeated calculations of base addresses
by extracting type extensions when the same base address is accessed
multiple times but its offset is a constant.


  Commit: b57038a611329ec42858b714effb482cbfc4d4e1
      https://github.com/llvm/llvm-project/commit/b57038a611329ec42858b714effb482cbfc4d4e1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMP] Use range-based for loops (NFC) (#103511)


  Commit: b4dc9869381f91af419ec170837ac324d09525e5
      https://github.com/llvm/llvm-project/commit/b4dc9869381f91af419ec170837ac324d09525e5
  Author: Daniel Wedzicha <55595431+boredhuman at users.noreply.github.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm

  Log Message:
  -----------
  [LLDB][OSX] Removed semi colon generating a warning during build (#104398)

Singular warning I noticed when compiling lldb.

Co-authored-by: Daniel <d.wedzicha at efg.gg>


  Commit: e0d173d44161bf9b68243845666d58999e74f759
      https://github.com/llvm/llvm-project/commit/e0d173d44161bf9b68243845666d58999e74f759
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/MicrosoftMangle.cpp
    A clang/test/CodeGenCXX/mangle-ms-auto-return.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-memptrs.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-nullptr.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates.cpp

  Log Message:
  -----------
  [Clang] [AST] Fix placeholder return type name mangling for MSVC 1920+ / VS2019+ (#102848)

Partial fix for https://github.com/llvm/llvm-project/issues/92204.
This PR just fixes VS2019+ since that is the suite of compilers that I
require link compatibility with at the moment.
I still intend to fix VS2017 and to update llvm-undname in future PRs.
Once those are also finished and merged I'll close out
https://github.com/llvm/llvm-project/issues/92204.
I am hoping to get the llvm-undname PR up in a couple of weeks to be
able to demangle the VS2019+ name mangling.

MSVC 1920+ mangles placeholder return types for non-templated functions
with "@".
For example `auto foo() { return 0; }` is mangled as `?foo@@YA at XZ`.

MSVC 1920+ mangles placeholder return types for templated functions as
the qualifiers of the AutoType followed by "_P" for `auto` and "_T" for
`decltype(auto)`.
For example `template<class T> auto foo() { return 0; }` is mangled as
`??$foo at H@@YA?A_PXZ` when `foo` is instantiated as follows `foo<int>()`.

Lambdas with placeholder return types are still mangled with clang's
custom mangling since MSVC lambda mangling hasn't been deciphered yet.
Similarly any pointers in the return type with an address space are
mangled with clang's custom mangling since that is a clang extension.

We cannot augment `mangleType` to support this mangling scheme as the
mangling schemes for variables and functions differ.
auto variables are encoded with the fully deduced type where auto return
types are not.
The following two functions with a static variable are mangled the same
```
template<class T>
int test()
{
    static int i = 0; // "?i@?1???$test at H@@YAHXZ at 4HA"
    return i;
}

template<class T>
int test()
{
    static auto i = 0; // "?i@?1???$test at H@@YAHXZ at 4HA"
    return i;
}
```
Inside `mangleType` once we get to mangling the `AutoType` we have no
context if we are from a variable encoding or some other encoding.
Therefore it was easier to handle any special casing for `AutoType`
return types with a separate function instead of using the `mangleType`
infrastructure.


  Commit: 6e2d9df02502e16659e4a9397260baf9df224f17
      https://github.com/llvm/llvm-project/commit/6e2d9df02502e16659e4a9397260baf9df224f17
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/overflow-idiom-exclusion-fp.c
    M clang/test/CodeGen/overflow-idiom-exclusion.c

  Log Message:
  -----------
  Fix testcases. Use -emit-llvm and not -S. Use LABEL checking.


  Commit: 94b8b11ac305ebe730e6b70b2463811de395cb40
      https://github.com/llvm/llvm-project/commit/94b8b11ac305ebe730e6b70b2463811de395cb40
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [Clang][NFC] Move FindCountedByField into FieldDecl (#104235)

FindCountedByField can be used in more places than CodeGen. Move it into
FieldDecl to avoid layering issues.


  Commit: 07a8cbaf8dc16bebf6e875173d20299d9cc47cc5
      https://github.com/llvm/llvm-project/commit/07a8cbaf8dc16bebf6e875173d20299d9cc47cc5
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    R clang/test/CodeGen/overflow-idiom-exclusion.c

  Log Message:
  -----------
  Remove failing test until it can be fixed properly.


  Commit: fb9e685fc41b8abc87725f8509624b3a80330dee
      https://github.com/llvm/llvm-project/commit/fb9e685fc41b8abc87725f8509624b3a80330dee
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/LoongArch/fp-maximumnum-minimumnum.ll
    A llvm/test/CodeGen/Mips/fp-maximumnum-minimumnum.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp

  Log Message:
  -----------
  Intrinsic: introduce minimumnum and maximumnum for IR and SelectionDAG (#96649)

C23 introduced new functions fminimum_num and fmaximum_num, and they
follow the minimumNumber and maximumNumber of IEEE754-2019. Let's
introduce new intrinsics to support them.

This patch introduces support only support for scalar values. The
support of
  vector (vp, vp.reduce, vector.reduce),
  experimental.constrained
will be added in future patches.

With this patch, MIPSr6 and LoongArch can work out of box with
fcanonical and fmax/fmin.

Aarch64/PowerPC64 can use the same login as MIPSr6 and LoongArch, while
they have no fcanonical support yet.
I will add it in future patches.

The FMIN/FMAX of RISC-V instructions follows the
minimumNumber/maximumNumber of IEEE754-2019. We can just add it in
future patch.

Background

https://discourse.llvm.org/t/rfc-fix-llvm-min-f-and-llvm-max-f-intrinsics/79735
Currently we have fminnum/fmaxnum, which have different behavior on
different platform for NUM vs sNaN:
   1) Fallback to fmin(3)/fmax(3): return qNaN.
   2) ARM64/ARM32+Neon: same as libc.
   3) MIPSr6/LoongArch/RISC-V: return NUM.

And the fix of fminnum/fmaxnum to follow minNUM/maxNUM of IEEE754-2008
will submit as separated patches.


  Commit: 8d037107287b85dcc8a0f0af75bd8ae5c07facb5
      https://github.com/llvm/llvm-project/commit/8d037107287b85dcc8a0f0af75bd8ae5c07facb5
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/CtxProfAnalysis.cpp

  Log Message:
  -----------
  [ctx_prof] Remove an unneeded include in CtxProfAnalysis.cpp


  Commit: 372842b30f8e611765e3cb9f06b8265d2e79f3f6
      https://github.com/llvm/llvm-project/commit/372842b30f8e611765e3cb9f06b8265d2e79f3f6
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/X86/cmpccxadd-builtins.c
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/test/CodeGen/X86/cmpccxadd-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt
    M llvm/test/MC/Disassembler/X86/cmpccxadd-64.txt
    M llvm/test/MC/X86/apx/cmpccxadd-att.s
    M llvm/test/MC/X86/apx/cmpccxadd-intel.s
    M llvm/test/MC/X86/cmpccxadd-att-alias.s
    M llvm/test/MC/X86/cmpccxadd-att.s
    M llvm/test/MC/X86/cmpccxadd-intel-alias.s
    M llvm/test/MC/X86/cmpccxadd-intel.s

  Log Message:
  -----------
  [X86][MC] Remove CMPCCXADD's CondCode flavor. (#103898)

To align with gas's latest changes.
relate gas patch:
https://sourceware.org/pipermail/binutils/2024-May/134360.html


  Commit: 1e34706232e5f2865ff918ba8e9f840f38cdef07
      https://github.com/llvm/llvm-project/commit/1e34706232e5f2865ff918ba8e9f840f38cdef07
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add verifier for `tosa.table` (#103708)

This patch adds a verifier to `tosa.table` which fixes a crash. Fix
#103086.


  Commit: 3eaf483c296bd95411bc855674707f289790e2a2
      https://github.com/llvm/llvm-project/commit/3eaf483c296bd95411bc855674707f289790e2a2
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp

  Log Message:
  -----------
  [include-cleaner] Remove two commented-out lines of code.


  Commit: 12763a06526f5fee46d8d11953b1188bad9e7b0e
      https://github.com/llvm/llvm-project/commit/12763a06526f5fee46d8d11953b1188bad9e7b0e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Move VPWidenStoreRecipe::execute to VPlanRecipes.cpp (NFC).

Move VPWidenStoreRecipe::execute to VPlanRecipes.cpp in line with
other ::execute implementations that don't depend on anything
defined in LoopVectorization.cpp


  Commit: fa343be414f9364911b947f109f3df5539e23068
      https://github.com/llvm/llvm-project/commit/fa343be414f9364911b947f109f3df5539e23068
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp

  Log Message:
  -----------
  Fix warnings in #102848 [-Wunused-but-set-variable]


  Commit: 845431a54fc2befacdfea27a852f003ad61ba720
      https://github.com/llvm/llvm-project/commit/845431a54fc2befacdfea27a852f003ad61ba720
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    R llvm/test/Assembler/datalayout-invalid-function-ptr-alignment.ll
    R llvm/test/Assembler/datalayout-invalid-i8-alignment.ll
    R llvm/test/Assembler/datalayout-invalid-stack-natural-alignment.ll
    R llvm/test/Assembler/invalid-datalayout-alloca-addrspace.ll
    R llvm/test/Assembler/invalid-datalayout-globals-addrspace.ll
    R llvm/test/Assembler/invalid-datalayout-index-size.ll
    R llvm/test/Assembler/invalid-datalayout-program-addrspace.ll
    R llvm/test/Assembler/invalid-datalayout1.ll
    R llvm/test/Assembler/invalid-datalayout10.ll
    R llvm/test/Assembler/invalid-datalayout11.ll
    R llvm/test/Assembler/invalid-datalayout12.ll
    R llvm/test/Assembler/invalid-datalayout13.ll
    R llvm/test/Assembler/invalid-datalayout14.ll
    R llvm/test/Assembler/invalid-datalayout15.ll
    R llvm/test/Assembler/invalid-datalayout16.ll
    R llvm/test/Assembler/invalid-datalayout17.ll
    R llvm/test/Assembler/invalid-datalayout18.ll
    R llvm/test/Assembler/invalid-datalayout19.ll
    R llvm/test/Assembler/invalid-datalayout2.ll
    R llvm/test/Assembler/invalid-datalayout20.ll
    R llvm/test/Assembler/invalid-datalayout21.ll
    R llvm/test/Assembler/invalid-datalayout22.ll
    R llvm/test/Assembler/invalid-datalayout23.ll
    R llvm/test/Assembler/invalid-datalayout24.ll
    R llvm/test/Assembler/invalid-datalayout3.ll
    R llvm/test/Assembler/invalid-datalayout4.ll
    R llvm/test/Assembler/invalid-datalayout5.ll
    R llvm/test/Assembler/invalid-datalayout6.ll
    R llvm/test/Assembler/invalid-datalayout7.ll
    R llvm/test/Assembler/invalid-datalayout8.ll
    R llvm/test/Assembler/invalid-datalayout9.ll
    M llvm/unittests/IR/DataLayoutTest.cpp

  Log Message:
  -----------
  [UnitTests] Convert some data layout parsing tests to GTest (#104346)

For now, the testcases are grouped in a single TEST. I'll sort them out
and add more testcases in follow-up commits.


  Commit: 4a00f1aab25353ca51b5d8e2b081cc66305b3cd8
      https://github.com/llvm/llvm-project/commit/4a00f1aab25353ca51b5d8e2b081cc66305b3cd8
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/IR/elements-attr-interface.mlir
    M mlir/test/Target/LLVMIR/llvmir-le-specific.mlir

  Log Message:
  -----------
  [mlir][test] XFAIL little-endian-only tests on SPARC (#103726)

3 MLIR tests `FAIL` on SPARC, both Solaris/sparcv9 and Linux/sparc64:
```
  MLIR :: Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
  MLIR :: IR/elements-attr-interface.mlir
  MLIR :: Target/LLVMIR/llvmir-le-specific.mlir
```
The issue is always the same: the tests in question are
little-endian-only currently, so this patch `XFAIL`s them on `sparc*` as
is already done for `s390x`.

Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.


  Commit: cf2e10150a5a83cece4fb8935202f0d67307b5c8
      https://github.com/llvm/llvm-project/commit/cf2e10150a5a83cece4fb8935202f0d67307b5c8
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M flang/test/Lower/default-initialization-globals.f90

  Log Message:
  -----------
  [flang][test] Fix Lower/default-initialization-globals.f90 on SPARC (#103722)

`Flang :: Lower/default-initialization-globals.f90` `FAIL`s on SPARC,
both Solaris/sparcv9 and Linux/sparc64.

The failure mode is same as on AIX/PowerPC, so both targets being
big-endian, this patch treats them the same.

Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.


  Commit: e1e47acafb81e583e5cf7b3b6d609f4b5726cc67
      https://github.com/llvm/llvm-project/commit/e1e47acafb81e583e5cf7b3b6d609f4b5726cc67
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/IR/DataLayout.cpp

  Log Message:
  -----------
  [DataLayout] Move '*AlignElem' structs and enum inside DataLayout (NFC) (#103723)

This makes `LayoutAlignElem` / `PointerAlignElem` and `AlignTypeEnum`
inner types of `DataLayout`. The types are also renamed to match their
meaning (LangRef refers to them as "specification" and "specifier").

Pull Request: https://github.com/llvm/llvm-project/pull/103723


  Commit: 3d06de544b8397a6b93a4fdb52650579237b77fa
      https://github.com/llvm/llvm-project/commit/3d06de544b8397a6b93a4fdb52650579237b77fa
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M lldb/CodeOwners.rst

  Log Message:
  -----------
  [lldb] Remove Phabricator usernames from Code Owners file (#102590)

Removing them simplifies the content and means we don't confuse anyone
who joined after the Phabricator shutdown.

You could use them for review archaeology but this is only a subset of
the names you'd encounter there anyway. So I don't think this is a good
reason to keep them here. With a couple of exceptions the
Phabricator/GitHub names are the same and/or related to their full name
anyway.


  Commit: 6d9cae12bdfcaeb2be10866e20e8883242f02c6c
      https://github.com/llvm/llvm-project/commit/6d9cae12bdfcaeb2be10866e20e8883242f02c6c
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M flang/test/Driver/fveclib-codegen.f90

  Log Message:
  -----------
  [flang][test] Run Driver/fveclib-codegen.f90 for aarch64 and x86_64 (#103730)

`Flang :: Driver/fveclib-codegen.f90` currently `FAIL`s on SPARC, both
Solaris/sparcv9 and Linux/sparc64:
```
bin/flang-new -S -Ofast -fveclib=LIBMVEC -o - /vol/llvm/src/llvm-project/local/flang/test/Driver/fveclib-codegen.f90

flang/test/Driver/fveclib-codegen.f90:11:10: error: CHECK: expected string not found in input
! CHECK: _ZGVbN4vv_powf
         ^
```
The code in question only contains calls to `powf`. Given that `glibc`
only supports `libmvec` on `aarch64` and `x86_64`, this test targets
only those if possible.

Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.


  Commit: 6f6422f4a2b8647a59936c131e50a79906d89510
      https://github.com/llvm/llvm-project/commit/6f6422f4a2b8647a59936c131e50a79906d89510
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp

  Log Message:
  -----------
  [lldb][test] Mark sys_info zdump test unsupported on 32 bit Arm Linux

Until https://github.com/llvm/llvm-project/pull/103056 lands
or another more appropriate check can be found.

This test fails on Ubuntu Focal where zdump is built with 32 bit time_t
but passes on Ubuntu Jammy where zdump is built with 64 bit time_t.

Marking it unsupported means Linaro can upgrade its bots to Ubuntu
Jammy without getting an unexpected pass.


  Commit: 141536544f4ec1d1bf24256157f4ff1a3bc07dae
      https://github.com/llvm/llvm-project/commit/141536544f4ec1d1bf24256157f4ff1a3bc07dae
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    A mlir/include/mlir/Analysis/SliceWalk.h
    M mlir/lib/Analysis/CMakeLists.txt
    A mlir/lib/Analysis/SliceWalk.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir

  Log Message:
  -----------
  [MLIR][LLVM]: Add an IR utility to perform slice walking (#103053)

This commit introduces a slicing utility that can be used to walk
arbitrary IR slices. It additionally ships logic to determine control
flow predecessors, which allows users to walk backward slices without
dealing with both `RegionBranchOpInterface` and `BranchOpInterface`.

This utility is used to improve the `noalias` propagation in the LLVM
dialect's inliner interface. Before this change, it broke down as soon
as pointer were passed through region control flow operations.


  Commit: 5f15c1776a462940464743dbc9e82c46fe7e14aa
      https://github.com/llvm/llvm-project/commit/5f15c1776a462940464743dbc9e82c46fe7e14aa
  Author: Yanzuo Liu <zwuis at outlook.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/docs/ProgrammersManual.rst

  Log Message:
  -----------
  [llvm][Docs] `_or_null` -> `_if_present` in Programmer's Manual (#98586)

`cast_or_null` is deprecated.

https://github.com/llvm/llvm-project/blob/062844615db5e141da118c1ad780bf102537f40a/llvm/include/llvm/Support/Casting.h#L717-L722


  Commit: 05dfac23f1121aabb9675a38628e919689f993b0
      https://github.com/llvm/llvm-project/commit/05dfac23f1121aabb9675a38628e919689f993b0
  Author: Jorge Botto <23462171+jf-botto at users.noreply.github.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Adding m_FPToUI and m_FPToSI to SDPatternMatch.h (#104044)

Adds m_FPToUI/m_FPToSI matchers for ISD::FP_TO_UINT/ISD::FP_TO_SINT in SDPatternMatch.h with suitable test coverage.

Fixes https://github.com/llvm/llvm-project/issues/103872


  Commit: 9a9ce9112fd7ed87d305d3e4f9b05c98a04f2382
      https://github.com/llvm/llvm-project/commit/9a9ce9112fd7ed87d305d3e4f9b05c98a04f2382
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port for 141536544f4ec1d1bf24256157f4ff1a3bc07dae


  Commit: 7227b44f928a87b5d7fb05bd1539fdfb6d4958dc
      https://github.com/llvm/llvm-project/commit/7227b44f928a87b5d7fb05bd1539fdfb6d4958dc
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    A clang/test/Driver/darwin-print-target-triple.c

  Log Message:
  -----------
  [clang][driver] Fix -print-target-triple OS version for apple targets (#104037)

The target needs to be initialized in order to compute the correct
target triple from the command line. Without initialized targets the OS
component of the triple might not reflect what would be computed by the
driver for an actual compiler invocation.

Fixes https://github.com/llvm/llvm-project/issues/61762


  Commit: 3a3990cb05858e7892a4825c677891a980f1cea8
      https://github.com/llvm/llvm-project/commit/3a3990cb05858e7892a4825c677891a980f1cea8
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [Flang][OpenMP] Move assert for wrapper syms and block args to genLoopNestOp (#103731)

This patch adds an assert to `genLoopNestClauses` to ensure the number
of symbols and corresponding loop wrapper entry block arguments have the
same size. This is checked by some of the callers, but it makes more
sense moving it into the function itself and avoid having to replicate
it.


  Commit: 8107810cad24d41fe43c6777370c7b81ca83ad84
      https://github.com/llvm/llvm-project/commit/8107810cad24d41fe43c6777370c7b81ca83ad84
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
    M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
    M llvm/test/CodeGen/DirectX/UAVMetadata.ll
    M llvm/test/CodeGen/DirectX/cbuf.ll
    M llvm/test/CodeGen/DirectX/dxil_ver.ll
    M llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll
    M llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll
    M llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll
    M llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll
    M llvm/test/CodeGen/DirectX/lib_entry.ll
    M llvm/test/Frontend/HLSL/empty_cs_entry.ll

  Log Message:
  -----------
  [DirectX] Use a more consistent pass name for DXILTranslateMetadata

This updates the "dxil-metadata-emit" pass flag to be spelled
"dxil-translate-metadata" to better match the pass name.

Pull Request: https://github.com/llvm/llvm-project/pull/104249


  Commit: 4613ca7c4558473c834886f89719b2f0dcc2102d
      https://github.com/llvm/llvm-project/commit/4613ca7c4558473c834886f89719b2f0dcc2102d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/lib/Headers/__clang_hip_math.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CodeGen/X86/cmpccxadd-builtins.c
    A clang/test/CodeGen/overflow-idiom-exclusion-fp.c
    A clang/test/CodeGenCXX/mangle-ms-auto-return.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-memptrs.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-nullptr.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates.cpp
    A clang/test/Driver/darwin-print-target-triple.c
    A clang/test/Headers/gpu_disabled_math.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
    M clang/test/SemaTemplate/temp_explicit.cpp
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/runtime/CUDA/CMakeLists.txt
    M flang/runtime/CUDA/allocator.cpp
    M flang/test/Driver/fveclib-codegen.f90
    M flang/test/Lower/default-initialization-globals.f90
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/MachO/ObjC.cpp
    M lld/test/MachO/objc-category-merging-minimal.s
    M lldb/CodeOwners.rst
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ProgrammersManual.rst
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    R llvm/test/Assembler/datalayout-invalid-function-ptr-alignment.ll
    R llvm/test/Assembler/datalayout-invalid-i8-alignment.ll
    R llvm/test/Assembler/datalayout-invalid-stack-natural-alignment.ll
    R llvm/test/Assembler/invalid-datalayout-alloca-addrspace.ll
    R llvm/test/Assembler/invalid-datalayout-globals-addrspace.ll
    R llvm/test/Assembler/invalid-datalayout-index-size.ll
    R llvm/test/Assembler/invalid-datalayout-program-addrspace.ll
    R llvm/test/Assembler/invalid-datalayout1.ll
    R llvm/test/Assembler/invalid-datalayout10.ll
    R llvm/test/Assembler/invalid-datalayout11.ll
    R llvm/test/Assembler/invalid-datalayout12.ll
    R llvm/test/Assembler/invalid-datalayout13.ll
    R llvm/test/Assembler/invalid-datalayout14.ll
    R llvm/test/Assembler/invalid-datalayout15.ll
    R llvm/test/Assembler/invalid-datalayout16.ll
    R llvm/test/Assembler/invalid-datalayout17.ll
    R llvm/test/Assembler/invalid-datalayout18.ll
    R llvm/test/Assembler/invalid-datalayout19.ll
    R llvm/test/Assembler/invalid-datalayout2.ll
    R llvm/test/Assembler/invalid-datalayout20.ll
    R llvm/test/Assembler/invalid-datalayout21.ll
    R llvm/test/Assembler/invalid-datalayout22.ll
    R llvm/test/Assembler/invalid-datalayout23.ll
    R llvm/test/Assembler/invalid-datalayout24.ll
    R llvm/test/Assembler/invalid-datalayout3.ll
    R llvm/test/Assembler/invalid-datalayout4.ll
    R llvm/test/Assembler/invalid-datalayout5.ll
    R llvm/test/Assembler/invalid-datalayout6.ll
    R llvm/test/Assembler/invalid-datalayout7.ll
    R llvm/test/Assembler/invalid-datalayout8.ll
    R llvm/test/Assembler/invalid-datalayout9.ll
    M llvm/test/CodeGen/DirectX/CreateHandle.ll
    M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
    M llvm/test/CodeGen/DirectX/normalize.ll
    A llvm/test/CodeGen/LoongArch/fp-maximumnum-minimumnum.ll
    A llvm/test/CodeGen/Mips/fp-maximumnum-minimumnum.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    A llvm/test/CodeGen/RISCV/riscv-codegen-prepare-atp.ll
    M llvm/test/CodeGen/RISCV/rv64zfh-half-convert.ll
    M llvm/test/CodeGen/RISCV/rv64zfhmin-half-convert.ll
    M llvm/test/CodeGen/X86/cmpccxadd-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt
    M llvm/test/MC/Disassembler/X86/cmpccxadd-64.txt
    M llvm/test/MC/X86/apx/cmpccxadd-att.s
    M llvm/test/MC/X86/apx/cmpccxadd-intel.s
    M llvm/test/MC/X86/cmpccxadd-att-alias.s
    M llvm/test/MC/X86/cmpccxadd-att.s
    M llvm/test/MC/X86/cmpccxadd-intel-alias.s
    M llvm/test/MC/X86/cmpccxadd-intel.s
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
    M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/IR/DataLayoutTest.cpp
    A llvm/utils/git/linkify
    M llvm/utils/lit/lit/TestRunner.py
    A llvm/utils/lit/tests/Inputs/check_path.py
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-0.txt
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-1.txt
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat.txt
    A llvm/utils/lit/tests/Inputs/shtest-cat/cat_nonprinting.bin
    A llvm/utils/lit/tests/Inputs/shtest-cat/lit.cfg
    R llvm/utils/lit/tests/Inputs/shtest-shell/cat-error-0.txt
    R llvm/utils/lit/tests/Inputs/shtest-shell/cat-error-1.txt
    R llvm/utils/lit/tests/Inputs/shtest-shell/cat_nonprinting.bin
    R llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py
    M llvm/utils/lit/tests/Inputs/shtest-shell/valid-shell.txt
    A llvm/utils/lit/tests/shtest-cat.py
    M llvm/utils/lit/tests/shtest-shell.py
    A mlir/include/mlir/Analysis/SliceWalk.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Analysis/CMakeLists.txt
    A mlir/lib/Analysis/SliceWalk.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/IR/elements-attr-interface.mlir
    M mlir/test/Target/LLVMIR/llvmir-le-specific.mlir
    M utils/bazel/llvm-project-overlay/llvm/utils/lit/tests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5-bogner

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/e1b20f25e28a...4613ca7c4558

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