[all-commits] [llvm/llvm-project] 5b0587: [PowerPC] Support local-dynamic TLS relocation on ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri Mar 1 07:43:29 PST 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpcheck-if-masked-gather-can-be-emitted-as-a-serie-of-loadsinsert
  Home:   https://github.com/llvm/llvm-project
  Commit: 5b058709536dd883980722ee000bb7b8c7b2cd8b
      https://github.com/llvm/llvm-project/commit/5b058709536dd883980722ee000bb7b8c7b2cd8b
  Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/CodeGen/PowerPC/aix-tls-model.cpp
    M clang/test/Sema/aix-attr-tls_model.c
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/XCOFFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/PPC.h
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
    A llvm/test/CodeGen/PowerPC/aix-tls-ld-xcoff-reloc-large.ll
    A llvm/test/CodeGen/PowerPC/aix-tls-local-dynamic.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc.ll

  Log Message:
  -----------
  [PowerPC] Support local-dynamic TLS relocation on AIX (#66316)

Supports TLS local-dynamic on AIX, generates below sequence of code:

```
.tc foo[TC],foo[TL]@ld # Variable offset, ld relocation specifier
.tc mh[TC],mh[TC]@ml # Module handle for the caller
lwz 3,mh[TC]\(2\) $$ For 64-bit: ld 3,mh[TC]\(2\)
bla .__tls_get_mod # Modifies r0,r3,r4,r5,r11,lr,cr0
#r3 = &TLS for module
lwz 4,foo[TC]\(2\) $$ For 64-bit: ld 4,foo[TC]\(2\)
add 5,3,4 # Compute &foo
.rename mh[TC], "\_$TLSML" # Symbol for the module handle must have the name "_$TLSML"
```

---------

Co-authored-by: tingwang <tingwang at tingwangs-MBP.lan>
Co-authored-by: tingwang <tingwang at tingwangs-MacBook-Pro.local>


  Commit: 5899599b01d86545896bd21bd15fb5cb619bd6c7
      https://github.com/llvm/llvm-project/commit/5899599b01d86545896bd21bd15fb5cb619bd6c7
  Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir

  Log Message:
  -----------
  [mlir][sparse] Migration to sparse_tensor.print (#83506)

Continuous efforts #83357. Previously reverted #83377.


  Commit: 9a12b0a60084b2b92f728e1bddec884a47458459
      https://github.com/llvm/llvm-project/commit/9a12b0a60084b2b92f728e1bddec884a47458459
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/Utility/AddressableBits.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBProcess.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/AddressableBits.cpp
    A lldb/test/API/python_api/process/address-masks/Makefile
    A lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
    A lldb/test/API/python_api/process/address-masks/main.c

  Log Message:
  -----------
  [lldb] Add SBProcess methods for get/set/use address masks (#83095)

I'm reviving a patch from phabracator, https://reviews.llvm.org/D155905
which was approved but I wasn't thrilled with all the API I was adding
to SBProcess for all of the address mask types / memory regions. In this
update, I added enums to control type address mask type (code, data,
any) and address space specifiers (low, high, all) with defaulted
arguments for the most common case.

This patch is also fixing a bug in the "addressable bits to address
mask" calculation I added in AddressableBits::SetProcessMasks. If lldb
were told that 64 bits are valid for addressing, this method would
overflow the calculation and set an invalid mask. Added tests to check
this specific bug while I was adding these APIs.

rdar://123530562


  Commit: 7ceb74f5b74fa4a0b68ad911afd3cad945f640a3
      https://github.com/llvm/llvm-project/commit/7ceb74f5b74fa4a0b68ad911afd3cad945f640a3
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp

  Log Message:
  -----------
  [compiler-rt] fix BSD procmaps stack frame size limit warning. (#82887)


  Commit: e8ce864a36ba02ddb63877905d49f1e9ac60b544
      https://github.com/llvm/llvm-project/commit/e8ce864a36ba02ddb63877905d49f1e9ac60b544
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/Utility/AddressableBits.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBProcess.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/AddressableBits.cpp
    R lldb/test/API/python_api/process/address-masks/Makefile
    R lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
    R lldb/test/API/python_api/process/address-masks/main.c

  Log Message:
  -----------
  Revert "[lldb] Add SBProcess methods for get/set/use address masks (#83095)"

This reverts commit 9a12b0a60084b2b92f728e1bddec884a47458459.

TestAddressMasks fails its first test on lldb-x86_64-debian,
lldb-arm-ubuntu, lldb-aarch64-ubuntu bots.  Reverting while
investigating.


  Commit: e7c3cd245665042bbae163f7280aceed35f0fee5
      https://github.com/llvm/llvm-project/commit/e7c3cd245665042bbae163f7280aceed35f0fee5
  Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    A llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out-no-ps.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll

  Log Message:
  -----------
  [HWASAN] Implement selective instrumentation based on profiling information (#83503)


  Commit: 2cdf611c02392112860e661e8251efa8b1335cc2
      https://github.com/llvm/llvm-project/commit/2cdf611c02392112860e661e8251efa8b1335cc2
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp

  Log Message:
  -----------
  [compiler-rt][Fuzzer] SetThreadName windows implementation new try. (#76761)

SetThreadDescription symbol needs to be dynamically loaded before usage.
Then using a wide string buffer, since we re using a null terminated
string, we can use MultiByteToWideChar -1 as 4th argument to finally set
the thread name.

Previously `SetThreadDescription` was called directly causing crash.
It was reverted in dd3aa26fc8e9de37a39611f7a6a602bcb4153784


  Commit: cf68c0427d9d3816eefcfe7d3d648a98146c07cf
      https://github.com/llvm/llvm-project/commit/cf68c0427d9d3816eefcfe7d3d648a98146c07cf
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/float-macros.h

  Log Message:
  -----------
  [libc] Ignore -Winclude-next-absolute-path warning in float-macros.h (#83513)


  Commit: 5b6e58c565cf809e4133a10ff9d9b096754bea1e
      https://github.com/llvm/llvm-project/commit/5b6e58c565cf809e4133a10ff9d9b096754bea1e
  Author: Alexander M <iammorjj at gmail.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M lldb/test/API/lang/c/local_variables/TestLocalVariables.py

  Log Message:
  -----------
  Revert "XFAIL TestLocalVariables.py on Windows" (#83454)

This reverts commit 3434472ed74141848634b5eb3cd625d651e22562.

Closes #43097.


  Commit: 39c24c52f641849a648e3b01310ed7c3f2c8d91b
      https://github.com/llvm/llvm-project/commit/39c24c52f641849a648e3b01310ed7c3f2c8d91b
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCArchitectures.cmake

  Log Message:
  -----------
  [libc] Allow libc to build on Red Hat (#83517)

Currently, `libc` fails when building on redhat because the triple
format uses `redhat` instead of `linux` (The same problem as openSUSE).
This PR changes `libc` to accept `redhat` as a valid Linux triple.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 8171f6d12eafbd4a67ad263770c142d51504d834
      https://github.com/llvm/llvm-project/commit/8171f6d12eafbd4a67ad263770c142d51504d834
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h

  Log Message:
  -----------
  [lldb][progress][NFC] Fix Doxygen information (#83502)


  Commit: 2023a230d122d6971c5ff90615c128e7e711b08f
      https://github.com/llvm/llvm-project/commit/2023a230d122d6971c5ff90615c128e7e711b08f
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll

  Log Message:
  -----------
  [RISCV] Move V0 to the end of register allocation order (#82967)

According to

https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/riscv-optimization-guide.html:

> The v0 register defined by the RISC-V vector extension is special in
> that it can be used both as a general purpose vector register and also
> as a mask register. As a preference, use registers other than v0 for
> non-mask values. Otherwise data will have to be moved out of v0 when a
> mask is required in an operation. v0 may be used when all other
> registers are in use, and using v0 would avoid spilling register state
> to memory.

And using V0 register may stall masking pipeline and stop chaining
for some microarchitectures.

So we should try to not use V0 and register groups contained it as
much as possible. We achieve this via moving V0 to the end of RA
order.


  Commit: 4551f53523074cd4e2f93a6f79313ca2cdcc40d2
      https://github.com/llvm/llvm-project/commit/4551f53523074cd4e2f93a6f79313ca2cdcc40d2
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/debugserver/source/RNBRemote.h

  Log Message:
  -----------
  [lldb] [debugserver] fix qLaunchSuccess error, add QErrorStringInPacketSupported (#82593)

Pavel added an extension to lldb's gdb remote serial protocol that
allows the debug stub to append an error message (ascii hex encoded)
after an error response packet Exx. This was added in 2017 in
https://reviews.llvm.org/D34945 . lldb sends the
QErrorStringInPacketSupported packet and then the remote stub may add
these error strings.

debugserver has two bugs in its use of extended error messages: the
vAttach family would send the extended error string without checking if
the mode had been enabled. And qLaunchSuccess would not properly format
its error response packet (missing the hex digits, did not asciihex
encode the string).

There is also a bug in the HandlePacket_D (detach) packet where the
error packets did not include hex digits, but this one does not append
an error string.

I'm adding a new RNBRemote::SendErrorPacket() and routing all error
packet returns though this one method. It takes an optional second
string which is the longer error message; it now handles appending it to
the Exx response or not, depending on the QErrorStringInPacketSupported
state. I updated all packets to send their errors via this method.


  Commit: 8fd011ecc61fa83b9520a971aba1fa651a011bff
      https://github.com/llvm/llvm-project/commit/8fd011ecc61fa83b9520a971aba1fa651a011bff
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/TargetParser/RISCVTargetParser.cpp

  Log Message:
  -----------
  [RISCV] Add getFeaturesForCPU function support (#83269)

This function parse the cpu and return it's supported
features placed in EnabledFeatures. It is same as the
one in X86TargetParser and also is used in IREE.


  Commit: 8116dfb8b58a65e78e341f09f5728d345f086b7b
      https://github.com/llvm/llvm-project/commit/8116dfb8b58a65e78e341f09f5728d345f086b7b
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M clang/lib/InstallAPI/Frontend.cpp

  Log Message:
  -----------
  [InstallAPI] Use unique identifiers for input buffers (#83523)


  Commit: 346766eae8cb8949c2c13b85c0d1e6ff4869a77e
      https://github.com/llvm/llvm-project/commit/346766eae8cb8949c2c13b85c0d1e6ff4869a77e
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/lib/TextAPI/RecordVisitor.cpp

  Log Message:
  -----------
  [TextAPI] Fixup symbol names of ivars from extensions (#83525)


  Commit: edd0ef4f3cb0ebc4eadc7a207edb9c849e894fc3
      https://github.com/llvm/llvm-project/commit/edd0ef4f3cb0ebc4eadc7a207edb9c849e894fc3
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/Hexagon/loop_align_count.ll
    M llvm/test/CodeGen/Hexagon/loop_align_count.mir

  Log Message:
  -----------
  Add "REQUIRES: asserts" to 2 tests added in #83379 using "-debug-only" run arguments.


  Commit: dca32a3b594b3c91f9766a9312b5d82534910fa1
      https://github.com/llvm/llvm-project/commit/dca32a3b594b3c91f9766a9312b5d82534910fa1
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
    M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
    M mlir/include/mlir/IR/PDLPatternMatch.h.inc
    M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
    M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
    M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
    M mlir/lib/Dialect/PDL/IR/PDL.cpp
    M mlir/lib/Rewrite/ByteCode.cpp
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
    A mlir/test/Conversion/PDLToPDLInterp/use-constraint-result.mlir
    M mlir/test/Dialect/PDL/ops.mlir
    M mlir/test/Rewrite/pdl-bytecode.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
    M mlir/test/mlir-pdll/Parser/constraint-failure.pdll
    M mlir/test/mlir-pdll/Parser/constraint.pdll
    M mlir/test/python/dialects/pdl_ops.py

  Log Message:
  -----------
  [mlir][PDL] Add support for native constraints with results (#82760)

>From https://reviews.llvm.org/D153245

This adds support for native PDL (and PDLL) C++ constraints to return
results.

This is useful for situations where a pattern checks for certain
constraints of multiple interdependent attributes and computes a new
attribute value based on them. Currently, for such an example it is
required to escape to C++ during matching to perform the check and after
a successful match again escape to native C++ to perform the computation
during the rewriting part of the pattern. With this work we can do the
computation in C++ during matching and use the result in the rewriting
part of the pattern. Effectively this enables a choice in the trade-off
of memory consumption during matching vs recomputation of values.

This is an example of a situation where this is useful: We have two
operations with certain attributes that have interdependent constraints.
For instance `attr_foo: one_of [0, 2, 4, 8], attr_bar: one_of [0, 2, 4,
8]` and `attr_foo == attr_bar`. The pattern should only match if all
conditions are true. The new operation should be created with a new
attribute which is computed from the two matched attributes e.g.
`attr_baz = attr_foo * attr_bar`. For the check we already escape to
native C++ and have all values at hand so it makes sense to directly
compute the new attribute value as well:

```
Constraint checkAndCompute(attr0: Attr, attr1: Attr) -> Attr;

Pattern example with benefit(1) {
    let foo = op<test.foo>() {attr = attr_foo : Attr};
    let bar = op<test.bar>(foo) {attr = attr_bar : Attr};
    let attr_baz = checkAndCompute(attr_foo, attr_bar);
    rewrite bar with {
        let baz = op<test.baz> {attr=attr_baz};
        replace bar with baz;
    };
}
```
To achieve this the following notable changes were necessary:
PDLL:
- Remove check in PDLL parser that prevented native constraints from
returning results

PDL:
- Change PDL definition of pdl.apply_native_constraint to allow variadic
results

PDL_interp:
- Change PDL_interp definition of pdl_interp.apply_constraint to allow
variadic results

PDLToPDLInterp Pass:
The input to the pass is an arbitrary number of PDL patterns. The pass
collects the predicates that are required to match all of the pdl
patterns and establishes an ordering that allows creation of a single
efficient matcher function to match all of them. Values that are matched
and possibly used in the rewriting part of a pattern are represented as
positions. This allows fusion and thus reusing a single position for
multiple matching patterns. Accordingly, we introduce
ConstraintPosition, which records the type and index of the result of
the constraint. The problem is for the corresponding value to be used in
the rewriting part of a pattern it has to be an input to the
pdl_interp.record_match operation, which is generated early during the
pass such that its surrounding block can be referred to by branching
operations. In consequence the value has to be materialized after the
original pdl.apply_native_constraint has been deleted but before we get
the chance to generate the corresponding pdl_interp.apply_constraint
operation. We solve this by emitting a placeholder value when a
ConstraintPosition is evaluated. These placeholder values (due to fusion
there may be multiple for one constraint result) are replaced later when
the actual pdl_interp.apply_constraint operation is created.

Changes since the phabricator review:
- Addressed all comments
- In particular, removed registerConstraintFunctionWithResults and
instead changed registerConstraintFunction so that contraint functions
always have results (empty by default)
- Thus we don't need to reuse `rewriteFunctions` to store constraint
functions with results anymore, and can instead use
`constraintFunctions`
- Perform a stable sort of ConstraintQuestion, so that
ConstraintQuestion appear before other ConstraintQuestion that use their
results.
- Don't create placeholders for pdl_interp::ApplyConstraintOp. Instead
generate the `pdl_interp::ApplyConstraintOp` before generating the
successor block.
- Fixed a test failure in the pdl python bindings


Original code by @martin-luecke

Co-authored-by: martin-luecke <martinpaul.luecke at amd.com>


  Commit: c80e6edba4a9593f0587e27fa0ac825ebe174afd
      https://github.com/llvm/llvm-project/commit/c80e6edba4a9593f0587e27fa0ac825ebe174afd
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
    M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
    M mlir/include/mlir/IR/PDLPatternMatch.h.inc
    M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
    M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
    M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
    M mlir/lib/Dialect/PDL/IR/PDL.cpp
    M mlir/lib/Rewrite/ByteCode.cpp
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
    R mlir/test/Conversion/PDLToPDLInterp/use-constraint-result.mlir
    M mlir/test/Dialect/PDL/ops.mlir
    M mlir/test/Rewrite/pdl-bytecode.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
    M mlir/test/mlir-pdll/Parser/constraint-failure.pdll
    M mlir/test/mlir-pdll/Parser/constraint.pdll
    M mlir/test/python/dialects/pdl_ops.py

  Log Message:
  -----------
  Revert "[mlir][PDL] Add support for native constraints with results (#82760)"

Due to buildbot failure https://lab.llvm.org/buildbot/#/builders/88/builds/72130

This reverts commit dca32a3b594b3c91f9766a9312b5d82534910fa1.


  Commit: 012b697e7c3633ae17639b086414fd6c02127810
      https://github.com/llvm/llvm-project/commit/012b697e7c3633ae17639b086414fd6c02127810
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-note.c

  Log Message:
  -----------
  [clang][analyzer] Add StreamChecker note tags for "indeterminate stream position". (#83288)

If a stream operation fails the position can become "indeterminate".
This may cause warning from the checker at a later operation. The new
note tag shows the place where the position becomes "indeterminate",
this is where a failure occurred.


  Commit: 43bcedd1f09134478b7c8582bac86c78e2dbeb28
      https://github.com/llvm/llvm-project/commit/43bcedd1f09134478b7c8582bac86c78e2dbeb28
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h

  Log Message:
  -----------
  [compiler-rt] fix __sanitizer_siginfo type on freebsd. (#77379)

mostly interested in the first half of the type, adding also compile
time check.


  Commit: 6c39fa9e9f198498ff7cf9646081437a0fc0882a
      https://github.com/llvm/llvm-project/commit/6c39fa9e9f198498ff7cf9646081437a0fc0882a
  Author: Dhruv Chawla (work) <dhruvc at nvidia.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/abs.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Expand abs.v4i8 to v4i16 and abs.v2s16 to v2s32 (#81231)

GISel was currently falling back to SDAG for these functions, and this
matches the way SDAG currently generates code for these functions.


  Commit: 420928b2fa8b00f23f0adcb19328014592455698
      https://github.com/llvm/llvm-project/commit/420928b2fa8b00f23f0adcb19328014592455698
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/apx/compress-evex.mir

  Log Message:
  -----------
  [X86][CodeGen] Fix compile crash in EVEX compression for corner case

The base register of OPmi_ND may be allocated to the same physic
register as the ND operand.

OPmi_ND is not compressible b/c it has different semnatic from OPmi.
In this case, `isRedundantNewDataDest` should return false, otherwise
we would get error

Assertion `!IsNDLike && "Missing entry for ND-like instruction"' failed.


  Commit: 128780b06f5bd0e586ee81e1e0e75f63c5664cfc
      https://github.com/llvm/llvm-project/commit/128780b06f5bd0e586ee81e1e0e75f63c5664cfc
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Correctly treat empty initializer lists for unions. (#82986)

This fixes a crash introduced by
https://github.com/llvm/llvm-project/pull/82348
but also adds additional handling to make sure that we treat empty
initializer
lists for both unions and structs/classes correctly (see tests added in
this
patch).


  Commit: 40c9a01773507e485f35aa76d3e31cf3ea8c3011
      https://github.com/llvm/llvm-project/commit/40c9a01773507e485f35aa76d3e31cf3ea8c3011
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Context.h

  Log Message:
  -----------
  [clang][Interp][NFC] Add an assertion to classify(Expr*)

NFC but makes the backtrace easier to read in case the expression
somehow ends up being null.


  Commit: ba8e9ace13c3c2dedf5c496455de822cba931862
      https://github.com/llvm/llvm-project/commit/ba8e9ace13c3c2dedf5c496455de822cba931862
  Author: Nick Anderson <nickleus27 at gmail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll

  Log Message:
  -----------
  [AMDGPU] promote i1 arg type for amdgpu_cs (#82971)

fixes #68087 
Not sure where to put regression tests for this pr? Also, should i1 args
not in reg also be promoted?


  Commit: 4a5ec3cec8316234667897d99fa4ef1b1a132c43
      https://github.com/llvm/llvm-project/commit/4a5ec3cec8316234667897d99fa4ef1b1a132c43
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/shufflevector.ll

  Log Message:
  -----------
  Revert "[AArch64][GlobalISel] Legalize G_SHUFFLE_VECTOR for Odd-Sized Vectors" (#83544)

Reverts llvm/llvm-project#83038 due to failing build in Fuchsia build
https://lab.llvm.org/staging/#/builders/187/builds/1695


  Commit: b051277d5ed8b22fce558272bf3bbbafb95245a5
      https://github.com/llvm/llvm-project/commit/b051277d5ed8b22fce558272bf3bbbafb95245a5
  Author: Pravin Jagtap <prjagtap at amd.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td

  Log Message:
  -----------
  Add llvm_v6i32_ty. NFC. (#83522)

Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: e81ef463f10851bfbcd56a4f3450821f1e7c862f
      https://github.com/llvm/llvm-project/commit/e81ef463f10851bfbcd56a4f3450821f1e7c862f
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp

  Log Message:
  -----------
  [FMV] Use lexicographic order of feature names when mangling. (#83464)

This decouples feature priorities from name mangling. Doing so will
prevent ABI breakages in case we change the feature priorities.
Formalized in ACLE here: https://github.com/ARM-software/acle/pull/303.


  Commit: 990dbf2b7ebb1ddf1a53eb0b25061a0ea42f4ae1
      https://github.com/llvm/llvm-project/commit/990dbf2b7ebb1ddf1a53eb0b25061a0ea42f4ae1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp] OpaqueValueExprs can have null subexprs


  Commit: 062d78ef58ac26e1c6f82201151428d0b89cca21
      https://github.com/llvm/llvm-project/commit/062d78ef58ac26e1c6f82201151428d0b89cca21
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp

  Log Message:
  -----------
  [compiler-rt][fuzzer] windows build unbreak proposal. (#83538)

shuffling the order of its includes.


  Commit: 2a67c28abe8cfde47c5058abbeb4b5ff9a393192
      https://github.com/llvm/llvm-project/commit/2a67c28abe8cfde47c5058abbeb4b5ff9a393192
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Module.h

  Log Message:
  -----------
  [IR] Update getOrInsertFunction() docs for opaque pointers (NFC)

This can no longer return a bitcast, but the function type in
FunctionCallee may differ from the function type of the function.


  Commit: 6ed67ca14cd05596a8253eeceb247d2743e00f6e
      https://github.com/llvm/llvm-project/commit/6ed67ca14cd05596a8253eeceb247d2743e00f6e
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp

  Log Message:
  -----------
  [clang] Remove unused-lambda-capture in AArch64.cpp (NFC)

llvm-project/clang/lib/CodeGen/Targets/AArch64.cpp:886:26:
error: lambda capture 'TI' is not used [-Werror,-Wunused-lambda-capture]
  886 |   llvm::sort(Features, [&TI](const StringRef LHS, const StringRef RHS) {
      |                         ~^~
1 error generated.


  Commit: ec8df555702d85511290742388d28016b69468de
      https://github.com/llvm/llvm-project/commit/ec8df555702d85511290742388d28016b69468de
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M lldb/test/CMakeLists.txt

  Log Message:
  -----------
  [lldb][test][Windows] Don't check for pexpect with LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS

See https://github.com/llvm/llvm-project/issues/22648 for why we don't use it on
Windows. Any pexpect tests are skipped there.


  Commit: d50dec6f413ce1953bede94bdd11261b6684c7c4
      https://github.com/llvm/llvm-project/commit/d50dec6f413ce1953bede94bdd11261b6684c7c4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warnings. NFC.


  Commit: 199bbe2b380b6fa4a23932739ae55f8890af459b
      https://github.com/llvm/llvm-project/commit/199bbe2b380b6fa4a23932739ae55f8890af459b
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

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

  Log Message:
  -----------
  [MC] Teach checkAsmTiedOperandConstraints about optional operands (#81381)

At some point in the past, optional operands have become allowed in the
middle of an instruction. However, `checkAsmTiedOperandConstrains`
hasn't been modified to support this. This patch adds the support by
pulling operand offsets counting out of `convertToMCInst` and reusing it
in `checkAsmTiedOperandConstrains`.


  Commit: 195744cca7fd7f1b33971e0f2cf07b8ae47f16b5
      https://github.com/llvm/llvm-project/commit/195744cca7fd7f1b33971e0f2cf07b8ae47f16b5
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir

  Log Message:
  -----------
  [mlir][VectorOps][nfc] Add result pretty printing to `vector.vscale` (#83439)

This will now print the value of `vector.vscale` as `%vscale` in IR
dumps which makes it easier to spot where things are scalable.

One test that depended on the value names has also been fixed.


  Commit: 185b1df1b1f7bd88ff0159bc51d5ddaeca27106a
      https://github.com/llvm/llvm-project/commit/185b1df1b1f7bd88ff0159bc51d5ddaeca27106a
  Author: Pavel Iliin <Pavel.Iliin at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/Misc/warning-flags.c
    M clang/test/Sema/aarch64-cpu-supports.c
    M clang/test/Sema/builtin-cpu-supports.c

  Log Message:
  -----------
  [X86][AArch64][PowerPC] __builtin_cpu_supports accepts unknown options. (#83515)

The patch fixes https://github.com/llvm/llvm-project/issues/83407
modifing __builtin_cpu_supports behaviour so that it returns false if
unsupported features names provided in parameter and issue a warning.
__builtin_cpu_supports is target independent, but currently supported by
X86, AArch64 and PowerPC only.


  Commit: 4c8c335bcdb93e02b1bc08c5dbc7070af9bc91b5
      https://github.com/llvm/llvm-project/commit/4c8c335bcdb93e02b1bc08c5dbc7070af9bc91b5
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td

  Log Message:
  -----------
  [AMDGPU] Rename hasGFX12Enc to hasRestrictedSOffset in BUF definitions. NFC. (#83434)

This just renames a tablegen argument to match the corresponding
subtarget feature.


  Commit: 44c0bdb402271522a17704b4a18c8bf5efb55c4f
      https://github.com/llvm/llvm-project/commit/44c0bdb402271522a17704b4a18c8bf5efb55c4f
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-lowering.fir
    M flang/test/HLFIR/count-lowering-default-int-kinds.fir
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/dot_product-lowering.fir
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/matmul-lowering.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/HLFIR/product-lowering.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    M flang/test/Lower/convert.f90

  Log Message:
  -----------
  [flang][HLFIR] Use GreedyPatternRewriter in LowerHLFIRIntrinsics (#83438)

In #83253 @matthias-springer pointed out that LowerHLFIRIntrinsics.cpp
should not be using rewrite patterns with the dialect conversion driver.

The intention of this pass is to lower HLFIR intrinsic operations into
FIR so it conceptually fits dialect conversion. However, dialect
conversion is much stricter about changing types when replacing
operations. This pass sometimes looses track of array bounds, resulting
in replacements with operations with different but compatible types
(expressions of the same rank and element types but with or without
compile time known array bounds). This is difficult to accommodate with
the dialect conversion driver and so I have changed to use the greedy
pattern rewriter.

There is a lot of test churn because the greedy pattern rewriter also
performs canonicalization.


  Commit: 4c642b62b99fa128c180f28278637b32be5e5576
      https://github.com/llvm/llvm-project/commit/4c642b62b99fa128c180f28278637b32be5e5576
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test

  Log Message:
  -----------
  [llvm-jitlink] [test] Add an XFAIL for a JITLink test on MinGW

This testcase fails on MinGW targets, because when compiling the
main() function, it gets an implicit call to __main(), which is
missing in this context.


  Commit: d458a1931769aa4bcdb3fcd537c4ee946507ff1a
      https://github.com/llvm/llvm-project/commit/d458a1931769aa4bcdb3fcd537c4ee946507ff1a
  Author: David Green <david.green at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aes.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll

  Log Message:
  -----------
  [AArch64] Mark AESD and AESE instructions as commutative. (#83390)

This come from
https://discourse.llvm.org/t/combining-aes-and-xor-can-be-improved-further/77248.

These instructions start out with:
```
  XOR Vd, Vn
  <some complicated math>
```
The initial XOR means that they can be treated as commutative, removing
some of the unnecessary mov's introduced during register allocation.


  Commit: d1538c15f9c65a70f4650bd724972536f00f5094
      https://github.com/llvm/llvm-project/commit/d1538c15f9c65a70f4650bd724972536f00f5094
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp

  Log Message:
  -----------
  Revert fuzzer windows changes (#83551)


  Commit: 8511b320807085e88a10ae7275c2255da9d0172a
      https://github.com/llvm/llvm-project/commit/8511b320807085e88a10ae7275c2255da9d0172a
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:

  Log Message:
  -----------
  [clang] Remove unused lambda capture. (#83550)

Fixes the `sanitizer-x86_64-linux-android` buildbot.


  Commit: 0e9a102129c07d31dccec06cb45f6e2a74c6e590
      https://github.com/llvm/llvm-project/commit/0e9a102129c07d31dccec06cb45f6e2a74c6e590
  Author: David Green <david.green at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [AArch64] Remove unused AArch64ISD::BIT. NFC

These were last used in the fcopysign lowering, which now uses AArch64ISD::BSP.


  Commit: 2d98d763a8e627b2d1a18a9cdd1c62a4b58be3aa
      https://github.com/llvm/llvm-project/commit/2d98d763a8e627b2d1a18a9cdd1c62a4b58be3aa
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/crash_clear_undefs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-nodes-to-shuffle.ll

  Log Message:
  -----------
  [SLP]Fix the cost model for extracts combined with later shuffle.

If the buildvector node contains extract, which later should be combined
with some other nodes by shuffling, need to estimate the cost of this
shuffle before building the mask after shuffle.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 7ac03e8a369d8ac74a2c4d97a9e2a41221428abd
      https://github.com/llvm/llvm-project/commit/7ac03e8a369d8ac74a2c4d97a9e2a41221428abd
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/bitwise_operators.mlir

  Log Message:
  -----------
  [mlir][EmitC] Add bitwise operators (#83387)

This adds operations for bitwise operators. Furthermore, an UnaryOp
class and a helper to print unary operations are introduced.


  Commit: f28c4b4bacfc3fdc66b525b9a959c6b91a29d882
      https://github.com/llvm/llvm-project/commit/f28c4b4bacfc3fdc66b525b9a959c6b91a29d882
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll

  Log Message:
  -----------
  [SLP]Fix/improve potential masked gather loads analysis.

When do the analysis for the (potential) masked gather node, we check
that not greater than half of  the pointer operands are loop invariants
or potentially vectorizable.
Need to check actually, that we have a loop at first
and do better check for the potentially vectorizable
pointers.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 756166e342a3692fd8de1ad1c5620df516bac33a
      https://github.com/llvm/llvm-project/commit/756166e342a3692fd8de1ad1c5620df516bac33a
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    A llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null-vector.ll
    A llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.addrspacecast.nonnull.ll

  Log Message:
  -----------
  [AMDGPU] Improve detection of non-null addrspacecast operands (#82311)

Use IR analysis to infer when an addrspacecast operand is nonnull, then
lower it to an intrinsic that the DAG can use to skip the null check.

I did this using an intrinsic as it's non-intrusive. An alternative
would have been to allow something like `!nonnull` on `addrspacecast`
then lower that to a custom opcode (or add an operand to the
addrspacecast MIR/DAG opcodes), but it's a lot of boilerplate for just
one target's use case IMO.

I'm hoping that when we switch to GISel that we can move all this logic
to the MIR level without losing info, but currently the DAG doesn't see
enough so we need to act in CGP.

Fixes: SWDEV-316445


  Commit: b8e0f3e81e579ea6db439d39ced3926d6ae4f563
      https://github.com/llvm/llvm-project/commit/b8e0f3e81e579ea6db439d39ced3926d6ae4f563
  Author: Alfie Richards <156316945+AlfieRichardsArm at users.noreply.github.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM] Change the type of CC and VCC code in `splitMnemonic`. (#83413)

This changes the type of `PredicationCode` and `VPTPredicationCode` from
`unsigned` to `ARMCC::CondCodes` and `ARMVCC::VPTCodes` resp' for
clarity and correctness.


  Commit: 924ad198f52508ff19e7944d856ba1a2fca81961
      https://github.com/llvm/llvm-project/commit/924ad198f52508ff19e7944d856ba1a2fca81961
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/apx/sub.ll

  Log Message:
  -----------
  [X86][CodeGen] Add missing patterns for APX NDD instructions about encoding trick


  Commit: dfec4ef1a2ff8dc6685594813bcf14c27db9d5bc
      https://github.com/llvm/llvm-project/commit/dfec4ef1a2ff8dc6685594813bcf14c27db9d5bc
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp

  Log Message:
  -----------
  Use object directly instead of accessing ArrayRef (#83263)

Use RegOp directly inside debug code to silence a static analyzer that
warns about accessing it through its ArrayRef wrapper.


  Commit: b873847a53ae638e2146e3657fe33efe30c2afe1
      https://github.com/llvm/llvm-project/commit/b873847a53ae638e2146e3657fe33efe30c2afe1
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/SemaCXX/attr-declspec-ignored.cpp
    M clang/test/SemaCXX/attr-gnu.cpp
    A clang/test/SemaCXX/cxx03-cxx11-attr.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [Clang] Fix __has_cpp_attribute and C++11 attributes with arguments in C++03 (#83065)

The values for `__has_cpp_attribute` don't have to be guarded behind
`LangOpts.CPlusPlus` because `__has_cpp_attribute` isn't available if
Clang isn't in a C++ mode.

Fixes #82995


  Commit: 3034632a2708f3b79aa30f895dc42f35569c3647
      https://github.com/llvm/llvm-project/commit/3034632a2708f3b79aa30f895dc42f35569c3647
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/test/tools/llvm-readobj/XCOFF/loader-section-relocation.test
    M llvm/test/tools/llvm-readobj/XCOFF/loader-section-symbol.test
    M llvm/test/tools/llvm-readobj/XCOFF/relocations.test
    M llvm/test/tools/llvm-readobj/XCOFF/symbols.test
    M llvm/tools/llvm-readobj/XCOFFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] enable demangle option for the xcoff object file (#78455)

enable `--demangle` option for the xcoff object file for llvm-readobj


  Commit: 18d2ff4be7898eaf666564dcca07ad6bd38ababf
      https://github.com/llvm/llvm-project/commit/18d2ff4be7898eaf666564dcca07ad6bd38ababf
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Context.cpp

  Log Message:
  -----------
  [clang][Interp] Allow recursive intepretation

This shouldn't be a problem in general, but we used to have some
sanity checks that prevented it from working. Remove those and
only do them on the non-recursive calls instead.


  Commit: dbf3d779bdb3cc22652b6ab24ac9827e9f228f4e
      https://github.com/llvm/llvm-project/commit/dbf3d779bdb3cc22652b6ab24ac9827e9f228f4e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unused paramter

We manage the Result through EvaluationResult now.


  Commit: 765a5d62bc59971d267a9effee2bfc0cee036182
      https://github.com/llvm/llvm-project/commit/765a5d62bc59971d267a9effee2bfc0cee036182
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-popcnt-128-ult-ugt.ll

  Log Message:
  -----------
  [X86] Pre-SSE42 v2i64 sgt lowering - check if representable as v2i32 (#83560)

Without PCMPGTQ, if the i64 elements are sign-extended enough to be representable as i32 then we can compare the lower i32 bits with PCMPGTD and splat the results into the upper elements.

Value tracking has meant we already get pretty close with this, but this allows us to remove a lot of unnecessary bit flipping.


  Commit: 6ecd26132bbb92cceeb92524bf880bd11a2d3033
      https://github.com/llvm/llvm-project/commit/6ecd26132bbb92cceeb92524bf880bd11a2d3033
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

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

  Log Message:
  -----------
  [SLP] Use ScopeExit to update Operands/PrevDist on all paths. (NFC) (#83490)

Use ScopeExit to make sure Operands/PrevDist are updated on all paths in
the loop. This makes it easier to ensure they are updated correctly if
new early continues are added.

Split off from https://github.com/llvm/llvm-project/pull/83283

PR: https://github.com/llvm/llvm-project/pull/83490


  Commit: 5bafb8d95220895ca76742db297cbb75dc0fa162
      https://github.com/llvm/llvm-project/commit/5bafb8d95220895ca76742db297cbb75dc0fa162
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Add/use single UsesLimit constant, NFC.


  Commit: 3fc277f665f520c351b203faf3273552e77508f8
      https://github.com/llvm/llvm-project/commit/3fc277f665f520c351b203faf3273552e77508f8
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

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

  Log Message:
  -----------
  [SLPVectorizer] Make the insert/extractvector PHICompare a strict-weak ordering (#83571)

This was tripping off STL implementations that check for it (like libc++
with debug checking). The goal of this sort is to cluster operations on
the same values so preserve that property but sort everything else based
on the existing numbering.


  Commit: e59681d96327e2ed1963ec1c0f2bc3d40df26443
      https://github.com/llvm/llvm-project/commit/e59681d96327e2ed1963ec1c0f2bc3d40df26443
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/literals.cpp
    M clang/test/SemaCXX/bool.cpp

  Log Message:
  -----------
  [clang][Interp] Allow inc/dec on boolean values

The warnings or errors are emitted in Sema, but we still need to
do the operation and provide a reasonable result.


  Commit: f651f134bbaec069968f6b12bdcdb5f7752fd700
      https://github.com/llvm/llvm-project/commit/f651f134bbaec069968f6b12bdcdb5f7752fd700
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Context.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add precondition assertions

All three of these need to be non-null.


  Commit: f15d799f16092918b948536775475dfd8675c7d9
      https://github.com/llvm/llvm-project/commit/f15d799f16092918b948536775475dfd8675c7d9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix variadic operator calls

Operator calls pass their instance member explicitly, so remove
it from NumParams when calling a variadic function


  Commit: b0181be36cace3460e4ec5d0d11ecbf49484cc55
      https://github.com/llvm/llvm-project/commit/b0181be36cace3460e4ec5d0d11ecbf49484cc55
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/include/clang/Sema/Scope.h
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/SemaOpenACC/no-branch-in-out.c
    M clang/test/SemaOpenACC/no-branch-in-out.cpp

  Log Message:
  -----------
  [OpenACC] Implement Duffs-Device restriction for Compute Constructs (#83460)

Like the last few patches, branching in/out of a compute construct is
not valid. This patch implements checking to ensure that a 'case' or
'default' statement cannot jump into a Compute Construct (in the style
of a duff's device!).


  Commit: a038f9758e02812803b7efce10ecf784f9842bbb
      https://github.com/llvm/llvm-project/commit/a038f9758e02812803b7efce10ecf784f9842bbb
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/SemaCXX/undefined-internal.cpp

  Log Message:
  -----------
  [clang][Interp] Fix virtual calls with reference instance pointers

getCXXRecordType() on those types does not return the type we need.
Use getPointeeCXXRecordType() instead in those cases.


  Commit: 06bd74ba4ac5229f01b64772b49e025be5eb7b53
      https://github.com/llvm/llvm-project/commit/06bd74ba4ac5229f01b64772b49e025be5eb7b53
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/GH83461.cpp

  Log Message:
  -----------
  Fix implementation of [temp.param]p14's first sentence. (#83487)

The first sentence says:

If a template-parameter of a class template, variable template, or alias
template has a default template-argument, each subsequent
template-parameter shall either have a default template-argument
supplied or be a template parameter pack.

However, we were only testing for "not a function function template",
and referring to an older version of the standard. As far as I can tell,
CWG2032 added the variable-template, and the alias-template pre-dates
the standard on github.

This patch started as a bug fix for #83461 , but ended up fixing a
number of similar cases, so those are validated as well.


  Commit: 601a9587a1a7eb8dd6377c4ab332edd3bce97a98
      https://github.com/llvm/llvm-project/commit/601a9587a1a7eb8dd6377c4ab332edd3bce97a98
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M flang/docs/Directives.md
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    A flang/test/Parser/assume-aligned.f90

  Log Message:
  -----------
  [Flang] Add support for assume_aligned directive (#81747)

This adds the parsing (and unparse) of the compiler drective assume_aligned.

The compiler will issue a warning that the directive is ignored.


  Commit: 2b4d67bf59d609321701540a15f48eda04688652
      https://github.com/llvm/llvm-project/commit/2b4d67bf59d609321701540a15f48eda04688652
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/warn-unused-variables.cpp

  Log Message:
  -----------
  [Clang][Sema]: Allow copy constructor side effects (#81127)

Copy constructors can have initialization with side effects, and thus
clang should not emit a warning when -Wunused-variable is used in this
context. Currently however, a warning is emitted.

Now, compilation happens without warnings.

Fixes #79518


  Commit: 35166b7d46f828f245375b4743a27b63732c3358
      https://github.com/llvm/llvm-project/commit/35166b7d46f828f245375b4743a27b63732c3358
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Sema/Scope.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Context.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/Analysis/stream-note.c
    M clang/test/CodeGen/PowerPC/aix-tls-model.cpp
    M clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/Sema/aarch64-cpu-supports.c
    M clang/test/Sema/aix-attr-tls_model.c
    M clang/test/Sema/builtin-cpu-supports.c
    A clang/test/SemaCXX/GH83461.cpp
    M clang/test/SemaCXX/attr-declspec-ignored.cpp
    M clang/test/SemaCXX/attr-gnu.cpp
    M clang/test/SemaCXX/bool.cpp
    A clang/test/SemaCXX/cxx03-cxx11-attr.cpp
    M clang/test/SemaCXX/undefined-internal.cpp
    M clang/test/SemaCXX/warn-unused-variables.cpp
    M clang/test/SemaOpenACC/no-branch-in-out.c
    M clang/test/SemaOpenACC/no-branch-in-out.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
    M flang/docs/Directives.md
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-lowering.fir
    M flang/test/HLFIR/count-lowering-default-int-kinds.fir
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/dot_product-lowering.fir
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/matmul-lowering.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/HLFIR/product-lowering.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    M flang/test/Lower/convert.f90
    A flang/test/Parser/assume-aligned.f90
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/include/llvm-libc-macros/float-macros.h
    M lldb/include/lldb/Core/Progress.h
    M lldb/test/API/lang/c/local_variables/TestLocalVariables.py
    M lldb/test/CMakeLists.txt
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/debugserver/source/RNBRemote.h
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/XCOFFObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/PPC.h
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/lib/TextAPI/RecordVisitor.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/aes.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    A llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null-vector.ll
    A llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.addrspacecast.nonnull.ll
    M llvm/test/CodeGen/Hexagon/loop_align_count.ll
    M llvm/test/CodeGen/Hexagon/loop_align_count.mir
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
    A llvm/test/CodeGen/PowerPC/aix-tls-ld-xcoff-reloc-large.ll
    A llvm/test/CodeGen/PowerPC/aix-tls-local-dynamic.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/X86/apx/compress-evex.mir
    M llvm/test/CodeGen/X86/apx/sub.ll
    M llvm/test/CodeGen/X86/vector-popcnt-128-ult-ugt.ll
    M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    A llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out-no-ps.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_clear_undefs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-nodes-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/tools/llvm-readobj/XCOFF/loader-section-relocation.test
    M llvm/test/tools/llvm-readobj/XCOFF/loader-section-symbol.test
    M llvm/test/tools/llvm-readobj/XCOFF/relocations.test
    M llvm/test/tools/llvm-readobj/XCOFF/symbols.test
    M llvm/tools/llvm-readobj/XCOFFDumper.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
    A mlir/test/Target/Cpp/bitwise_operators.mlir

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/9eb873dfc982...35166b7d46f8

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