SuccessChanges

Summary

  1. [llvm-readobj] - Do not skip building of the GNU hash table histogram. (details)
  2. DOTGraphTraitsPass.h - remove unnecessary includes. NFC. (details)
  3. ArchiveWriter.h - remove unnecessary includes. NFC. (details)
  4. [llvm-readelf] - Split GNUStyle<ELFT>::printHashHistogram. NFC. (details)
  5. [SimpleLoopUnswitch] Drop uses of instructions before block deletion (details)
  6. [LAA] We only need pointer checks if there are non-zero checks (NFC). (details)
  7. Revert "[LAA] We only need pointer checks if there are non-zero checks (NFC)." (details)
  8. [LAA] We only need pointer checks if there are non-zero checks (NFC). (details)
  9. [NFC] Updating tests (details)
  10. [lldb] Fix a potential bug that may cause assert failure in CommandObject::CheckRequirements (details)
  11. [ARM] Fix rewrite of frame index in Thumb2's address mode i8s4 (details)
  12. [lldb] Tab completion for process plugin name (details)
  13. [Alignment] Fix misaligned interleaved loads (details)
  14. Update release notes with porting guide for AST Matchers (details)
  15. [CodeGen][BFloat] Add bfloat MVT type (details)
  16. ObjCARCInstKind.h - remove unused includes. NFC. (details)
  17. ObjectFile.h - reduce unnecessary includes to forward declarations. NFC. (details)
  18. [IR] add set function for FMF 'contract' (details)
  19. AMDGPU: Fix backwards s_cselect_* operands (details)
  20. [UnJ] Update LI for inner nested loops (details)
  21. [IR][BFloat] add BFloat IR intrinsics support (details)
  22. [llvm-readobj] - Do not crash when an invalid .eh_frame_hdr is dumped using --unwind. (details)
  23. [compiler-rt][asan] Add noinline to use-after-scope testcases (details)
  24. [mlir] SCF: provide function_ref builders for IfOp (details)
  25. [AArch64][BFloat] basic AArch64 bfloat support (details)
  26. tsan: fix false positives in AcquireGlobal (details)
  27. [AArch64][BFloat] add BFloat instruction support for AArch64 (details)
  28. Revert "[PowerPC] Add support for -mcpu=pwr10 in both clang and llvm" (details)
  29. SpecialCaseList.h - reduce unnecessary includes to forward declarations. NFC. (details)
  30. Add support for UnaryOperator in SyntaxTree (details)
  31. [FileCheck] Allow parenthesized expressions (details)
  32. [OPENMP50]Initial support for use_device_addr clause. (details)
  33. [mlir] Add simple generator for return types (details)
  34. CoverageFilters.h - reduce unnecessary includes to forward declarations. NFC. (details)
  35. Fix Darwin 'constinit thread_local' variables. (details)
  36. Fix warning `-Wpedantic`. NFC. (details)
  37. [VFABI] Fix parsing of uniform parameters that shouldn't expect step or positional data. (details)
  38. Start migrating away from statepoint's inline length prefixed argument bundles (details)
  39. [MLIR] [OpenMP] Add basic OpenMP parallel operation (details)
  40. [gn build] (manually) port dedaf3a2ac5 (details)
  41. [DDG] Data Dependence Graph - Add query function for memory dependencies between two nodes (details)
  42. [gn build] Port 0d20ed664ff (details)
Commit fc98447af65f5a51d3b62a7e76a056d2556be59d by grimar
[llvm-readobj] - Do not skip building of the GNU hash table histogram.

When the `--elf-hash-histogram` is used, the code first tries to build
a histogram for the .hash table and then for the .gnu.hash table.

The problem is that dumper might return early when unable or do not need to
build a histogram for the .hash.

This patch reorders the code slightly to fix the issue and adds a test case.

Differential revision: https://reviews.llvm.org/D80204
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-histogram.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 8062602810fed6fe377deabe8abd563a0c5d1809 by llvm-dev
DOTGraphTraitsPass.h - remove unnecessary includes. NFC.
The file was modifiedllvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Commit 1e9462a201c3a09612e7fe8d56a0be0829e99dcf by llvm-dev
ArchiveWriter.h - remove unnecessary includes. NFC.
The file was modifiedllvm/include/llvm/Object/ArchiveWriter.h
Commit d804b334ed0f1c88b90ab028541582e35ba3c172 by grimar
[llvm-readelf] - Split GNUStyle<ELFT>::printHashHistogram. NFC.

As was mentioned in review comments for D80204,
`printHashHistogram` has 2 lambdas that are probably too large
and deserves splitting into member functions.

This patch does it.

Differential revision: https://reviews.llvm.org/D80546
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.h
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit 706b22e3e446621b20befe1094c26e4eda133bc9 by suc-daniil
[SimpleLoopUnswitch] Drop uses of instructions before block deletion

Currently if instructions defined in a block are used in unreachable
blocks and SimpleLoopUnswitch attempts deleting the block, it triggers
assertion "Uses remain when a value is destroyed!".
This patch fixes it by replacing all uses of instructions from BB with
undefs before BB deletion.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D80551
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/dead-blocks-uses-in-unreachablel-blocks.ll
Commit 259abfc7cbc11cd98c05b1eb8e4b3fb6a9664bc0 by flo
[LAA] We only need pointer checks if there are non-zero checks (NFC).

If it turns out that we can do runtime checks, but there are no
runtime-checks to generate, set RtCheck.Need to false.

This can happen if we can prove statically that the pointers passed in
to canCheckPtrAtRT do not alias. This should not change any results, but
allows us to skip some work and assert that runtime checks are
generated, if LAA indicates that runtime checks are required.

Reviewers: anemet, Ayal

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D79969
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 2d0389821e0c6371823198d3a5b1f032138a40bb by flo
Revert "[LAA] We only need pointer checks if there are non-zero checks (NFC)."

This reverts commit 259abfc7cbc11cd98c05b1eb8e4b3fb6a9664bc0.

Reverting this, as I missed a case where we return without setting
RtCheck.Need.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
Commit 9b507b2127f116f29437e04a187cdca70ae9aa33 by flo
[LAA] We only need pointer checks if there are non-zero checks (NFC).

If it turns out that we can do runtime checks, but there are no
runtime-checks to generate, set RtCheck.Need to false.

This can happen if we can prove statically that the pointers passed in
to canCheckPtrAtRT do not alias. This should not change any results, but
allows us to skip some work and assert that runtime checks are
generated, if LAA indicates that runtime checks are required.

Reviewers: anemet, Ayal

Reviewed By: Ayal

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

Note: This is a recommit of 259abfc7cbc11cd98c05b1eb8e4b3fb6a9664bc0,
with some suggested renaming.
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 6e1eff785892edb75948f3c0a18e01ef8fbe2619 by gchatelet
[NFC] Updating tests

Summary:
Updating IR now that alignment is explicitly set.
This is a prerequisite to D80276.

Reviewers: efriedma

Subscribers: llvm-commits, craig.topper

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80549
The file was modifiedllvm/test/Transforms/InterleavedAccess/X86/interleavedLoad.ll
The file was modifiedllvm/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll
The file was modifiedllvm/test/Transforms/InterleavedAccess/X86/interleavedStore.ll
Commit 18bb1f1067028fbeaf92774e640bd865c53e1ce1 by Raphael Isemann
[lldb] Fix a potential bug that may cause assert failure in CommandObject::CheckRequirements

Summary: `CommandObject::CheckRequirements` requires cleaning up `m_exe_ctx`
between commands. Function `HandleOptionCompletion` returns without cleaning up
`m_exe_ctx` could cause assert failure in later `CheckRequirements`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D80447
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
Commit c7593b0f0d28f6b7f9fa4557ce73197a49b37799 by victor.campos
[ARM] Fix rewrite of frame index in Thumb2's address mode i8s4

Summary:
In Thumb2's frame index rewriting process, the address mode i8s4, which
is used by LDRD and STRD instructions, is handled by taking the
immediate offset operand and multiplying it by 4.

This behaviour is wrong, however. In this specific address mode, the
MachineInstr's immediate operand is already in the expected form. By
consequence of that, multiplying it once more by 4 yields a flawed
offset value, four times greater than it should be.

Differential Revision: https://reviews.llvm.org/D80557
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.cpp
The file was addedllvm/test/CodeGen/Thumb2/frame-index-addrmode-t2i8s4.mir
Commit 763bc2305797c980a4f4fa2f6314ed78a010678d by Raphael Isemann
[lldb] Tab completion for process plugin name

Summary:

1. Added tab completion to `process launch -p`, `process attach -P`, `process
connect -p`;

2. Bound the plugin name common completion as the default completion for
`eArgTypePlugin` arguments.

Reviewers: teemperor, JDevlieghere

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D79929
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was modifiedlldb/source/Commands/CommandCompletions.cpp
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was modifiedlldb/include/lldb/Interpreter/CommandCompletions.h
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
Commit 5b84ee4f61419b9a911ce75b4bc1c5cc7de1d0d6 by gchatelet
[Alignment] Fix misaligned interleaved loads

Summary: Tentatively fixing https://bugs.llvm.org/show_bug.cgi?id=45957

Reviewers: craig.topper, nlopes

Subscribers: hiraditya, llvm-commits, RKSimon, jdoerfert, efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80276
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp
The file was modifiedllvm/test/Transforms/InterleavedAccess/X86/interleavedLoad.ll
Commit 63f927b17a1ce18cb922c441ffc0691a71d550b8 by steveire
Update release notes with porting guide for AST Matchers
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 0508fb45dfbc3ffde6bacc1e52177f3972a3eb99 by ties.stuij
[CodeGen][BFloat] Add bfloat MVT type

Summary:
This patch adds BFloat MVT support. It also adds fixed and scalable vector MVT
types for BFloat.

This patch is part of a series that adds support for the Bfloat16 extension of the Armv8.6-a architecture, as
detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

Reviewers: aemerson, huntergr, craig.topper, fpetrogalli, sdesmalen, LukeGeeson, ostannard

Reviewed By: ostannard

Subscribers: LukeGeeson, pbarrio, dschuff, kristof.beyls, hiraditya, aheejin, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79706
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
Commit ae07fabf6a705b7eb91e801d7735bda4a319567c by llvm-dev
ObjCARCInstKind.h - remove unused includes. NFC.
The file was modifiedllvm/include/llvm/Analysis/ObjCARCInstKind.h
Commit 0865d41492a7f2e8ca8ab70cb3baa121b747e9a7 by llvm-dev
ObjectFile.h - reduce unnecessary includes to forward declarations. NFC.

Fix SubtargetFeature.h include dependency in XCOFFObjectFile.cpp
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
The file was modifiedllvm/include/llvm/Object/ObjectFile.h
Commit 2ee4ec6b6f6d0571288db69b824f6773717d2cf7 by spatel
[IR] add set function for FMF 'contract'

This was missed when the flag was added with D31164.
The file was modifiedllvm/lib/IR/Instruction.cpp
The file was modifiedllvm/include/llvm/IR/Instruction.h
Commit 833996cef1381115b0077ab5694e189463f5d02e by Matthew.Arsenault
AMDGPU: Fix backwards s_cselect_* operands

The vector equivalent has backwards operands, but the scalar version
does not. The passes that use these hooks aren't enabled by default,
so this doesn't really change anything.
The file was modifiedllvm/test/CodeGen/AMDGPU/early-if-convert.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 70d4a202995315c77d7daec9f332a6ceda84efc9 by david.green
[UnJ] Update LI for inner nested loops

This makes sure to correctly register the loop info of the children
of unroll and jammed loops. It re-uses some code from the unroller for
registering subloops.

Differential Revision: https://reviews.llvm.org/D80619
The file was addedllvm/test/Transforms/LoopUnrollAndJam/innerloop.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Commit ad5d319ee85d31ee2b1ca5c29b3a10b340513fec by ties.stuij
[IR][BFloat] add BFloat IR intrinsics support

Summary:
This patch is part of a series that adds support for the Bfloat16 extension of
the Armv8.6-a architecture, as detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

Reviewers: scanon, fpetrogalli, sdesmalen, craig.topper, LukeGeeson

Reviewed By: fpetrogalli

Subscribers: LukeGeeson, pbarrio, kristof.beyls, hiraditya, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79707
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/include/llvm/IR/Intrinsics.h
Commit 4ab03e62fd040efdbde4b6c310e5abbda5363abd by grimar
[llvm-readobj] - Do not crash when an invalid .eh_frame_hdr is dumped using --unwind.

When the p_offset/p_filesz of the PT_GNU_EH_FRAME is invalid
(e.g larger than the file size) then llvm-readobj might crash.

This patch fixes the issue. I've introduced `ELFFile<ELFT>::getSegmentContent`
method, which is very similar to `ELFFile<ELFT>::getSectionContentsAsArray` one.

Differential revision: https://reviews.llvm.org/D80380
The file was modifiedllvm/include/llvm/Object/ELF.h
The file was modifiedllvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modifiedllvm/test/tools/llvm-readobj/ELF/unwind.test
Commit 5ee902bb5f3a843230f45dcd7b8101de71da7c83 by Jinsong Ji
[compiler-rt][asan] Add noinline to use-after-scope testcases

Some testcases are unexpectedly passing with NPM.
This is because the target functions are inlined in NPM.

I think we should add noinline attribute to keep these test points.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D79648
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-temp2.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-dtor-order.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-temp.cpp
Commit cadb7ccf2cebcaa2d546db77223bde3d69a162af by zinenko
[mlir] SCF: provide function_ref builders for IfOp

Now that OpBuilder is available in `build` functions, it becomes possible to
populate the "then" and "else" regions directly when building the "if"
operation. This is desirable in more structured forms of builders, especially
in when conditionals are mixed with loops. Provide new `build` APIs taking
callbacks for body constructors, similarly to scf::ForOp, and replace more
clunky edsc::BlockBuilder uses with these. The original APIs remain available
and go through the new implementation.

Differential Revision: https://reviews.llvm.org/D80527
The file was modifiedmlir/include/mlir/Dialect/SCF/SCF.h
The file was modifiedmlir/lib/Dialect/SCF/EDSC/Builders.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
Commit 42eba9b40b25cceeb3e6d432047c5ef99d4a7b50 by ties.stuij
[AArch64][BFloat] basic AArch64 bfloat support

Summary:
This patch adds the bfloat type to the AArch64 backend:
- adds it as part of the FPR16 register class
- adds bfloat calling conventions
- as f16 is now not the only FPR16 type anymore, we need to constrain a number
  of instruction patterns using FPR16Op to help out the TableGen type inferrer

This patch is part of a series implementing the Bfloat16 extension of the
Armv8.6-a architecture, as detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

Reviewers: t.p.northover, c-rhodes, fpetrogalli, sdesmalen, ostannard, LukeGeeson, ab

Reviewed By: fpetrogalli

Subscribers: pbarrio, LukeGeeson, kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79709
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 4408eeed0ff191304121c11168aa1db861cccb97 by dvyukov
tsan: fix false positives in AcquireGlobal

Add ThreadClock:: global_acquire_ which is the last time another thread
has done a global acquire of this thread's clock.

It helps to avoid problem described in:
https://github.com/golang/go/issues/39186
See test/tsan/java_finalizer2.cpp for a regression test.
Note the failuire is _extremely_ hard to hit, so if you are trying
to reproduce it, you may want to run something like:
$ go get golang.org/x/tools/cmd/stress
$ stress -p=64 ./a.out

The crux of the problem is roughly as follows.
A number of O(1) optimizations in the clocks algorithm assume proper
transitive cumulative propagation of clock values. The AcquireGlobal
operation may produce an inconsistent non-linearazable view of
thread clocks. Namely, it may acquire a later value from a thread
with a higher ID, but fail to acquire an earlier value from a thread
with a lower ID. If a thread that executed AcquireGlobal then releases
to a sync clock, it will spoil the sync clock with the inconsistent
values. If another thread later releases to the sync clock, the optimized
algorithm may break.

The exact sequence of events that leads to the failure.
- thread 1 executes AcquireGlobal
- thread 1 acquires value 1 for thread 2
- thread 2 increments clock to 2
- thread 2 releases to sync object 1
- thread 3 at time 1
- thread 3 acquires from sync object 1
- thread 1 acquires value 1 for thread 3
- thread 1 releases to sync object 2
- sync object 2 clock has 1 for thread 2 and 1 for thread 3
- thread 3 releases to sync object 2
- thread 3 sees value 1 in the clock for itself
  and decides that it has already released to the clock
  and did not acquire anything from other threads after that
  (the last_acquire_ check in release operation)
- thread 3 does not update the value for thread 2 in the clock from 1 to 2
- thread 4 acquires from sync object 2
- thread 4 detects a false race with thread 2
  as it should have been synchronized with thread 2 up to time 2,
  but because of the broken clock it is now synchronized only up to time 1

The global_acquire_ value helps to prevent this scenario.
Namely, thread 3 will not trust any own clock values up to global_acquire_
for the purposes of the last_acquire_ optimization.

Reviewed-in: https://reviews.llvm.org/D80474
Reported-by: nvanbenschoten (Nathan VanBenschoten)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was addedcompiler-rt/test/tsan/java_finalizer2.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_clock.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_clock.cpp
Commit 78bd0c0e5e8fbbfbb9f827bdd1f83f91ed3437fa by ties.stuij
[AArch64][BFloat] add BFloat instruction support for AArch64

Summary:
Add support for lowering various BFloat related SelDAG nodes:
- load/store (ldrh/strh)
- concat
- dup/duplane
- bitconvert/bitcast
- insert_subvector/insert_subreg

This patch is part of a series implementing the Bfloat16 extension of the
Armv8.6-a architecture, as detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

Reviewers: ab, t.p.northover, john.brawn, fpetrogalli, sdesmalen, LukeGeeson

Reviewed By: fpetrogalli

Subscribers: LukeGeeson, pbarrio, kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79712
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
The file was addedllvm/test/CodeGen/AArch64/bf16-vector-bitcast.ll
The file was addedllvm/test/CodeGen/AArch64/bf16.ll
Commit 559845f8fe53fabb22f9a392e8d34761df250c72 by lei
Revert "[PowerPC] Add support for -mcpu=pwr10 in both clang and llvm"

This reverts commit 7eb666b1556b86503f2f386bf921186cdbb2d22a.
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedllvm/test/CodeGen/PowerPC/check-cpu.ll
The file was modifiedclang/test/Preprocessor/init-ppc64.c
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/PPC.cpp
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
Commit b5b00877221ec7817b9de9cd65571e1c05e80145 by llvm-dev
SpecialCaseList.h - reduce unnecessary includes to forward declarations. NFC.

Remove Regex forward declaration as we already require the Regex.h include.

Add missing VirtualFileSystem.h include to dependent source files.
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedclang/lib/Driver/XRayArgs.cpp
The file was modifiedllvm/include/llvm/Support/SpecialCaseList.h
Commit 461af57de78155ee5d1dc1969b81dd019d228538 by gribozavr
Add support for UnaryOperator in SyntaxTree

Reviewers: gribozavr2

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80624
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 3be5e53f208d63135bb4e8499abdc1ac8a2b3266 by Alexander.Richardson
[FileCheck] Allow parenthesized expressions

With this change it is be possible to write FileCheck expressions such
as [[#(VAR+1)-2]]. Currently, the only supported arithmetic operators are
plus and minus, so this is not particularly useful yet. However, it our
CHERI fork we have tests that benefit from having multiplication in
FileCheck expressions. Allowing parenthesized expressions is the simplest
way for us to work around the current lack of operator precedence in
FileCheck expressions.

Reviewed By: thopre, jhenderson
Differential Revision: https://reviews.llvm.org/D77383
The file was modifiedllvm/lib/Support/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/numeric-expression.txt
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
The file was modifiedllvm/lib/Support/FileCheckImpl.h
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
Commit a888fc6b3412574f5869a8680acf4ed2bed1d2a2 by a.bataev
[OPENMP50]Initial support for use_device_addr clause.

Summary:
Added parsing/sema analysis/serialization support for use_device_addr
clauses.

Reviewers: jdoerfert

Subscribers: yaxunl, guansong, arphaman, sstefan1, llvm-commits, cfe-commits, caomhin

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80404
The file was modifiedclang/test/OpenMP/target_data_messages.c
The file was addedclang/test/OpenMP/target_data_use_device_ptr_addr_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was removedclang/test/OpenMP/target_data_use_device_ptr_ast_print.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was addedclang/test/OpenMP/target_data_use_device_ptr_addr_ast_print.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was removedclang/test/OpenMP/target_data_use_device_ptr_messages.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_messages.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
Commit 31f40f603d0c00b313397196124c5f39090badf0 by jpienaar
[mlir] Add simple generator for return types

Take advantage of equality constrains to generate the type inference interface.
This is used for equality and trivially built types. The type inference method
is only generated when no type inference trait is specified already.

This reorders verification that changes some test error messages.

Differential Revision: https://reviews.llvm.org/D80484
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/mlir-tblgen/types.mlir
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/include/mlir/TableGen/Attribute.h
The file was modifiedmlir/lib/TableGen/Attribute.cpp
Commit 6022efb0e9cbb350f7b690acd0cfa4b87b1dfe87 by llvm-dev
CoverageFilters.h - reduce unnecessary includes to forward declarations. NFC.
The file was modifiedllvm/tools/llvm-cov/CoverageFilters.cpp
The file was modifiedllvm/tools/llvm-cov/CoverageFilters.h
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
Commit aca3d067efe194539efd1e0fcf03820a2c377753 by jyknight
Fix Darwin 'constinit thread_local' variables.

Unlike other platforms using ItaniumCXXABI, Darwin does not allow the
creation of a thread-wrapper function for a variable in the TU of
users. Because of this, it can set the linkage of the thread-local
symbol to internal, with the assumption that no TUs other than the one
defining the variable will need it.

However, constinit thread_local variables do not require the use of
the thread-wrapper call, so users reference the variable
directly. Thus, it must not be converted to internal, or users will
get a link failure.

This was a regression introduced by the optimization in
00223827a952f66e7426c9881a2a4229e59bb019.

Differential Revision: https://reviews.llvm.org/D80417
The file was modifiedclang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit b0404681171d8cfebdb1f439f45aeb1001321eb7 by michael.hliao
Fix warning `-Wpedantic`. NFC.
The file was modifiedllvm/include/llvm/Support/SpecialCaseList.h
Commit 495f18292b2bc90a162b79d187c6d14ecfbe98f9 by paul.walker
[VFABI] Fix parsing of uniform parameters that shouldn't expect step or positional data.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80575
The file was modifiedllvm/unittests/Analysis/VectorFunctionABITest.cpp
The file was modifiedllvm/lib/Analysis/VFABIDemangling.cpp
Commit 1af3705c7fe23db9d5308bfdf07bfbd04398b895 by listmail
Start migrating away from statepoint's inline length prefixed argument bundles

In the current statepoint design, we have four distinct groups of operands to the call: call args, gc transition args, deopt args, and gc args. This format prexisted the support in IR for operand bundles and was in fact one of the inspirations for the extension. However, we never went back and rearchitected statepoints to fully leverage bundles.

This change is the first in a small sequence to do so. All this does is extend the SelectionDAG lowering code to allow deopt and gc transition operands to be specified in either inline argument bundles or operand bundles.

Differential Revision: https://reviews.llvm.org/D8059
The file was modifiedllvm/test/CodeGen/X86/statepoint-regs.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-gctransition-call-lowering.ll
Commit 5ba874e4724e72838dfbb3e4b40392e0b24cc6f4 by david.truby
[MLIR] [OpenMP] Add basic OpenMP parallel operation

Summary:
This includes a basic implementation for the OpenMP parallel
operation without a custom pretty-printer and parser.
The if, num_threads, private, shared, first_private, last_private,
proc_bind and default clauses are included in this implementation.

Currently the reduction clause is omitted as it is more complex and
requires analysis to see if we can share implementation with the loop
dialect. The allocate clause is also omitted.

A discussion about the design of this operation can be found here:
https://llvm.discourse.group/t/openmp-parallel-operation-design-issues/686

The current OpenMP Specification can be found here:
https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf

Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>

Reviewers: jdoerfert

Subscribers: mgorny, yaxunl, kristof.beyls, guansong, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, grosul1, frgossen, Kayjukh, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79410
The file was modifiedmlir/test/Dialect/OpenMP/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Commit 4f0eba28eba873de402d9742d62fcae89f4c2363 by thakis
[gn build] (manually) port dedaf3a2ac5
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Commit 0d20ed664ff2d51dae14f9324a64e4433e6b663e by bmahjour
[DDG] Data Dependence Graph - Add query function for memory dependencies between two nodes

Summary:
When working with the DDG it's useful to be able to query details of the
memory dependencies between two nodes connected by a memory edge. The DDG
does not hold a copy of the dependencies, but it contains a reference to a
DependenceInfo object through which dependence information can be queried.
This patch adds a query function to the DDG to obtain all the Dependence
objects that exist between instructions of two nodes.

Authored By: bmahjour

Reviewers: Meinersbur, Whitney, etiotto

Reviewed By: Whitney

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80529
The file was addedllvm/unittests/Analysis/DDGTest.cpp
The file was modifiedllvm/include/llvm/Analysis/DDG.h
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
Commit bed78845e555790c0bcbe34d04436fae41a3fa5f by llvmgnsyncbot
[gn build] Port 0d20ed664ff
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn