[all-commits] [llvm/llvm-project] 8ac928: [libc][NFC] adjust time related implementations (#...
Craig Topper via All-commits
all-commits at lists.llvm.org
Mon May 20 17:05:29 PDT 2024
Branch: refs/heads/users/fmayer/spr/main.wip-mte-stack-record
Home: https://github.com/llvm/llvm-project
Commit: 8ac928fea8d561261133e0337a2777fcda99f7ba
https://github.com/llvm/llvm-project/commit/8ac928fea8d561261133e0337a2777fcda99f7ba
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
[libc][NFC] adjust time related implementations (#91485)
Commit: ddad7c3c84a8706ad539f1a69660a31a00b411a2
https://github.com/llvm/llvm-project/commit/ddad7c3c84a8706ad539f1a69660a31a00b411a2
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/Driver/aarch64-fmv.c
Log Message:
-----------
[AArch64] add some more tests for FMV (#91490)
Add a couple of tests to make it clear:
- when FMV should be enabled and disabled by the driver.
- which extensions are enabled/disabled based on the dependencies
specified in TargetParser.
Commit: f4a7e1f9bac1f11e1db1c0a895f3f681838f89f2
https://github.com/llvm/llvm-project/commit/f4a7e1f9bac1f11e1db1c0a895f3f681838f89f2
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Fix module binary resolution (#91631)
This patch fixes a bug in when resolving and loading modules from the
binary image list.
When loading a module, we would first use the UUID from the binary image
list with `dsymForUUID` to fetch the dSYM bundle from our remote build
records and copy the executable locally.
If we failed to find a matching dSYM bundle for that UUID on the build
record, let's say if that module was built locally, we use Spotlight
(`mdfind`) to find the dSYM bundle once again using the UUID.
Prior to this patch, we would set the image path to be the same as the
symbol file. This resulted in trying to load the dSYM as a module in
lldb, which isn't allowed.
This patch address that by looking for a binary matching the image
identifier, next to the dSYM bundle and try to load that instead.
rdar://127433616
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 639a740035b732e9bc0f43f3f95d1ce3acf82e1b
https://github.com/llvm/llvm-project/commit/639a740035b732e9bc0f43f3f95d1ce3acf82e1b
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64] move extension information into tablgen (#90987)
Generate TargetParser extension information from tablegen. This includes FMV extension information. FMV only extensions are represented by a separate tablegen class.
Use MArchName/ArchKindEnumSpelling to avoid renamings.
Cases where there is simply a case difference are handled by
consistently uppercasing the AEK_ name in the emitted code.
Remove some Extensions which were not needed.
These had AEK entries but were never actually used for anything.
They are not present in Extensions[] data.
Commit: 99f45b4c5b67cccb7845580a67b42776f49ef0e2
https://github.com/llvm/llvm-project/commit/99f45b4c5b67cccb7845580a67b42776f49ef0e2
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix new CodeGen dep (#91654)
```
.../AMDGPUUtilsAndDesc/AMDGPUCallLowering.h:17:10: fatal error: 'llvm/CodeGen/GlobalISel/CallLowering.h' file not found
```
https://buildkite.com/llvm-project/upstream-bazel/builds/97166
Commit: db9421381980cdf3d6914f8898a77d3237325019
https://github.com/llvm/llvm-project/commit/db9421381980cdf3d6914f8898a77d3237325019
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Fix test failure when creating a target using command options (#91653)
This should fix the various crashlog test failures on the bots:
```
lldb-shell :: ScriptInterpreter/Python/Crashlog/app_specific_backtrace_crashlog.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/interactive_crashlog_json.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/interactive_crashlog_legacy.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/last_exception_backtrace_crashlog.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/skipped_status_interactive_crashlog.test
```
When we create a target by using the command option, we don't set it in
the crashlog object which later on cause us to fail loading the images.
rdar://127832961
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: ca3917538de1deeb0e51f11fbdbe295b6d3768d1
https://github.com/llvm/llvm-project/commit/ca3917538de1deeb0e51f11fbdbe295b6d3768d1
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[ClangOffloadBundler] make hipv4 and hip compatible (#91637)
The distinction between the hip and hipv4 offload kinds is historically
based. Originally, these designations might have indicated different
versions of the code object ABI (Application Binary Interface). However,
as the system has evolved, the ABI version is now embedded directly
within the code object itself, making these historical distinctions
irrelevant during the unbundling process. Consequently, hip and hipv4
are treated as compatible in current implementations, facilitating
interchangeable handling of code objects without differentiation based
on offload kind. This change streamlines code management within the
ecosystem.
Commit: 5a0e0b659fb5c652c66a083224bf300b4ae32452
https://github.com/llvm/llvm-project/commit/5a0e0b659fb5c652c66a083224bf300b4ae32452
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
R libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
R libc/hdr/types/clock_t.h
R libc/hdr/types/clockid_t.h
R libc/hdr/types/struct_timeval.h
R libc/hdr/types/suseconds_t.h
R libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
R libc/src/__support/time/CMakeLists.txt
R libc/src/__support/time/clock_gettime.h
R libc/src/__support/time/linux/CMakeLists.txt
R libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
A libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
Revert "[libc][NFC] adjust time related implementations" (#91657)
Reverts llvm/llvm-project#91485. It breaks GPU and fuchisa.
Commit: dfff57e751f6bae12172a1a246e1f8b33db042f8
https://github.com/llvm/llvm-project/commit/dfff57e751f6bae12172a1a246e1f8b33db042f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add isel special case for (and (shl X, c2), c1) -> (slli_uw (srli x, c3-c2), c3). (#91638)
Where c1 is a shifted mask with 32 set bits and c3 trailing zeros.
Commit: a3457369cd12b093185a5bda3443e08a4390f3ed
https://github.com/llvm/llvm-project/commit/a3457369cd12b093185a5bda3443e08a4390f3ed
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[Orc] Fix `-Wsign-compare` warnings in unittest
Multiple compares against `LookupsCompleted`, which is effectively an
unsigned long, with constant signed integer were throwing -Wsign-compare
warnings.
This is effectively NFC.
Commit: 8466480bdad9d1ef858329ec51cd910c419036a0
https://github.com/llvm/llvm-project/commit/8466480bdad9d1ef858329ec51cd910c419036a0
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[ProfData] Remove unused variable in unittest
Removed unused `VTables` in unittests/ProfileData/InstrProfTest.cpp.
NFC.
Commit: 04ce10357b485e5e03480b1ca2e91e75c50b1fef
https://github.com/llvm/llvm-project/commit/04ce10357b485e5e03480b1ca2e91e75c50b1fef
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
Log Message:
-----------
[mlir][SCF] Avoid generating unnecessary div/rem operations during coalescing (#91562)
When coalescing is some of the loops are unit-trip we can avoid
generating div/rem instructions during delinearization. Ideally we could
use some thing like `affine.delinearize` to handle this but tthat causes
dependence issues.
Commit: ba66dfb11bcaef5e0dc21358b3712b491d61d020
https://github.com/llvm/llvm-project/commit/ba66dfb11bcaef5e0dc21358b3712b491d61d020
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning: invalid escape sequence \[ \d \s (#91146)
Reproduced with Python 3.12.3
Commit: 5d51db75e46155d0f3d70cf3253d3b075cfcf93a
https://github.com/llvm/llvm-project/commit/5d51db75e46155d0f3d70cf3253d3b075cfcf93a
Author: asraa <asraa at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[mlir][affine] Use alias analysis to redetermine intervening memory effects in affine-scalrep (#90859)
This fixes a TODO to use alias analysis to determine whether a read op
intervenes between two write operations to the same memref.
Signed-off-by: Asra <asraa at google.com>
Commit: a99cb96dfa97c04c3313cb3770b876fee20eb131
https://github.com/llvm/llvm-project/commit/a99cb96dfa97c04c3313cb3770b876fee20eb131
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow trivial operator++ (#91102)
This PR adds the support for trivial operator++ implementations. T&
operator++() and T operator++(int) are trivial if the callee is trivial.
Also allow incrementing and decrementing of a POD member variable.
Also treat any __builtin_ functions as trivial.
Commit: 8a3277acbc7b7af917f570f7d6430dda41c4d9ee
https://github.com/llvm/llvm-project/commit/8a3277acbc7b7af917f570f7d6430dda41c4d9ee
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/CodeGen/WebAssembly/offset.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f32.store_f16 instruction. (#91545)
Adds a builtin and intrinsic for the f32.store_f16 instruction.
The instruction stores an f32 value as an f16 memory. Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f32.store_f16 as opcode 0xFD0121, but this is
incorrect and will be changed to 0xFC31 soon.
Commit: 1e97d114b5b2b522de7e0aa9c950199de0798d53
https://github.com/llvm/llvm-project/commit/1e97d114b5b2b522de7e0aa9c950199de0798d53
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/test/tools/dsymutil/ARM/empty-map.test
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/Options.td
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Add -q/--quiet flag to suppress warnings (#91658)
Add a -q/--quiet flag to suppress dsymutil output. For now the flag is
limited to dsymutil, though there might be other places in the DWARF
linker that could be conditionalized by this flag.
The motivation is having a way to silence the "no debug symbols in
executable" warning. This is useful when we want to generate a dSYM for
a binary not containing debug symbols, but still want a dSYM that can be
indexed by spotlight.
rdar://127843467
Commit: 95f208f97e709139c3ecbce552bcf1e34b9fcf12
https://github.com/llvm/llvm-project/commit/95f208f97e709139c3ecbce552bcf1e34b9fcf12
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[lldb] Unify CalculateMD5 return types (#91029)
This is a retake of https://github.com/llvm/llvm-project/pull/90921
which got reverted because I forgot to modify the CalculateMD5 unit test
I had added in https://github.com/llvm/llvm-project/pull/88812
The prior failing build is here:
https://lab.llvm.org/buildbot/#/builders/68/builds/73622
To make sure this error doesn't happen, I ran `ninja
ProcessGdbRemoteTests` and then executed the resulting test binary and
observed the `CalculateMD5` test passed.
# Overview
In my previous PR: https://github.com/llvm/llvm-project/pull/88812,
@JDevlieghere suggested to match return types of the various calculate
md5 functions.
This PR achieves that by changing the various calculate md5 functions to
return `llvm::ErrorOr<llvm::MD5::MD5Result>`.
The suggestion was to go for `std::optional<>` but I opted for
`llvm::ErrorOr<>` because local calculate md5 was already possibly
returning `ErrorOr`.
To make sure I didn't break the md5 calculation functionality, I ran
some tests for the gdb remote client, and things seem to work.
# Testing
1. Remote file doesn't exist
![image](https://github.com/llvm/llvm-project/assets/1326275/b26859e2-18c3-4685-be8f-c6b6a5a4bc77)
1. Remote file differs
![image](https://github.com/llvm/llvm-project/assets/1326275/cbdb3c58-555a-401b-9444-c5ff4c04c491)
1. Remote file matches
![image](https://github.com/llvm/llvm-project/assets/1326275/07561572-22d1-4e0a-988f-bc91b5c2ffce)
## Test gaps
Unfortunately, I had to modify
`lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp` and I
can't test the changes there. Hopefully, the existing test suite / code
review from whomever is reading this will catch any issues.
Commit: f893dccbba372792e7e7095d741f98a234654875
https://github.com/llvm/llvm-project/commit/f893dccbba372792e7e7095d741f98a234654875
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/JumpThreading/thread-two-bbs.ll
Log Message:
-----------
Replace uses of ConstantExpr::getCompare. (#91558)
Use ICmpInst::compare() where possible, ConstantFoldCompareInstOperands
in other places. This only changes places where the either the fold is
guaranteed to succeed, or the code doesn't use the resulting compare if
we fail to fold.
Commit: f865dbff17ca516d605b053d5556c1498c300a42
https://github.com/llvm/llvm-project/commit/f865dbff17ca516d605b053d5556c1498c300a42
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Support GEP reordering for different types (#90802)
This doesn't show up in existing lit tests, but has an impact on real
code -- especially after the canonicalization of GEPs to i8.
Alive2 tests for the inbounds handling:
Case 1: https://alive2.llvm.org/ce/z/6bfFY3
Case 2: https://alive2.llvm.org/ce/z/DkLMLF
Commit: e4763ca83b90eed96be6fd83a9867e435f4b8ffe
https://github.com/llvm/llvm-project/commit/e4763ca83b90eed96be6fd83a9867e435f4b8ffe
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/lit.common.cfg.py
A llvm/lib/ProfileData/CtxInstrContextNode.h
Log Message:
-----------
[ctx_profile] Pull `ContextNode` in a `.inc` file (#91669)
This pulls out `ContextNode` as we need to use it pretty much as-is to implement a writer. The writer will be implemented on the LLVM side because it takes a dependency on BitStreamWriter.
Since we can't reuse a header between compiler-rt and llvm, we use a header file which is copied on both sides, and test that the 2 copies are identical.
The changes adds the necessary other stuff for compiler-rt/ctx_profile testing.
Commit: 0fd017ce43875283ecce55f18f721f47ba37a920
https://github.com/llvm/llvm-project/commit/0fd017ce43875283ecce55f18f721f47ba37a920
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A llvm/include/llvm/ProfileData/CtxInstrContextNode.h
R llvm/lib/ProfileData/CtxInstrContextNode.h
Log Message:
-----------
[nfc][ctx_profile] Move `CtxInstrContextNode.h` in `include`
Follow-up from PR #91669.
Commit: db78ee0cb82669302a5e0f18a15fd53346a73823
https://github.com/llvm/llvm-project/commit/db78ee0cb82669302a5e0f18a15fd53346a73823
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld-macho] Fix address sanitizer for category merging (#91680)
FIxing the address sanitizer issue reported in
https://github.com/llvm/llvm-project/pull/91548 .
The problem comes from the assignment `auto bodyData = newSectionData`
which defaults to `SmallVector<uint8_t> data = newSectionData` - which
actually creates a copy of the data, placed on the stack.
By explicitly using `ArrayRef` instead, we make sure that the original
copy is used.
We also change the assignment in `ObjcCategoryMerger::newStringData`
from `auto` to `SmallVector<uint8_t> &` to make it explicit.
Commit: d24eaef92525d03b4b64c7b4acd07197bdfb57cc
https://github.com/llvm/llvm-project/commit/d24eaef92525d03b4b64c7b4acd07197bdfb57cc
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Sink vector select splat operands (#91554)
vmerge.vxm allows us to splat the true operand of a select, so sink it
where possible to reduce vector register pressure.
Commit: 427beff2ad274f38f9de682f48f550cdcf5fc505
https://github.com/llvm/llvm-project/commit/427beff2ad274f38f9de682f48f550cdcf5fc505
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add `private` clause to `omp.target` (#91202)
Commit: e069bb7fd85b69abded27b44f33bf40a522ab9b6
https://github.com/llvm/llvm-project/commit/e069bb7fd85b69abded27b44f33bf40a522ab9b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use map::count instead of hasExtension in RISCVISAInfo::updateCombination. NFC
hasExtension check isSupportedExtension before the map lookup. All
of the extensions we check for in updateCombination should be valid
extension names so we can bypass that to save some time.
Commit: 0d31ac8893c382117abfb238f52c9736b2a38a8d
https://github.com/llvm/llvm-project/commit/0d31ac8893c382117abfb238f52c9736b2a38a8d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows: Remove top-level permissions from release-tasks.yml (#91088)
This is the recommend best practice and we also don't need write access
for all jobs.
Commit: 720dfd94dfe83d8ce57ad3fe317563d7e1a9c602
https://github.com/llvm/llvm-project/commit/720dfd94dfe83d8ce57ad3fe317563d7e1a9c602
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M .github/workflows/release-doxygen.yml
Log Message:
-----------
workflows: Fix missing GITHUB_TOKEN in release-doxygen.yml upload step (#91091)
We were accidentally setting the GITHUB_TOKEN environment variable in
the previous step.
Commit: 181e2e8fb9efe6e8f3f7fc094516f125659b687c
https://github.com/llvm/llvm-project/commit/181e2e8fb9efe6e8f3f7fc094516f125659b687c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[nfc][memprof] Add missing license to `MemProfTest` (#91695)
Commit: 21be8182239a9c87a50071d122d5532037fd8305
https://github.com/llvm/llvm-project/commit/21be8182239a9c87a50071d122d5532037fd8305
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[analyzer] Support determining origins in a conditional operator in WebKit checkers. (#91143)
This PR adds the support for determining the origin of a pointer in a
conditional operator.
Because such an expression can have two distinct origins each of which
needs to be visited, this PR refactors tryToFindPtrOrigin to take a
callback instead of returning a pair.
The callback is called for the second operand and the third operand of
the conditioanl operator (i.e. E2 and E3 in E1 ? E2 : E3).
Also treat nullptr and integer literal as safe pointer origins in the
local variable checker.
Commit: 2c5f470da6ab313f7c6a1aa53fb40dbcbde338f1
https://github.com/llvm/llvm-project/commit/2c5f470da6ab313f7c6a1aa53fb40dbcbde338f1
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
Log Message:
-----------
[AMDGPU] Move LDS utilities from amdgpu-lower-module-lds pass to AMDGPUMemoryUtils (#88002)
This moves some of the utility methods from amdgpu-lower-module-lds pass to AMDGPUMemoryUtils.
Commit: 87f3407856e61a73798af4e41b28bc33b5bf4ce6
https://github.com/llvm/llvm-project/commit/87f3407856e61a73798af4e41b28bc33b5bf4ce6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694)
Commit: 06ad86361ab29d344a5e2e22903c2739743c77be
https://github.com/llvm/llvm-project/commit/06ad86361ab29d344a5e2e22903c2739743c77be
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Log Message:
-----------
[NFC] Prefer `str.resize(len)` over `str.substr(0, len)` (#91067)
Commit: 135d92f903161e66ff82ab846acfbc5015ef3096
https://github.com/llvm/llvm-project/commit/135d92f903161e66ff82ab846acfbc5015ef3096
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Driver] Use StringRef::operator== instead of StringRef::equals (NFC) (#91698)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
13 under clang/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: e7e13c6ffec58fe67a23d173387e96d5ebb8f84b
https://github.com/llvm/llvm-project/commit/e7e13c6ffec58fe67a23d173387e96d5ebb8f84b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
Log Message:
-----------
[ORC] Fix another error fall-through in EPCGenericDylibManager::lookupAsync.
The early return added in this commit should have been added in cbf1535cc81.
No test-case: This would require a deliberately injected failure in a
remote-JIT test and we don't have the infrastructure for that at the moment.
rdar://126772381
Commit: 0ebe48f068c0ca69f76ed68b621c9294acd75f76
https://github.com/llvm/llvm-project/commit/0ebe48f068c0ca69f76ed68b621c9294acd75f76
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_x_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_xu_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vaadd.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vasub.ll
M llvm/test/CodeGen/RISCV/rvv/vasubu.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfrec7.ll
M llvm/test/CodeGen/RISCV/rvv/vfredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vnclip.ll
M llvm/test/CodeGen/RISCV/rvv/vnclipu.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Move RISCVInsertVSETVLI after CSR/VXRM passes (#91701)
This further splits off #91440 to inch RISCVInsertVSETVLI closer to post
vector regalloc.
As noted in #91440, most of the diffs are from moving vsetvli insertion
after the vxrm/csr insertion passes, but these are getting conflated
with the changes from moving to LiveIntervals.
One idea was that we could try and remove some of these diffs by
manually moving back the vsetvlis past the vxrm/csr instructions. But
this meant having to touch up the LiveIntervals again which seemed to
lead to even more diffs.
This instead just moves RISCVInsertVSETVLI after RISCVInsertReadWriteCSR
and RISCVInsertWriteVXRM so we can isolate those changes.
Commit: 5bde2aa1080ba90021f8f5e0c48744ddfc0d6f15
https://github.com/llvm/llvm-project/commit/5bde2aa1080ba90021f8f5e0c48744ddfc0d6f15
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeList.cpp
M lldb/source/Symbol/TypeMap.cpp
A lldb/test/API/python_api/sbmodule/FindTypes/Makefile
A lldb/test/API/python_api/sbmodule/FindTypes/TestSBModuleFindTypes.py
A lldb/test/API/python_api/sbmodule/FindTypes/main.cpp
M lldb/unittests/Symbol/TestType.cpp
Log Message:
-----------
[lldb] Improve type name parsing (#91586)
Parsing of '::' scopes in TypeQuery was very naive and failed for names
with '::''s in template arguments. Interestingly, one of the functions
it was calling (Type::GetTypeScopeAndBasename) was already doing the
same thing, and getting it (mostly (*)) right. This refactors the
function so that it can return the scope results, fixing the parsing of
names like std::vector<int, std::allocator<int>>::iterator.
Two callers of GetTypeScopeAndBasename are deleted as the functions are
not used (I presume they stopped being used once we started pruning type
search results more eagerly).
(*) This implementation is still not correct when one takes c++
operators into account -- e.g., something like `X<&A::operator<>::T` is
a legitimate type name. We do have an implementation that is able to
handle names like these (CPlusPlusLanguage::MethodName), but using it is
not trivial, because it is hidden in a language plugin and specific to
method name parsing.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 2dbe89d15046bedcc36a5de1242e20aa91a5e598
https://github.com/llvm/llvm-project/commit/2dbe89d15046bedcc36a5de1242e20aa91a5e598
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement __reference_converts_from_temporary (#91199)
This completes the required language support for P2255R2.
Commit: 7e52ad3b5b9509d0873965e8492ab01141342822
https://github.com/llvm/llvm-project/commit/7e52ad3b5b9509d0873965e8492ab01141342822
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
Log Message:
-----------
Fix a warning for #91455 [-Wc++20-extensions]
Commit: 2a61eebc66c0903cf3834a520b1f975ac3cdf92b
https://github.com/llvm/llvm-project/commit/2a61eebc66c0903cf3834a520b1f975ac3cdf92b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
Log Message:
-----------
Cleanup asserts in BranchParameters and DecisionParameters
Commit: 6ce4c4ca2bb846c2b8d64dc2b3d3496785c9edff
https://github.com/llvm/llvm-project/commit/6ce4c4ca2bb846c2b8d64dc2b3d3496785c9edff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Drop a redundant clang::format::
Commit: 6aac30fa43f094ac25269bda163dc89a88cb8da7
https://github.com/llvm/llvm-project/commit/6aac30fa43f094ac25269bda163dc89a88cb8da7
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
Log Message:
-----------
Update FEAT_PAuth_LR behaviour for AArch64 (#90614)
Currently, LLVM enables `-mbranch-protection=standard` as `bti+pac-ret`.
To align LLVM with the behaviour in GNU, this has been updated to
`bti+pac-ret+pc` when FEAT_PAuth_LR is enabled as an optional feature
via the `-mcpu=` options. If this is not enabled, then this will revert
to the existing behaviour.
Commit: 5d24217c2c1c06358168cae65d3ff8632b28cd7d
https://github.com/llvm/llvm-project/commit/5d24217c2c1c06358168cae65d3ff8632b28cd7d
Author: Petr Hosek <phosek at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/fseparate-named-sections.c
Log Message:
-----------
[Clang] Pass -fseparate-named-sections from the driver (#91567)
This is a follow up to #91028.
Commit: a76518cadc5eaa6b6d07334e2b5bc08382aabe49
https://github.com/llvm/llvm-project/commit/a76518cadc5eaa6b6d07334e2b5bc08382aabe49
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb][ELF] Return address class map changes from symbol table parsing methods (#91585)
Instead of updating the member of the ObjectFileELF instance. This means
that if one object file asks another to parse the symbol table, that
first object's can update its address class map with the same changes
that the other object did.
(I'm not returning a reference to the other object's m_address_class_map
member because there may be other things in there not related to the
symbol table being parsed)
This will fix the code added in
https://github.com/llvm/llvm-project/pull/90622 which broke the test
`Expr/TestStringLiteralExpr.test` on 32 bit Arm Linux.
This happened because we had the program file, then asked for a better
object file, which returned the same program file again. This creates a
second ObjectFileELF for the same file, so when we tell the second
instance to parse the symbol table it actually calls into the first
instance, leaving the address class map of the second instance empty.
Which caused us to put an Arm breakpoint instuction at a Thumb return
address and broke the ability to call mmap.
Commit: 23b673e5b4b73b42864fcd7d63c1e974317ed4d6
https://github.com/llvm/llvm-project/commit/23b673e5b4b73b42864fcd7d63c1e974317ed4d6
Author: David Green <david.green at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
Log Message:
-----------
[DAG][AArch64] Handle vscale addressing modes in reassociationCanBreakAddressingModePattern (#89908)
reassociationCanBreakAddressingModePattern tries to prevent bad add
reassociations that would break adrressing mode patterns. This adds
support for vscale offset addressing modes, making sure we don't break
patterns that already exist. It does not optimize _to_ the correct
addressing modes yet, but prevents us from optimizating _away_ from
them.
Commit: e6d29be566d19a6558597ed1ede4783e85485749
https://github.com/llvm/llvm-project/commit/e6d29be566d19a6558597ed1ede4783e85485749
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/Driver/aarch64-fmv.c
Log Message:
-----------
[clang] fix FMV test for Win x Arm builds (#91490)
Commit: 641949654910a533076e35517d084e2961adbdfa
https://github.com/llvm/llvm-project/commit/641949654910a533076e35517d084e2961adbdfa
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A flang/test/Integration/debug-loc-1.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[flang][OMPIRBuilder] Keep debug location in sync with insert point. (#89953)
A customer reported an issue which I have reduced to the test in the PR.
If built with debug info enabled, the build fails with the following
error in the verifier.
!dbg attachment points at wrong subprogram for function
The problem happened because some of the functions in OMPIRBuilder.cpp
updated the insertion point with the passed in location but did not
change the current debug location. This caused a stale debug location to
be attached to the instruction.
I have solved it by replacing restoreIP with updateToLocation which
updates both the insertion point and debug location. The
updateToLocation is used in many places already, so this PR brings
functions that I have changed in line with rest of the file.
Slight issue is that I am not checking the return type of
updateToLocation as there is no good value I could return in that case.
But if we have a condition where updateToLocation will return false,
these functions will fail in any case.
I have added a test that checks that build does not fail. I was not sure
what is the correct location for the test should be. Happy to move it to
more appropriate location.
Commit: fc57f88f007497a4ead0ec8607ac66e1847b02d6
https://github.com/llvm/llvm-project/commit/fc57f88f007497a4ead0ec8607ac66e1847b02d6
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[Clang] Fix Undefined Behavior introduced by #91199 (#91718)
We stack allocated an OpaqueExpr that would be used after it was
destroyed.
e.g https://lab.llvm.org/buildbot/#/builders/57/builds/34909
Commit: 1aca8ed5a7eeed264fdc2694deca8a4a4dba3689
https://github.com/llvm/llvm-project/commit/1aca8ed5a7eeed264fdc2694deca8a4a4dba3689
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb][ELF] Add a comment to explain address class map type
It was pointed out that ordering is crucial here, so note that.
I also looked into using a vector instead, as described in
https://llvm.org/docs/ProgrammersManual.html#dss-sortedvectorset.
Which this is in theory perfect for, but we have at least 2 places
that update the map and both would need to sort/unique each time.
Plus this code is pretty bug prone.
If there is future refactoring it's one thing to consider.
Commit: b277bf56d7654877a1c4b59dc08bc96b4d75b649
https://github.com/llvm/llvm-project/commit/b277bf56d7654877a1c4b59dc08bc96b4d75b649
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Clean up lowering of VECTOR_SPLICE operations. (#91330)
Remove DAG combine that is performing type legalisation and instead
add isel patterns for all legal types.
Commit: 64d4ade3bb7d0d8cc87a777f4964e68f2f25edf9
https://github.com/llvm/llvm-project/commit/64d4ade3bb7d0d8cc87a777f4964e68f2f25edf9
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas16.ll
Log Message:
-----------
[AArch64] Add intrinsics for 16-bit non-widening FMLA/FMLS (#88553)
According to the specification in
https://github.com/ARM-software/acle/pull/309
add the following intrinsics
void svmla[_single]_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm)
void svmla[_single]_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm)
void svmls[_single]_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm)
void svmls[_single]_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm)
void svmla_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16x2_t zm)
void svmla_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16x4_t zm)
void svmls_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16x2_t zm)
void svmls_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16x4_t zm)
void svmla_lane_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmla_lane_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmls_lane_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmls_lane_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm, uint64_t imm_idx)
as well as the corresponding `_bf16` variants.
Commit: 2e8d8155969f90b8f17634ce9a8e4541fb21dbab
https://github.com/llvm/llvm-project/commit/2e8d8155969f90b8f17634ce9a8e4541fb21dbab
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[TTI] Support scalable offsets in getScalingFactorCost (#88113)
Part of the work to support vscale-relative immediates in LSR.
Commit: 28767afd53353d9333b0adf6f0fafa1592092532
https://github.com/llvm/llvm-project/commit/28767afd53353d9333b0adf6f0fafa1592092532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[LAA] Support backward dependences with non-constant distance. (#91525)
Following up to 933f49248, also update the code reasoning about
backwards dependences to support non-constant distances.
Update the code to use the signed minimum distance instead of a constant
distance
This means e checked the lower bound of the dependence distance and the
distance may be larger at runtime (and safe for vectorization). Whether
to classify it as Unknown or Backwards depends on the vector width and
LAA was updated to take TTI to get the maximum vector register width.
If the minimum dependence distance is larger than the max vector width,
we consider it as backwards-vectorizable. Otherwise we classify them as
Unknown, so we re-try with runtime checks.
PR: https://github.com/llvm/llvm-project/pull/91525
Commit: fa4e8995cb6b6281a94261bee34242a39fd9f462
https://github.com/llvm/llvm-project/commit/fa4e8995cb6b6281a94261bee34242a39fd9f462
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Make wfxt a full Extension (#90987)
Before #90987 WFxT did not have an AEK_WFXT, so it was assumed to be an
FMV-only extension. However it also had a SubtargetFeature. This commit
combines the two. This fixes an issue where -mattr=+wfxt was ignored,
but has the side effect of allowing +wfxt as an option to -march.
Commit: 2371a6410dd83e82862e1c4dce1f7411efbe6b1c
https://github.com/llvm/llvm-project/commit/2371a6410dd83e82862e1c4dce1f7411efbe6b1c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mopa.ll
Log Message:
-----------
[AArch64] Add intrinsics for non-widening FMOPA/FMOPS (#88105)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void svmopa_za16[_f16]_m(uint64_t tile, svbool_t pn, svbool_t pm,
svfloat16_t zn, svfloat16_t zm)
__arm_streaming __arm_inout("za");
void svmops_za16[_f16]_m(uint64_t tile, svbool_t pn,
svbool_t pm, svfloat16_t zn, svfloat16_t zm)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: f5e49279c01436971001e107a0a3435510b9ae98
https://github.com/llvm/llvm-project/commit/f5e49279c01436971001e107a0a3435510b9ae98
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
Log Message:
-----------
AMDGPU: fix isSafeToSink expecting exactly one predecessor (#89224)
isSafeToSink needs to check if machine cycle has divergent exit branch
but first it needs the MBB that contains cycle exit branch.
Early-tailduplication can delete exit block created by structurize-cfg
so there is still exactly one cycle exit block but the new cycle exit
block can have multiple predecessors.
Simplify search for MBBs that contain cycle exit branch by introducing
helper method getExitingBlocks in GenericCycle.
Fixes #89200
Commit: 73681b8fee930274e6dc11d4471b44666d6d0dfd
https://github.com/llvm/llvm-project/commit/73681b8fee930274e6dc11d4471b44666d6d0dfd
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Log Message:
-----------
[NFC][LLVM] Simplify SVE isel DAG patterns. (#91510)
We have many instances of (Ty ZPR:$op) than can be written as Ty:$Op.
Whilst other operands can also be simplified this patch focuses on
removing redundant instances of PPR, PNR and ZPR only.
Commit: 5ad7a210ff850eed1f255f81f0609efedabe3bb7
https://github.com/llvm/llvm-project/commit/5ad7a210ff850eed1f255f81f0609efedabe3bb7
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] wfxt must depend on itself (#90987)
Commit: f52ca632787a5d4227689726e14dae6749e1e650
https://github.com/llvm/llvm-project/commit/f52ca632787a5d4227689726e14dae6749e1e650
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
Log Message:
-----------
[LAA] Drop x86_64 target triple to fix test on builds with X86.
Follow-up o fix test after 28767afd53353d9333b0adf6f0fafa1592092532.
Commit: 200f3bd39562f4d605f13567398025d30fa27d61
https://github.com/llvm/llvm-project/commit/200f3bd39562f4d605f13567398025d30fa27d61
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaAccess.cpp
A clang/test/SemaCXX/PR12361.cpp
Log Message:
-----------
[Clang][Sema] access checking of friend declaration should not be delayed (#91430)
attempt to fix https://github.com/llvm/llvm-project/issues/12361
Consider this example:
```cpp
class D {
class E{
class F{};
friend void foo(D::E::F& q);
};
friend void foo(D::E::F& q);
};
void foo(D::E::F& q) {}
```
The first friend declaration of foo is correct. After that, the second
friend declaration delayed access checking and set its previous
declaration to be the first one. When doing access checking of `F`(which
is private filed of `E`), we put its canonical declaration(the first
friend declaration) into `EffectiveContext.Functions`. Actually, we are
still checking the first one. This is incorrect due to the delayed
checking.
Creating a new scope to indicate we are parsing a friend declaration and
doing access checking in time.
Commit: 8c852ab57932a5cd954cb0d050c3d2ab486428df
https://github.com/llvm/llvm-project/commit/8c852ab57932a5cd954cb0d050c3d2ab486428df
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
Log Message:
-----------
[Clang][Sema] Revise the transformation of CTAD parameters of nested class templates (#91628)
This fixes a regression introduced by bee78b88f.
When we form a deduction guide for a constructor, basically, we do the
following work:
- Collect template parameters from the constructor's surrounding class
template, if present.
- Collect template parameters from the constructor.
- Splice these template parameters together into a new template
parameter list.
- Turn all the references (e.g. the function parameter list) to the
invented parameter list by applying a `TreeTransform` to the function
type.
In the previous fix, we handled cases of nested class templates by
substituting the "outer" template parameters (i.e. those not declared at
the surrounding class template or the constructor) with the
instantiating template arguments. The approach per se makes sense, but
there was a flaw in the following case:
```cpp
template <typename U, typename... Us> struct X {
template <typename V> struct Y {
template <typename T> Y(T) {}
};
template <typename T> Y(T) -> Y<T>;
};
X<int>::Y y(42);
```
While we're transforming the parameters for `Y(T)`, we first attempt to
transform all references to `V` and `T`; then, we handle the references
to outer parameters `U` and `Us` using the template arguments from
`X<int>` by transforming the same `ParamDecl`. However, the first step
results in the reference `T` being `<template-param-0-1>` because the
invented `T` is the last of the parameter list of the deduction guide,
and what we're substituting with is a corresponding parameter pack
(which is `Us`, though empty). Hence we're messing up the substitution.
I think we can resolve it by reversing the substitution order, which
means handling outer template parameters first and then the inner
parameters.
There's no release note because this is a regression in 18, and I hope
we can catch up with the last release.
Fixes https://github.com/llvm/llvm-project/issues/88142
Commit: 452f4393c70e0ffecf8e394f82b1eaeaa8d224af
https://github.com/llvm/llvm-project/commit/452f4393c70e0ffecf8e394f82b1eaeaa8d224af
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Log Message:
-----------
[InstCombine] Precommit tests for #86111
The upcoming patch adds logic to prefer to use constants close to
power-of-two in these ashr exact + slt/ult patterns when it has a choice
on which constant can be used.
Commit: 3be8e2c95d3dca5b2fdea889649a69dce8605e65
https://github.com/llvm/llvm-project/commit/3be8e2c95d3dca5b2fdea889649a69dce8605e65
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Log Message:
-----------
[InstCombine] Prefer to keep power-of-2 constants when combining ashr exact and slt/ult of a constant (#86111)
We have flexibility in what constant to use when combining an `ashr
exact` with a slt or ult of a constant, and it's not possible to revisit
this decision later in the compilation pipeline after the `ashr exact`
is removed. Keeping a constant close to power-of-2 (pow2val + 1) should
be no worse than neutral, and in some cases may allow better codegen
later on for targets that can more cheaply generate power of 2 (which
may be selectable if converting back to setle/setge) or near power of 2
constants.
Alive2 proofs:
<https://alive2.llvm.org/ce/z/2BmPnq> and
<https://alive2.llvm.org/ce/z/DtuhnR>
Commit: d48bf8aef2abeb915b1e04e1b78051869088df42
https://github.com/llvm/llvm-project/commit/d48bf8aef2abeb915b1e04e1b78051869088df42
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
Reapply "[InlineCost] Correct the default branch cost for the switch statement (#85160)"
This reverts commit c6e4f6309184814dfc4bb855ddbdb5375cc971e0.
Commit: 561b6ab96e9d5b38a5d2672e6cc6823389b75a3f
https://github.com/llvm/llvm-project/commit/561b6ab96e9d5b38a5d2672e6cc6823389b75a3f
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP][AIX] Implement __kmp_get_load_balance() for AIX (#91520)
AIX has the `/proc` filesystem where `/proc/<pid>/lwp/<tid>/lwpsinfo` has
the thread state in binary, similar to Linux's
`/proc/<pid>/task/<tid>/stat` where the state is in ASCII. However, the
definition of state info `R` in `lwpsinfo` is `runnable`. In Linux,
state `R` means the thread is `running`. Therefore, `lwpsinfo` is not
ideal for our purpose of getting the current load of the system. This
patch uses `perfstat_cpu()` in AIX system library `libperfstat.a` to
obtain the number of threads current running on logical CPUs.
Commit: 195d8ac26d91ca798733c3a5f58d67992d43503d
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Fix DXIL part header version encoding (#91506)
Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.
Fixes #89952
Commit: 4cf3f032283d8426c9b7829c7ccf0ab01939c7db
https://github.com/llvm/llvm-project/commit/4cf3f032283d8426c9b7829c7ccf0ab01939c7db
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] use llvm::any_of refactor getAnalyzerCheckersAndPackages [NFC] (#91713)
Commit: 8fc9e3d577c02d2b97c952fbafb75db0100462a9
https://github.com/llvm/llvm-project/commit/8fc9e3d577c02d2b97c952fbafb75db0100462a9
Author: David Green <david.green at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[DAG] Lower frem of power-2 using div/trunc/mul+sub (#91148)
If we are lowering a frem and the divisor is known to be an integer power-2, we
can use the formula 'frem = x - trunc(x / d) * d'. This avoids the more
expensive call to fmod. The results are identical as fmod so long as d is a
power-2 (so the mul does not round incorrectly), and the sign of the return is
either always positive or not important for zeroes (nsz).
Unfortunately Alive2 does not handle this well at the moment. I was using
exhaustive checking to test this:
(https://gist.github.com/davemgreen/6078015f30d3bacd1e9572f8db5d4b64).
I found this in cpythons implementation of float_pow. I currently added it as a
DAG combine for frem with power-2 fp constants.
Commit: 63177422a834f4b81d59b827b5f2a1c5a9083749
https://github.com/llvm/llvm-project/commit/63177422a834f4b81d59b827b5f2a1c5a9083749
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[OpenACC][NFC] Fix isa behavior for OpenACC types
I discovered while working on a different patch that I'd not implemented
the 'classof' for any of the Clauses, which resulted in 'isa' always
returning 'true' for all of the types. This patch goes through all the
existing clauses and adds 'classof' such that it will work correctly.
Additionally, in doing this, I found a bug where I was doing a cast to
the wrong type in the ASTWriter, so this fixes that problem as well.
Commit: 331f22af4b4c849a97c97e6803e0c8cab57fa10b
https://github.com/llvm/llvm-project/commit/331f22af4b4c849a97c97e6803e0c8cab57fa10b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Remove unnecessary predicates from aliases. NFC. (#91602)
So long as the target of the alias is predicated with HasImageInsts or
similar, the alias itself does not need this predicate.
Commit: 52271a5c11f6abde1fa1221db304212b5eb8ec7c
https://github.com/llvm/llvm-project/commit/52271a5c11f6abde1fa1221db304212b5eb8ec7c
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/variant
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
Log Message:
-----------
[libc++] Make `constexpr std::variant`. Implement P2231R1 (#83335)
Fixes #86686
Commit: 9232591b04d7a4586e88bdbd1c3e513775c73560
https://github.com/llvm/llvm-project/commit/9232591b04d7a4586e88bdbd1c3e513775c73560
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/test/support/atomic_helpers.h
Log Message:
-----------
[libc++][NFC] Use TestEachPointerType in TestEachAtomicType (#91480)
That way, if we ever expand TestEachPointerType we will pick up those
changes in TestEachAtomicType.
Commit: c5c8ae43545e917e624edd93695d1b265bae1e5c
https://github.com/llvm/llvm-project/commit/c5c8ae43545e917e624edd93695d1b265bae1e5c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
Log Message:
-----------
[flang] Use i16 instead of i2 for cmdstat (#91647)
The code for preparing cmdstat was generating an i2 constant with value
0, casting it, and then storing it into i16 storage. Just generate i16
constant directly.
Commit: 92dfe20acd4b101c58d7eb72cb7c0a9d4ae36385
https://github.com/llvm/llvm-project/commit/92dfe20acd4b101c58d7eb72cb7c0a9d4ae36385
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/math/generic/powf.cpp
M libc/test/src/math/powf_test.cpp
Log Message:
-----------
[libc][math] Fix exact cases for powf. (#91488)
It was reported from the CORE-MATH project that the `powf`
implementation did not round correctly when `x^y` is either exact for
exactly half-way.
This PR deals with the potential exact cases when `y` is an integer `2 <
y < 25`. In such cases, the results of `x^y` is exactly representable in
double precision.
Commit: 023cdfcc1a5bdef7f12bb6da9328f93b477c38b8
https://github.com/llvm/llvm-project/commit/023cdfcc1a5bdef7f12bb6da9328f93b477c38b8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
Update stale comments of the demangler, NFC (#91740)
To reflect what the actual code does.
Commit: b8f4f39d3d43d348e31fc5709b72e1f51392e52d
https://github.com/llvm/llvm-project/commit/b8f4f39d3d43d348e31fc5709b72e1f51392e52d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/__support/threads/linux/callonce.cpp
Log Message:
-----------
[libc] avoid cmpxchg on the fastpath of callonce (#91748)
Avoid `cmpxchg` operation if the function has already been called.
The destination operand of `cmpxchg` may receive a write cycle without
regard to the result of the comparison
Commit: d8f8ac8f5f9c787df94ba1ed99b04795afa40ba7
https://github.com/llvm/llvm-project/commit/d8f8ac8f5f9c787df94ba1ed99b04795afa40ba7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Don't pre-split before the loop in parseNormalizedArchString. (#91684)
We can extract each extension as we process them without much
complexity.
I changed the error message for cases where there are double underscores
or a trailing underscore. I think this is an improvement over the
previous error.
Commit: d358b2de458e0611a3f474a9c3e3deff926c07c4
https://github.com/llvm/llvm-project/commit/d358b2de458e0611a3f474a9c3e3deff926c07c4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
Log Message:
-----------
[clang][NFC] Rename C++ CWG DR test files to use `cwg` prefix
This is a follow-up for ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
Commit: ef71c79d85fb3f94f19a92a84ab44719d112c1bd
https://github.com/llvm/llvm-project/commit/ef71c79d85fb3f94f19a92a84ab44719d112c1bd
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update C++ DR status page
Commit: 099c1527f6088305fc253e9598685faa85544a8e
https://github.com/llvm/llvm-project/commit/099c1527f6088305fc253e9598685faa85544a8e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/AST/ASTConcept.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
[AST] Print the separator "," for template arguments in ConceptReference::print (#91750)
Commit: 9a7262c2601874e5aa64c5db19746770212d4b44
https://github.com/llvm/llvm-project/commit/9a7262c2601874e5aa64c5db19746770212d4b44
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
A lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)
This is the implementation for
https://discourse.llvm.org/t/rfc-delay-definition-die-searching-when-parse-a-declaration-die-for-record-type/78526.
#### Motivation
Currently, lldb eagerly searches for definition DIE when parsing a
declaration DIE for struct/class/union definition DIE. It will search
for all definition DIEs with the same unqualified name (just
`DW_AT_name` ) and then find out those DIEs with same fully qualified
name. Then lldb will try to resolve those DIEs to create the Types from
definition DIEs. It works fine most time. However, when built with
`-gsimple-template-names`, the search graph expands very quickly,
because for the specialized-template classes, they don’t have template
parameter names encoded inside `DW_AT_name`. They have
`DW_TAG_template_type_parameter` to reference the types used as template
parameters. In order to identify if a definition DIE matches a
declaration DIE, lldb needs to resolve all template parameter types
first and those template parameter types might be template classes as
well, and so on… So, the search graph explodes, causing a lot
unnecessary searching/type-resolving to just get the fully qualified
names for a specialized-template class. This causes lldb stack overflow
for us internally on template-heavy libraries.
#### Implementation
Instead of searching for definition DIEs when parsing declaration DIEs,
we always construct the record type from the DIE regardless if it's
definition or declaration. The process of searching for definition DIE
is refactored to `DWARFASTParserClang::FindDefinitionTypeForDIE` which
is invoked when 1) completing the type on
`SymbolFileDWARF::CompleteType`. 2) the record type needs to start its
definition as a containing type so that nested classes can be added into
it in `PrepareContextToReceiveMembers`.
The key difference is `SymbolFileDWARF::ResolveType` return a `Type*`
that might be created from declaration DIE, which means it hasn't starts
its definition yet. We also need to change according in places where we
want the type to start definition, like `PrepareContextToReceiveMembers`
(I'm not aware of any other places, but this should be a simple call to
`SymbolFileDWARF::FindDefinitionDIE`)
#### Result
It fixes the stack overflow of lldb for the internal binary built with
simple template name. When constructing the fully qualified name built
with `-gsimple-template-names`, it gets the name of the type parameter
by resolving the referenced DIE, which might be a declaration (we won't
try to search for the definition DIE to just get the name).
I got rough measurement about the time using the same commands (set
breakpoint, run, expr this, exit). For the binary built without
`-gsimple-template-names`, this change has no impact on time, still
taking 41 seconds to complete. When built with
`-gsimple-template-names`, it also takes about 41 seconds to complete
wit this change.
Commit: 062f6fe324e98b0994e49bc14eb45b20aa0807c4
https://github.com/llvm/llvm-project/commit/062f6fe324e98b0994e49bc14eb45b20aa0807c4
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/MachO.h
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[InstallAPI] Support mutually exclusive parse options (#90686)
Projects like libc use mutually exclusive macros to compile files
multiple times and then merge the result into the final library. For
installapi to accept these, we'd need to parse the same declarations in
different ways. This patch adds the basic pipelining for installapi to
create the correct TBD file.
* -Xproject allows: -fmodules, -fobjc-arc, fvisibility=hidden, prefix
headers
* -Xlabel allows: -D and -U settings
* Error on 'private' and 'public' labels -X<label>
* Xplatform allows: -iframework <path> This is to support the case where
zippered frameworks want to pass in iOSSupport search path.
Commit: 871f4839f988a1ef59ea0371e0f25c8651a899f2
https://github.com/llvm/llvm-project/commit/871f4839f988a1ef59ea0371e0f25c8651a899f2
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Fix a race during shutdown (#91591)
lldb-dap was setting a flag which was meant to shut it down as soon as
it sent a terminated event. The problem with this flag is two-fold:
- as far as I can tell (definitely not an expert here), there's no
justification for this in the protocol spec. The only way I found to
shut the server down was to send it a disconnect request.
- the flag did not actually work most of the time, because it's only
checked between requests so nothing will happen if the server starts
listening for a new request before a different thread manages to send
the terminated event. And since the next request is usually the
disconnect request, everything will operate normally.
The combination of these two things meant that the issue was largely
unnoticable, except for rare flaky test failures, which happened when
the handler thread was too slow, and checked the flag after it has
already been said. This caused the test suite to complain as it did not
get a response to the disconnect request. This situation could be
s(t)imulated by adding a sleep to the and of the main loop, which
delayed the flag check, and caused the DAP tests to fail reliably.
This patch changes the shutdown condition to only trigger when the
disconnect request has been received. Since the flag can now only be set
from the handler thread, it no longer needs to be atomic.
Commit: 3bde7983986d8ce637f6bb506860859249787751
https://github.com/llvm/llvm-project/commit/3bde7983986d8ce637f6bb506860859249787751
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
[lldb] Put SBSourceLanguageName in lldb namespace (#91685)
Commit: 265953cc26b40c4f9a3300baa18c2b7a45074b74
https://github.com/llvm/llvm-project/commit/265953cc26b40c4f9a3300baa18c2b7a45074b74
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[ctx_profile] Arena should zero-initialize its allocation area.
Commit: 7c555cb2349b7f5f3b8336c40f38965aca354472
https://github.com/llvm/llvm-project/commit/7c555cb2349b7f5f3b8336c40f38965aca354472
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf02.cuf
Log Message:
-----------
[flang][cuda] Reapply restriction on kernel subprogram but not device (#91764)
The restriction was completely removed in #89677. This was a bit too
much. Reapply the restriction on elemental, pure and recursive but only
for kernel subprogram (`grid_global` and `global` attributes).
Commit: 842f7b0fe7f70f5f66d925e57bab0123eedcc5d2
https://github.com/llvm/llvm-project/commit/842f7b0fe7f70f5f66d925e57bab0123eedcc5d2
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] make +dit non-FMV-only (#90987)
Required to fix an llvm-test-suite failure:
error: expected writable system register or pstate: "msr DIT, x0"
Commit: 514d80b4feea3c788c1b0821959e96f63c8b8f3d
https://github.com/llvm/llvm-project/commit/514d80b4feea3c788c1b0821959e96f63c8b8f3d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
Log Message:
-----------
[Driver,test] Add -Werror to -ffp-contract/-ffp-model tests
Test that these combinations do not lead to a warning.
-funsafe-math-optimizations -ffp-contract=off
and
-ffast-math -ffp-contract=off
may issue a warning after #91271.
Commit: e513f2c69b13322d0289cbb74c91a84996382baa
https://github.com/llvm/llvm-project/commit/e513f2c69b13322d0289cbb74c91a84996382baa
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
Log Message:
-----------
[mlir][tosa] Cleanups for post-merge review comments in tosa-infer-shapes (#87660)
This change addresses some of the additional review feedback on
https://github.com/llvm/llvm-project/pull/87234.
A summary of the changes:
1. Cleaned up the language to use 'roll back' rather than revert to
reduce the chance of confusion. Improved some function names as well.
2. Eliminated string comparisons on dialect names.
3. Prevented the introduction of redundant tensor.cast operations for
the same value.
---------
Co-authored-by: Spenser Bauman <sabauma at fastmail>
Commit: af0b293b5068e71e34704fa4c997fc3295e673fe
https://github.com/llvm/llvm-project/commit/af0b293b5068e71e34704fa4c997fc3295e673fe
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
[Flang][OpenMP] Derived type member map fortran offload runtime tests (#82850)
This is a large series of runtime tests that help to add coverage for
the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), additional IR tests are added in the
relevant segments of the related PRs to test for breakages like that.
Commit: 05f88b1769db90c10ca66810720b2092f9d73e34
https://github.com/llvm/llvm-project/commit/05f88b1769db90c10ca66810720b2092f9d73e34
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__tuple/make_tuple_types.h
R libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/cwchar
M libcxx/include/module.modulemap
M libcxx/include/tuple
M libcxx/include/type_traits
Log Message:
-----------
[libc++][NFC] Replace __apply_cv with __copy_cv or __copy_cvref (#90867)
`__apply_cv_t` and `__copy_cvref_t` are very closely related. They are
in fact identical except that `__copy_cvref_t` handles rvalue references
properly. Some uses don't actually require handling of references, so
they are replaced with `__copy_cv_t`.
Commit: cfdc2bc72e1747f18516e59bdfa4d7447ce4e0ce
https://github.com/llvm/llvm-project/commit/cfdc2bc72e1747f18516e59bdfa4d7447ce4e0ce
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
R offload/test/offloading/fortran/target-map-derived-type-full-1.f90
R offload/test/offloading/fortran/target-map-derived-type-full-2.f90
R offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
R offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
R offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
R offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
R offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
R offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
R offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
R offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
R offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
R offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
R offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
R offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
R offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
R offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
Revert "[Flang][OpenMP] Derived type member map fortran offload runtime tests" (#91784)
Reverts llvm/llvm-project#82850, applied accidentally without the rest of the PR series.
Commit: 77a59c32105379b289ee3f7b6abbdf483bcb65c1
https://github.com/llvm/llvm-project/commit/77a59c32105379b289ee3f7b6abbdf483bcb65c1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[ctx_profile] Fix signed-ness in CtxInstrProfilingTest.cpp
Follow-up from `265953c`
Commit: 13af97a70e7202507dcca89d2f732e5126d2bbcd
https://github.com/llvm/llvm-project/commit/13af97a70e7202507dcca89d2f732e5126d2bbcd
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
Log Message:
-----------
[mlir][sparse] allow multiple COO segments in sparse encodings. (#91786)
**NOTE**: we still have implementation holes when handling multiple COO
segments in the encoding. But the format should be considered to be
legal.
Commit: d655054395e2dba2b949e170d7764cc8c9c8a597
https://github.com/llvm/llvm-project/commit/d655054395e2dba2b949e170d7764cc8c9c8a597
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
Revert "[DirectX] Fix DXIL part header version encoding" (#91791)
Test failures on big endian bots after this change.
Reverts llvm/llvm-project#91506
Commit: 88da8756a6f54a8ae441750eaa890c2450b94490
https://github.com/llvm/llvm-project/commit/88da8756a6f54a8ae441750eaa890c2450b94490
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
Log Message:
-----------
[AArch64] Combine getActiveLaneMask with vector_extract (#81139)
... into a `whilelo` instruction with a pair of predicate registers.
Commit: 00e3620a0e7ceb8ab1c0cae303e40ad2528fdebe
https://github.com/llvm/llvm-project/commit/00e3620a0e7ceb8ab1c0cae303e40ad2528fdebe
Author: Joyce <joycebrum at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements_formatting.txt
Log Message:
-----------
Generate a new requirements.txt to fix CVEs (#90109)
Hi! Here is a patch for #81859 that fix the vulnerabilities found in
gitpython, cryptography, urllib3 and requests.
I have just regenerated the requirements.txt files running pip-compile
again. Fortunately, this was enough to set all the dependencies on safe
versions.
I have also checked if new vulnerabilities were introduced by running
scorecard on my fork, but none has been introduced.
Thanks!
Signed-off-by: Joyce Brum <joycebrum at google.com>
Commit: d009bd7c69ee338b9f550d65edd5ddaa4e032e00
https://github.com/llvm/llvm-project/commit/d009bd7c69ee338b9f550d65edd5ddaa4e032e00
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 05f88b1769db
Commit: 7fd6cb293975b05406e24aba1cc8e83275cb6bf9
https://github.com/llvm/llvm-project/commit/7fd6cb293975b05406e24aba1cc8e83275cb6bf9
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
[Flang][OpenMP] Derived type member map fortran offload runtime tests
This is a large series of runtime tests that help to add coverage for the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), addiitonal IR tests are added in the
relevant segments of the related PRs to test for breakages like that.
Pull Request: https://github.com/llvm/llvm-project/pull/82850
Commit: 50df0ff515697090983b3cb951c48377bcfb6ddf
https://github.com/llvm/llvm-project/commit/50df0ff515697090983b3cb951c48377bcfb6ddf
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add new arguments to map_info to help support record type maps
This PR adds two new fields to omp.map_info, one BoolAttr and one I64ArrayAttr.
The BoolAttr is named partial_map, and is a flag that indicates if the record type captured by
the map_info operation is a partial map, or if it is mapped in its entirety, this currently helps
the later lowering determine the type of map entries that need to be generated.
The I64ArrayAttr named members_index is intended to track the placement of each member
map_info operations (and by extension mapped member variable) placement in the parent
record type. This may need to be extended to an N-D array for nested member mapping.
Pull Request: https://github.com/llvm/llvm-project/pull/82851
Commit: 462435f089b7ca67ed1eed60f369e16b71e76b74
https://github.com/llvm/llvm-project/commit/462435f089b7ca67ed1eed60f369e16b71e76b74
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
A mlir/test/Target/LLVMIR/omptarget-record-type-mapping-host.mlir
Log Message:
-----------
[OpenMP][MLIR] Extend record member map support for omp dialect to LLVM-IR
This patch seeks to refactor slightly and extend the current record type map
support that was put in place for Fortran's descriptor types to handle explicit
member mapping for record types at a single level of depth (the case of explicit
mapping of nested record types is currently unsupported).
This patch seeks to support this by extending the OpenMPToLLVMIRTranslation phase
to more generally support record types, building on the prior groundwork in the
Fortran allocatables/pointers patch. It now supports different kinds of record type
mapping, in this case full record type mapping and then explicit member mapping
in which there is a special case for certain types when mapped individually to not
require any parent map link in the kernel argument structure. To facilitate this
required:
* The movement of the setting of the map flag type "ptr_and_obj" to respective
frontends, now supporting it as a possible flag that can be read and printed
in mlir form. Some minor changes to declare target map type setting was
neccesary for this.
* The addition of a member index array operand, which tracks the position
of the member in the parent, required for caclulating the appropriate size
to offload to the target, alongside the parents offload pointer (always the
first member currently being mapped).
* A partial mapping attribute operand, to indicate if the entire record type is
being mapped or just member components, aiding the ability to lower
record types in the different manners that are possible.
* Refactoring bounds calculation for record types and general arrays to one
location (as well as load/store generation prior to assigning to the kernel
argument structure), as a side affect enter/exit/update/data mapping
should now be more correct and fully support bounds mapping, previously
this would have only worked for target.
Pull Request: https://github.com/llvm/llvm-project/pull/82852
Commit: 435e850ba97ab567a14b6c84d2b27cadb771cb27
https://github.com/llvm/llvm-project/commit/435e850ba97ab567a14b6c84d2b27cadb771cb27
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
A flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/target.f90
R flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-map-info-finalization.fir
Log Message:
-----------
[Flang][OpenMP][MLIR] Initial derived type member map support
This patch is one in a series of four patches that seeks to refactor
slightly and extend the current record type map support that was
put in place for Fortran's descriptor types to handle explicit
member mapping for record types at a single level of depth.
For example, the below case where two members of a Fortran
derived type are mapped explicitly:
''''
type :: scalar_and_array
real(4) :: real
integer(4) :: array(10)
integer(4) :: int
end type scalar_and_array
type(scalar_and_array) :: scalar_arr
!$omp target map(tofrom: scalar_arr%int, scalar_arr%real)
''''
Current cases of derived type mapping left for future work are:
> explicit member mapping of nested members (e.g. two layers of
record types where we explicitly map a member from the internal
record type)
> Fortran's automagical mapping of all elements and nested elements
of a derived type
> explicit member mapping of a derived type and then constituient members
(redundant in Fortran due to former case but still legal as far as I am aware)
> explicit member mapping of a record type (may be handled reasonably, just
not fully tested in this iteration)
> explicit member mapping for Fortran allocatable types (a variation of nested
record types)
This patch seeks to support this by extending the Flang-new OpenMP lowering to
support generation of this newly required information, creating the neccessary
parent <-to-> member map_info links, calculating the member indices and
setting if it's a partial map.
The OMPDescriptorMapInfoGen pass has also been generalized into a map
finalization phase, now named OMPMapInfoFinalization. This pass was extended
to support the insertion of member maps into the BlockArg and MapOperands of
relevant map carrying operations. Similar to the method in which descriptor types
are expanded and constituient members inserted.
Pull Request: https://github.com/llvm/llvm-project/pull/82853
Commit: 7237bef5da57e8d67db25df7c22379e81e5903a7
https://github.com/llvm/llvm-project/commit/7237bef5da57e8d67db25df7c22379e81e5903a7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use map::count instead of hasExtension in computeDefaultABI. NFC
hasExtension checks if the extension name is a known extension name.
That should always be true for the extensions listed here so we can
skip that check.
Commit: d8e73752a5f4f79ef4293d8f446c03062010233d
https://github.com/llvm/llvm-project/commit/d8e73752a5f4f79ef4293d8f446c03062010233d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
Reland "[libc][NFC] adjust time related implementations"" (#91687)
Reverts llvm/llvm-project#91657 and Relands #91485
Commit: d2d08ea93b5a5958f46ed03e65ce1808e9fbbd0e
https://github.com/llvm/llvm-project/commit/d2d08ea93b5a5958f46ed03e65ce1808e9fbbd0e
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
Log Message:
-----------
[Offload] Fix new fortran OpenMP offload test failures via addition of requires
Commit: 91feb130d5cd3cafce94bbaf7ad67d1542623a75
https://github.com/llvm/llvm-project/commit/91feb130d5cd3cafce94bbaf7ad67d1542623a75
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
A llvm/test/CodeGen/AArch64/sve-llrint.ll
A llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
ISel/AArch64: custom lower vector ISD::[L]LRINT (#89035)
Since 98c90a1 (ISel: introduce vector ISD::LRINT, ISD::LLRINT; custom
RISCV lowering), ISD::LRINT and ISD::LLRINT now have vector variants,
that are custom lowered on RISCV, and scalarized on all other targets.
Since 2302e4c (Reland "VectorUtils: mark xrint as trivially
vectorizable"), lrint and llrint are trivially vectorizable, so all the
vectorizers in-tree will produce vector variants when possible. Add a
custom lowering for AArch64 to custom-lower the vector variants natively
using a combination of frintx, fcvte, and fcvtzs.
Commit: e3ca558ffb1441cb16da7aba021e12c6f110000f
https://github.com/llvm/llvm-project/commit/e3ca558ffb1441cb16da7aba021e12c6f110000f
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
Log Message:
-----------
[Flang] Remove deprecated cast style that snuck in during landing of 435e850ba97ab567a14b6c84d2b27cadb771cb27
Commit: a427aa9346295fe7dd3be5955214d28c8be2ad4a
https://github.com/llvm/llvm-project/commit/a427aa9346295fe7dd3be5955214d28c8be2ad4a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/branching-directive.f90
Log Message:
-----------
[flang][Lower] Treat directives with nested evaluations as constructs (#91614)
When generating block terminators in `genFIR(Evaluation)`, treat
`Directives` with nested evaluations the same way as `Constructs` to
determine the successor block.
This fixes https://github.com/llvm/llvm-project/issues/91526
Commit: 6b9bca8faaa759c56fdd6e8697f9be38d201bd71
https://github.com/llvm/llvm-project/commit/6b9bca8faaa759c56fdd6e8697f9be38d201bd71
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/sctc-bug4.test
Log Message:
-----------
[BOLT] Preserve Offset annotation in SCTC (#91693)
Offset annotation is used in writing BAT tables.
Test Plan: updated sctc-bug4.test
Commit: e9f53e4095d8a8600b5c5d445c73e2d5a6f45abb
https://github.com/llvm/llvm-project/commit/e9f53e4095d8a8600b5c5d445c73e2d5a6f45abb
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
Log Message:
-----------
[test] Move RISCV tests to clang/test/CodeGen/RISCV/
The directory was created by 2f1fe9a3a60d6f18998c5f3b7e643d4cbaa4e65d
(2020).
Pull Request: https://github.com/llvm/llvm-project/pull/91783
Commit: a7eff59f78f08f8ef0487dfe2a136fb311af4fd0
https://github.com/llvm/llvm-project/commit/a7eff59f78f08f8ef0487dfe2a136fb311af4fd0
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARF] Do not complete type from declaration die. (#91799)
Fix the problem:
https://github.com/llvm/llvm-project/pull/90663#issuecomment-2105164917
by enhancing a double-check for #90663
Commit: f32f6d199ac36e0c45433a648691f5165893deec
https://github.com/llvm/llvm-project/commit/f32f6d199ac36e0c45433a648691f5165893deec
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/__cuda_device_builtins.f90
A flang/module/cudadevice.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#91668)
Some functions and subroutines are available in device context
(device/global). These functions have interfaces declared in the
`cudadevice` module.
This patch adds interfaces as `__cuda_device_builtins_<fctname>` in a
builtin module and they are USE'd rename in the `cudadevice` module. The
module is implicitly used in device/global subprograms.
The builtin module only contains procedures from section 3.6.4 for now.
Commit: 666c686d5917be3f6260036ae536d9b44855ac34
https://github.com/llvm/llvm-project/commit/666c686d5917be3f6260036ae536d9b44855ac34
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Codesign debugserver on macOS (#91789)
This tool doesn't work unless it's signed with the entitlements used
here. We should probably consider using the
macos_command_line_application rule from rules_apple which manages this
more flexibly for us, but for now this works. This uses apple_genrule as
opposed to genrule since the former encodes the Xcode environment info
into the action so it is correctly invalidated if that changes.
Commit: aa0776de464984e78ae1cc329bf541e9dd43631f
https://github.com/llvm/llvm-project/commit/aa0776de464984e78ae1cc329bf541e9dd43631f
Author: Reid Kleckner <rnk at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Revert "[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)" and related patches
This change is incorrect when thinlto and asan are enabled, and this can
be observed by adding `-fsanitize=address` to the provided
coro-elide-thinlto.cpp test. It results in the error "Coroutines cannot
handle non static allocas yet", and ASan introduces a dynamic alloca.
In other words, we must preserve the invariant that CoroSplit runs
before ASan. If we move CoroSplit to the post post-link compile stage,
ASan has to be moved to the post-link compile stage first. It would
also be correct to make CoroSplit handle dynamic allocas so the pass
ordering doesn't matter, but sanitizer instrumentation really ought to
be last, after coroutine splitting.
This reverts commit bafc5f42c0132171287d7cba7f5c14459be1f7b7.
This reverts commit b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec.
This reverts commit 0232b77e145577ab78e3ed1fdbb7eacc5a7381ab.
This reverts commit fb2d3056618e3d03ba9a695627c7b002458e59f0.
This reverts commit 1cb33713910501c6352d0eb2a15b7a15e6e18695.
This reverts commit cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe.
Commit: 2d5634a4b39d8e5497b6a67caa54049b3cfade8e
https://github.com/llvm/llvm-project/commit/2d5634a4b39d8e5497b6a67caa54049b3cfade8e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
Log Message:
-----------
[clang] Revert default behavior change of P0522R0 implementation (#91811)
This partially reverts b86e0992bfa6c58be077d82d824016f590ac5d90.
Just the default is changed back, on the Driver side.
No Frontend changes.
The positive spelling of the flag is undeprecated.
No documentation changes or changelog entries because we plan to revert
this revert as soon as https://github.com/llvm/llvm-project/issues/62529
is fixed.
Commit: 5d18d575d8d304e4336483d8be7394d0f4694cb1
https://github.com/llvm/llvm-project/commit/5d18d575d8d304e4336483d8be7394d0f4694cb1
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU] Make fneg/fabs/copysign legal for bf16 (#91676)
These are just bit operations, exactly the same as with f16.
Commit: fb3f4b013c3acab0ea3cb14c4d29f4e6d9caa33c
https://github.com/llvm/llvm-project/commit/fb3f4b013c3acab0ea3cb14c4d29f4e6d9caa33c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/nvptx/utils.h
Log Message:
-----------
[libc] Add memory fence utility to the GPU utilities (#91756)
Summary:
GPUs like to execute instructions in the background until something
excplitely consumes them. We are working on adding some
microbenchmarking code, which requires flushing the pending memory
operations beforehand. This patch simply adds these utility functions
that will be used in the near future.
Commit: 7e6879b245f7feaf00367874cbef7db973455553
https://github.com/llvm/llvm-project/commit/7e6879b245f7feaf00367874cbef7db973455553
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[X86] scalarizeExtractedBinop - reuse existing SDLoc. NFC.
Commit: 7f3e3785d0be00c727e3d2938b6348748499de99
https://github.com/llvm/llvm-project/commit/7f3e3785d0be00c727e3d2938b6348748499de99
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: cb037d071c43baab7e8ef3b818a21858905560c0
https://github.com/llvm/llvm-project/commit/cb037d071c43baab7e8ef3b818a21858905560c0
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Combine build_vector patterns for i16 and f16. NFCI. (#91806)
Commit: 3dcd604eb1d6612fda667793dbb52c5dfaa5fc4f
https://github.com/llvm/llvm-project/commit/3dcd604eb1d6612fda667793dbb52c5dfaa5fc4f
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
[AMDGPU] Initialize MachineFunctionInfo for unittest (#91820)
Initializes the MachineFunctionInfo for unittest introduced in #88257
Additionally, also rephrases the test condition considering the abort/exit does not occur within emitKernel but is generally triggered through the Ctx.hadError() call.
Commit: 30aa49cbc2ece32bebcb06cc9e64f1daeb1dbbcb
https://github.com/llvm/llvm-project/commit/30aa49cbc2ece32bebcb06cc9e64f1daeb1dbbcb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Remove the pre-split from RISCVISAInfo::parseArchString. NFCI
We can extract each extension as we process them without much
complexity.
Commit: d9ce33a0eea701719651dafbf88deae0ece96976
https://github.com/llvm/llvm-project/commit/d9ce33a0eea701719651dafbf88deae0ece96976
Author: Thurston Dang <thurston at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
Log Message:
-----------
[libfuzzer] Prevent MSan false positive when printing log with -jobs (#91679)
libfuzzer's -jobs option will, depending on the number of CPUs, spin up
a
WorkerThread and end up printing the log file using CopyFileToErr.
This leads to an MSan false positive. This patch disables the MSan
interceptor checks,
similarly to other instances in https://reviews.llvm.org/D48891
Side-note: this false positive issue first appeared when printf()
was replaced by puts() (90b4d1bcb20180c591385131b12fa90d2e4860b1).
The interceptor check was always present; however, MSan does not
check_printf by default.
Commit: 4198aebc96cb0236fc63e29a92d886e6a2e3fedb
https://github.com/llvm/llvm-project/commit/4198aebc96cb0236fc63e29a92d886e6a2e3fedb
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/Driver/rewrite-legacy-objc.m
M clang/test/Driver/rewrite-objc.m
Log Message:
-----------
[Clang] Fix tests broken by #91811 (#91822)
A few tests were checking for all driver flags.
We should revert this commit when we revert #91811
Commit: f8063ffe73a3a1d704b9738169bb76ebb0f8a5e0
https://github.com/llvm/llvm-project/commit/f8063ffe73a3a1d704b9738169bb76ebb0f8a5e0
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/Generic/expand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/undef-vp-ops.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/Verifier/vp-intrinsics.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Add vp.reduce.fmaximum/fminimum and its RISC-V codegen (#91782)
`vp.reduce.fmaximum/fminimum` are the VP version of
`vector.reduce.fmaximum/fminimum`.
Commit: 504cf554639360525c3f746e7296a242350b2af9
https://github.com/llvm/llvm-project/commit/504cf554639360525c3f746e7296a242350b2af9
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/InstallAPI/project-header-only-args.test
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Pass explicit module cache to avoid permissions issues.
Fixes: https://lab.llvm.org/buildbot/#/builders/192/builds/9313
Commit: 38b275598391dd6bd2d034e6b815c3febde0b1fe
https://github.com/llvm/llvm-project/commit/38b275598391dd6bd2d034e6b815c3febde0b1fe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
R flang/module/__cuda_device_builtins.f90
R flang/module/cudadevice.f90
R flang/test/Semantics/cuf-device-procedures01.cuf
R flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
Revert "[flang][cuda] Implicitly load cudadevice module in device/global subprogram" (#91827)
Reverts llvm/llvm-project#91668
Commit: 11cb3c300d8e8f05dddbc1a4f8ab1c86e864544a
https://github.com/llvm/llvm-project/commit/11cb3c300d8e8f05dddbc1a4f8ab1c86e864544a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR][PatternMatch] Make `m_Checked{Int,Fp}` accept `Constant *` output instead of `APInt *`
The `APInt *` version is pretty useless as any case one needs an
`APInt *` out, they could just replace whatever they have the
`m_Checked...` lambda with direct checks on the `APInt`.
Leaving other helpers such as `m_Negative`, `m_Power2`,
etc... unchanged as the `APInt` out version is used mostly for
convenience and rarely change functionality when converted output a
`Constant *`.
Closes #91377
Commit: df88d610ab10c1e3f22d7f5daf3794158972c584
https://github.com/llvm/llvm-project/commit/df88d610ab10c1e3f22d7f5daf3794158972c584
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
Log Message:
-----------
[Driver] Remove unused getInstalledDir
The uses have been removed by commit 2b5cd8be3af43e5aa5b76b6aeb1edd3141b803ca
Commit: e62ce1f8842cca36eb14126d79dcca0a85bf6d36
https://github.com/llvm/llvm-project/commit/e62ce1f8842cca36eb14126d79dcca0a85bf6d36
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)
Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.
Commit: 65c9b8460b1aa309d012a5fe031524dbb813d64e
https://github.com/llvm/llvm-project/commit/65c9b8460b1aa309d012a5fe031524dbb813d64e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
Log Message:
-----------
[Driver] Remove elf::script indirection. NFC
There are 100+ references.
Use a wrapper similar to a623a4c8b4d5cc933ebc1856ce30aac935f62b18
Commit: 3676b0945c800e3105f648d178b331953246716a
https://github.com/llvm/llvm-project/commit/3676b0945c800e3105f648d178b331953246716a
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
Log Message:
-----------
[clang-tidy] `readability-simplify-boolean-expr` avoid to warn expression expand from macro when ``IgnoreMacro`` option is enabled. (#91757)
Fixes: #91487
Commit: bbcdd4f4b2f77b461e9cfd259b4c73d985c2dd9d
https://github.com/llvm/llvm-project/commit/bbcdd4f4b2f77b461e9cfd259b4c73d985c2dd9d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT] Use disambiguated local names in BAT YAML
Align BAT YAML to fdata profile.
Test Plan: updated register-fragments-bolt-symbols.s
Reviewers: dcci, rafaelauler, ayermolo, maksfb
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/91773
Commit: 4f127667ca57875f0984f81d5790479b902022e0
https://github.com/llvm/llvm-project/commit/4f127667ca57875f0984f81d5790479b902022e0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Set entry counts in BAT YAML profile (#91775)
Align with DataReader::readProfile that sets entry block counts from
FuncBranchData->EntryData.
Test Plan: updated bolt-address-translation-yaml.test
Commit: 5cd280433e8e063bf3c2390eaf152e726db5b0fb
https://github.com/llvm/llvm-project/commit/5cd280433e8e063bf3c2390eaf152e726db5b0fb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Move QualifierFixerTest::LangOpts to IsQualifierType test
This should fix buildbot failures in:
https://lab.llvm.org/buildbot/#/builders/5/builds/43303
https://lab.llvm.org/buildbot/#/builders/168/builds/20347
Commit: 1351aabf542b25e3ff1d36f4f2abe6727d0f19aa
https://github.com/llvm/llvm-project/commit/1351aabf542b25e3ff1d36f4f2abe6727d0f19aa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/CXX/drs/cwg18xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG1820 "Qualified typedef names" (#91765)
[P1787R6](https://wg21.link/p1787r6):
> [CWG1820](https://cplusplus.github.io/CWG/issues/1820.html) is
resolved by requiring that a qualified declarator-id declare an entity.
P1787R6 changes wording of [dcl.pre]/9. Quote from the current draft
([[dcl.pre]/5](https://eel.is/c++draft/dcl.pre#5)):
> If a
[declarator-id](https://eel.is/c++draft/dcl.decl.general#nt:declarator-id)
is a name, the
[init-declarator](https://eel.is/c++draft/dcl.decl.general#nt:init-declarator)
and (hence) the declaration introduce that
name[.](https://eel.is/c++draft/dcl.pre#5.sentence-1)
> [Note [3](https://eel.is/c++draft/dcl.pre#note-3): Otherwise, the
[declarator-id](https://eel.is/c++draft/dcl.decl.general#nt:declarator-id)
is a
[qualified-id](https://eel.is/c++draft/expr.prim.id.qual#nt:qualified-id)
or names a destructor or its
[unqualified-id](https://eel.is/c++draft/expr.prim.id.unqual#nt:unqualified-id)
is a [template-id](https://eel.is/c++draft/temp.names#nt:template-id)
and no name is
introduced[.](https://eel.is/c++draft/dcl.pre#5.sentence-2)
— end note]
Commit: 52c5a81001663d4ca8fca5e7b1634a6a5b0bd021
https://github.com/llvm/llvm-project/commit/52c5a81001663d4ca8fca5e7b1634a6a5b0bd021
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
[AMDGPU] Fix unittest linking error with `LLVM_LINK_LLVM_DYLIB` (#91727)
Follow-up to https://github.com/llvm/llvm-project/pull/88257
Commit: 575177f610274e909a17450c29d2e997f7a7f13d
https://github.com/llvm/llvm-project/commit/575177f610274e909a17450c29d2e997f7a7f13d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Add sub-feature nf (no flags update) for APX
This is a follow-up patch for #74199
Commit: 31774b6a8a88b435ce79f9ba048ef8bb00e2817e
https://github.com/llvm/llvm-project/commit/31774b6a8a88b435ce79f9ba048ef8bb00e2817e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Treat bitwise_cast, std::addressof, and new as trivial in WebKit checkers. (#91830)
Commit: 9d66dcaf172cdaa78a6709df989bcaaf90d2ccee
https://github.com/llvm/llvm-project/commit/9d66dcaf172cdaa78a6709df989bcaaf90d2ccee
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
Log Message:
-----------
[mlir][tosa] Work around GCC bug in tosa-to-tensor (#91521)
GCC 12 and 13 generate incorrect code for a pattern in the
tosa-to-tensor pass responsible for lowering tosa.reshape. This results
in the tosa.reshape lowering producing IR which fails to verify. I've
narrowed down the set of cmake flags needed to reproduce the issue to
this:
cmake -G Ninja ../llvm \
-DLLVM_ENABLE_PROJECTS="mlir" \
-DLLVM_TARGETS_TO_BUILD=host \
-DLLVM_ENABLE_PROJECTS=mlir \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_CXX_FLAGS_RELEASE="-O2" \
-DCMAKE_CXX_FLAGS="-O2" \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_C_COMPILER=gcc
This is the failing test case:
func.func @fails_in_gcc_12(%arg0: tensor<?xf32>) -> tensor<1x1x1x?xf32>
{
%0 = tosa.reshape %arg0 {new_shape = array<i64: 1, 1, 1, -1>} :
(tensor<?xf32>) -> tensor<1x1x1x?xf32>
return %0 : tensor<1x1x1x?xf32>
}
This should lower to a tensor.expand_shape operation like so:
func.func @foo(%arg0: tensor<?xf32>) -> tensor<1x1x1x?xf32> {
%c0 = arith.constant 0 : index
%dim = tensor.dim %arg0, %c0 : tensor<?xf32>
%c1 = arith.constant 1 : index
%expanded = tensor.expand_shape %arg0 [[0, 1, 2, 3]] output_shape [1, 1,
1, %dim] : tensor<?xf32> into tensor<1x1x1x?xf32>
return %expanded : tensor<1x1x1x?xf32>
}
Under GCC 12/13 with the above cmake configuration, the
tensor.expand_shape looks like this
%2 = "tensor.expand_shape"(%arg0) <{reassociation = [[0, 1, 2, 3]],
static_output_shape = array<i64>}> : (tensor<?xf32>) ->
tensor<?x1x1x?xf32>
The key difference is the computed output type of `tensor<?x1x1x?xf32>`
rather than the expected `tensor<1x1x1x?xf32>`. This expand_shape fails
to verify with this error message:
error: 'tensor.expand_shape' op expected number of static shape dims to
be equal to the output rank (4) but found 0 inputs instead
The problematic code is calculating the intermediate shape of the
generated tensor.expand_shape operation in the
expand_shape/collapse_shape sequence that implements tosa.reshape.
// Compute result shape
bool resultIsStatic = true;
auto resultShape = llvm::map_to_vector(newShape, [&](int64_t size) {
// Omitted
// If we do not know the total size of the tensor, keep this dimension
// dynamic in the result shape.
if (!inputIsStatic) {
resultIsStatic = false;
return ShapedType::kDynamic;
}
});
if (resultIsStatic) {
// do something
return;
}
// do something else
return;
The failure point seems to be the update of the resultIsStatic variable
in the lambda body. The assignment of false is not propagated to the use
in the if-statement, resulting in the branch being taken when it should
not.
I've found several modification to the code that gets around the bug.
The version I settled on is one which makes the logic a little more
obvious.
Commit: 079fdef7d26d2004b5bfd467fddadf1906bc814b
https://github.com/llvm/llvm-project/commit/079fdef7d26d2004b5bfd467fddadf1906bc814b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
Log Message:
-----------
[TTI] getCommonMaskedMemoryOpCost - use the target getMemoryOpCost/getCFInstrCost implementations.
We were using the default implementations instead of the CRTP versions.
Commit: 23fe1fc6b78b7643a801ce3eb53d14b47b1dd0ff
https://github.com/llvm/llvm-project/commit/23fe1fc6b78b7643a801ce3eb53d14b47b1dd0ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-gather-i32-with-i8-index.ll
M llvm/test/Analysis/CostModel/X86/masked-gather-i64-with-i8-index.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
Log Message:
-----------
[TTI][X86] getGSScalarCost - don't bother with adding cost of ICMP for each i1 mask element
These can nearly always be folded into the existing cost of the branch, and brings the throughput costs of the scalarised gather/scatter code much closer to the llvm-mca/uica estimates
Commit: 3773191fc4e088fb06592e0404296f6051b1d4f7
https://github.com/llvm/llvm-project/commit/3773191fc4e088fb06592e0404296f6051b1d4f7
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/guard-split-debuginfo.ll
A llvm/test/Transforms/JumpThreading/preserving-debugloc-bitcast.ll
A llvm/test/Transforms/JumpThreading/preserving-debugloc-fold-select.ll
Log Message:
-----------
[DebugInfo][JumpThreading] Fix missing debug location updates (#91581)
Commit: cdd782183dc6a074baa1dbc92b37f1f4dbb4725f
https://github.com/llvm/llvm-project/commit/cdd782183dc6a074baa1dbc92b37f1f4dbb4725f
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
A llvm/test/Transforms/LICM/debugloc-preserve-fmul-drop-fdiv.ll
Log Message:
-----------
[DebugInfo][LICM] Fix missing debug location updates (#91729)
Commit: 1337622a492f4e77604b09ac8ff97042e46d8d42
https://github.com/llvm/llvm-project/commit/1337622a492f4e77604b09ac8ff97042e46d8d42
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
A mlir/include/mlir-c/Dialect/IRDL.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/IRDL.cpp
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/irdl.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[MLIR] Add IRDL dialect loading to C API (#91852)
Being able to add custom dialects is one of the big missing pieces of
the C API. This change should make it achievable via IRDL. Hopefully
this should open custom dialect definition to non-C++ users of MLIR.
Commit: 379b77773cf653352f30f8c7cca393f4df9389be
https://github.com/llvm/llvm-project/commit/379b77773cf653352f30f8c7cca393f4df9389be
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
M clang/unittests/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp] Use pointee metadata size in isRoot()
Previously, isRoot() would return true for pointers with a base
of sizeof(InlineDescriptor), even if the actual metadata size of the
pointee was 0.
Commit: deffae5da123b32098914d8346bf4358a6792bdc
https://github.com/llvm/llvm-project/commit/deffae5da123b32098914d8346bf4358a6792bdc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/SourceManager.h
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/unittests/CodeGen/IRMatchers.h
Log Message:
-----------
[clang] Use StringRef::operator== instead of StringRef::equals (NFC) (#91844)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
24 under clang/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: baffaf000fd4667f33b3756d0d3b645b1d926b44
https://github.com/llvm/llvm-project/commit/baffaf000fd4667f33b3756d0d3b645b1d926b44
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M lldb/test/API/macosx/rosetta/TestRosetta.py
M lldb/test/API/macosx/universal64/TestUniversal64.py
Log Message:
-----------
[lldb] Add required skipIfLLVMTargetMissing for X86 (NFC)
Commit: 2b386888b78327db4906b12401e1a89438471548
https://github.com/llvm/llvm-project/commit/2b386888b78327db4906b12401e1a89438471548
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/ctad.cpp
Log Message:
-----------
Reland: [clang] Use getDefaultArgRange instead of getDefaultArg to retrieve
source location in `ConvertConstructorToDeductionGuideTransform`.
The commit fec471649fffaa3ec44e17801e5c9605825e58bb was reverted by accident in 7415524b45392651969374c067041daa82dc89e7.
Reland it with a testcase.
Commit: 05cc2d5fe10ca3e7786863d9c600e1a3f8db93eb
https://github.com/llvm/llvm-project/commit/05cc2d5fe10ca3e7786863d9c600e1a3f8db93eb
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
A libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__type_traits/is_equality_comparable.h
M libcxx/include/module.modulemap
A libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
Log Message:
-----------
[libc++] Vectorize std::mismatch with trivially equality comparable types (#87716)
Commit: 91c917b19f076b510635a6168305f6f0117e7fad
https://github.com/llvm/llvm-project/commit/91c917b19f076b510635a6168305f6f0117e7fad
Author: Ivan Murashko <ivan.murashko at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/Modules/implicit-module-no-timestamp.cpp
Log Message:
-----------
[Modules] Enable MS Windows test for implicit-module-no-timestamp.cpp (#91738)
There is a follow-up commit for #90319. The Windows test was disabled in
that commit, but it should pass on this operating system. Therefore, it
would be beneficial to have it enabled for MS Windows.
Commit: 0869204cff22831d0bb19a82c99bf85e4deb4ae3
https://github.com/llvm/llvm-project/commit/0869204cff22831d0bb19a82c99bf85e4deb4ae3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix buildbot failures
This effectively reverts 5cd280433e8e and changes to QualifierFixerTest.cpp
from e62ce1f8842c.
Failed buidbots:
https://lab.llvm.org/buildbot/#/builders/236/builds/11223
https://lab.llvm.org/buildbot/#/builders/239/builds/6968
Commit: f42117c8517cc928c6373bad35ebf75d94fe865b
https://github.com/llvm/llvm-project/commit/f42117c8517cc928c6373bad35ebf75d94fe865b
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Replace bitfield version in ProgramHeader. (#91797)
Avoid using bitfield in dxbc::ProgramHeader.
It could potentially be read incorrectly on any host depending on the
compiler.
>From [C++17's
[class.bit]](https://timsong-cpp.github.io/cppwp/n4659/class.bit#1)
> Bit-fields are packed into some addressable allocation unit. [ Note:
Bit-fields straddle allocation units on some machines and not on others.
Bit-fields are assigned right-to-left on some machines, left-to-right on
others. — end note ]
For #91793
Commit: e586556e375fc5c4f7e76b5c299cb981f2016108
https://github.com/llvm/llvm-project/commit/e586556e375fc5c4f7e76b5c299cb981f2016108
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86][CodeGen] Add NDD entries for transform TEST+AND -> TEST
Commit: 63224d717108d927e998da8a67050a6cc5dd74a2
https://github.com/llvm/llvm-project/commit/63224d717108d927e998da8a67050a6cc5dd74a2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
Reapply "Reapply "[clang][Interp] Create full type info for dummy pointers""
This reverts commit fb1c2dbc0a6ba641e0b39e0692ec6a4ee4444c4b.
Commit: c8864bceeb20582b4e7a739d8ba3e11052f0e49f
https://github.com/llvm/llvm-project/commit/c8864bceeb20582b4e7a739d8ba3e11052f0e49f
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M bolt/test/runtime/bolt-reserved.cpp
Log Message:
-----------
[BOLT] Fix race condition in a test (#91866)
Fix race condition in internal NFC test.
Commit: 1d6bf0ca29322b08e8b50681d440e7182441b025
https://github.com/llvm/llvm-project/commit/1d6bf0ca29322b08e8b50681d440e7182441b025
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
Log Message:
-----------
[clang][NFC] Remove class layout scissor (#89055)
PR #87090 amended `accumulateBitfields` to do the correct clipping. The scissor is no longer necessary and `checkBitfieldClipping` can compute its location directly when needed.
Commit: a477004d822d02290f9d388aa22a42490fd8180d
https://github.com/llvm/llvm-project/commit/a477004d822d02290f9d388aa22a42490fd8180d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[CostModel][X86] Remove getGSScalarCost and use getCommonMaskedMemoryOpCost directly
The generic getCommonMaskedMemoryOpCost now gives the same cost estimates for scalarized gather/scatter.
Commit: 502e77df1fc4aa859db6709e14e93af6207e4dc4
https://github.com/llvm/llvm-project/commit/502e77df1fc4aa859db6709e14e93af6207e4dc4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CostModel][X86] getGSVectorCost - remove FIXME
getGSVectorCost has supported other TargetCostKind since a55127281b2ed5f24f848b9e5c70870ad170bc3f
Commit: 78b3a00418ce6da0426a261a64a77608d0264fe5
https://github.com/llvm/llvm-project/commit/78b3a00418ce6da0426a261a64a77608d0264fe5
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir] `int-range-optmizations`: Fix referencing of deleted ops (#91807)
The pass runs a `DataFlowSolver` and collects state information on the
input IR. Then, the rewrite driver and folding is applied. During
pattern application and folding it can happen that an Op from the input
IR is deleted and a new Op is created at the same address. When the
newly created Ops is looked up in the `DataFlowSolver` state memory, the
state of the original Op is returned.
This patch adds a method to `DataFlowSolver` which removes all state
related to a `ProgramPoint`. It also adds a listener to the Pass which
clears the state information of deleted Ops from the `DataFlowSolver`.
Fix https://github.com/llvm/llvm-project/issues/81228
Commit: 17daa204feadf9c28fc13b7daa69c3cbe865b238
https://github.com/llvm/llvm-project/commit/17daa204feadf9c28fc13b7daa69c3cbe865b238
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)
This PR complete [DR1815](https://wg21.link/CWG1815) under the guidance
of `FIXME` comments. And reuse `CXXDefaultInitExpr` rewrite machinery to
clone the initializer expression on each use that would lifetime extend
its temporaries.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: b7ed097f29d712b1cc839e15ab68d2c8a2ce07cc
https://github.com/llvm/llvm-project/commit/b7ed097f29d712b1cc839e15ab68d2c8a2ce07cc
Author: David Green <david.green at arm.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add intrinsics handling to shuffleToIdentity (#91000)
This is probably the most involved addition, as it tries to make use of
isTriviallyVectorizable with isVectorIntrinsicWithScalarOpAtArg to handle a
number of different intrinsics that are all lane-wise. Additional tests have
been added for some of the different intrinsics from
isVectorIntrinsicWithScalarOpAtArg / isVectorIntrinsicWithOverloadTypeAtArg.
Commit: b5af667b01458e9083256f2614df175916c73e5a
https://github.com/llvm/llvm-project/commit/b5af667b01458e9083256f2614df175916c73e5a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Map branch source address to the containing basic block in BAT YAML
Fix an issue where the profile for all branches that have a BRANCHENTRY
is dropped. If the branch has an entry in BAT, it will be translated to
its input offset. We used to only permit the basic block offset as a
branch source. Perform a lookup of containing basic block instead.
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: maksfb, dcci, rafaelauler, ayermolo
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/91273
Commit: 5bde8017a1109128d011510dcf4ba79140a224fe
https://github.com/llvm/llvm-project/commit/5bde8017a1109128d011510dcf4ba79140a224fe
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/vectorcall.c
Log Message:
-----------
[X86][vectorcall] Pass built types byval when xmm0~6 exhausted (#91846)
This is how MSVC handles it. https://godbolt.org/z/fG386bjnf
Commit: 626025ac7796b70cde9fc0fd4f688c3441949d04
https://github.com/llvm/llvm-project/commit/626025ac7796b70cde9fc0fd4f688c3441949d04
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Revert "[clang-format] Fix buildbot failures"
This reverts commit 0869204cff22831d0bb19a82c99bf85e4deb4ae3, which caused a
buildbot failure:
https://lab.llvm.org/buildbot/#/builders/5/builds/43322
Commit: ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97
https://github.com/llvm/llvm-project/commit/ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
[RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)
This patch made following changes:
1. Support ISD FDIV/UDIV/SDIV/UREM/SREM
2. Classify instructions which cost the same
Commit: de641e289269061f8bdb138bb5c50e27ef4b354f
https://github.com/llvm/llvm-project/commit/de641e289269061f8bdb138bb5c50e27ef4b354f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix buildbot failures
Fix the following buildbot failures by making LangOpts in the unit test
static:
https://lab.llvm.org/buildbot/#/builders/236/builds/11223
https://lab.llvm.org/buildbot/#/builders/239/builds/6968
Commit: abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
https://github.com/llvm/llvm-project/commit/abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/test/Transforms/GVNSink/int_sideeffect.ll
Log Message:
-----------
[GVNSink] Fix non-determinisms by using a deterministic ordering (#90995)
GVNSink used to order instructions based on their pointer values and was
prone to non-determinism because of that.
This patch ensures all the values stored are using a deterministic
order. I have also added a verfier(`ModelledPHI::verifyModelledPHI`) to
assert when ordering isn't preserved.
Additionally, I have added a test case (mirror graph image of an
existing test) that would have failed before this patch.
Fixes: #77852
Commit: d67c3a4b1f465da681b829fda54619ff0b5bd1b5
https://github.com/llvm/llvm-project/commit/d67c3a4b1f465da681b829fda54619ff0b5bd1b5
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
Revert "[RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)"
This reverts commit ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97.
Commit: 22213d58832e8fce344a7222ed705e4c7f4eb6b1
https://github.com/llvm/llvm-project/commit/22213d58832e8fce344a7222ed705e4c7f4eb6b1
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
Recommit [RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)
Insert a break to fix the implicit-fallthrough caught by sanitizer.
Original commit message:
This patch made following changes:
1. Support ISD FDIV/UDIV/SDIV/UREM/SREM
2. Classify instructions which cost the same
Commit: b1f04d57f5818914d7db506985e2932f217844bd
https://github.com/llvm/llvm-project/commit/b1f04d57f5818914d7db506985e2932f217844bd
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M lld/test/ELF/aarch64-thunk-reuse2.s
M lld/test/ELF/linkerscript/orphan-phdrs2.test
M lld/test/ELF/mips-got-page-script.s
M lld/test/ELF/ttext-tdata-tbss.s
Log Message:
-----------
[ELF,test] Fix typo in check prefixes
Commit: cb4fca929bd10a5c160a0f9bd58f2d7499669a89
https://github.com/llvm/llvm-project/commit/cb4fca929bd10a5c160a0f9bd58f2d7499669a89
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
Log Message:
-----------
[AMDGPU] Extend llvm.amdgcn.update.dpp intrinsic to support f64 (#91190)
Follow up patch to https://github.com/llvm/llvm-project/pull/89217,
before we make changes to atomic optimizer.
Commit: 2163ae761808ca0e5478357384f6ddbacce279eb
https://github.com/llvm/llvm-project/commit/2163ae761808ca0e5478357384f6ddbacce279eb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVStringPool.h
Log Message:
-----------
[LVStringPool] Remove incorrect std::move (NFCI)
"Value" is still used afterwards in the return value. In this case,
this doesn't actually make a difference because a move for a
primitive type is the same as a copy, so there is no actual
misbehavior. Still drop the std::move to make the code less
confusing.
Commit: eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
https://github.com/llvm/llvm-project/commit/eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
A mlir/test/Transforms/mem2reg.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.h
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][Mem2Reg] Fix multi slot handling & move retry handling (#91464)
This commit fixes Mem2Regs mutli-slot allocator handling and extends the
test dialect to test this.
Additionally, this modifies Mem2Reg's API to always attempt a full
promotion on all the passed in "allocators". This ensures that the pass
does not require unnecessary walks over the regions and improves caching
benefits.
Commit: 662267daea7e76ee3cee90c63ab2bc2964b77b76
https://github.com/llvm/llvm-project/commit/662267daea7e76ee3cee90c63ab2bc2964b77b76
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-tocdata-fastisel.ll
Log Message:
-----------
[PPC] add testcase, nfc
Commit: e6785fd75284f53b9e23db6f249598e09f3fc39f
https://github.com/llvm/llvm-project/commit/e6785fd75284f53b9e23db6f249598e09f3fc39f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
Log Message:
-----------
[Scalar] Fix a warning
This patch fixes:
llvm/lib/Transforms/Scalar/GVNSink.cpp:270:33: error: lambda capture
'this' is not used [-Werror,-Wunused-lambda-capture]
While I am at it, this patch replaces llvm::for_each with a
range-based for loop.
Commit: e74a34b6932965dfdc182b69f779e5bee551585a
https://github.com/llvm/llvm-project/commit/e74a34b6932965dfdc182b69f779e5bee551585a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Merge IdentID with IdentifierID
In ASTBitCodes.h, there are two type alias for the ID type of
Identifiers with the same underlying type. It is confusing. This patch
tries to merge the `IdentID` to `IdentifierID` to erase such confusion.
Commit: f841ca0c355ae53c96f615996d0aff4648da8618
https://github.com/llvm/llvm-project/commit/f841ca0c355ae53c96f615996d0aff4648da8618
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M lld/COFF/DebugTypes.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/wasm/InputChunks.cpp
Log Message:
-----------
Use StringRef::operator== instead of StringRef::equals (NFC) (#91864)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
276 under llvm-project/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: 1fadb2b0c881ced247931f442fdee6c4ed96dccb
https://github.com/llvm/llvm-project/commit/1fadb2b0c881ced247931f442fdee6c4ed96dccb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Revert "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"
This reverts commits e62ce1f8842c, 5cd280433e8e, and de641e289269 due to
buildbot failures.
Commit: b5f4210e9f51f938ae517f219f04f9ab431a2684
https://github.com/llvm/llvm-project/commit/b5f4210e9f51f938ae517f219f04f9ab431a2684
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/bit_ceil.ll
Log Message:
-----------
[InstCombine] Drop nuw flag when CtlzOp is a sub nuw (#91776)
See the following case:
```
define i32 @src1(i32 %x) {
%dec = sub nuw i32 -2, %x
%ctlz = tail call i32 @llvm.ctlz.i32(i32 %dec, i1 false)
%sub = sub nsw i32 32, %ctlz
%shl = shl i32 1, %sub
%ugt = icmp ult i32 %x, -2
%sel = select i1 %ugt, i32 %shl, i32 1
ret i32 %sel
}
define i32 @tgt1(i32 %x) {
%dec = sub nuw i32 -2, %x
%ctlz = tail call i32 @llvm.ctlz.i32(i32 %dec, i1 false)
%sub = sub nsw i32 32, %ctlz
%and = and i32 %sub, 31
%shl = shl nuw i32 1, %and
ret i32 %shl
}
```
`nuw` in `%dec` should be dropped after the select instruction is
eliminated.
Alive2: https://alive2.llvm.org/ce/z/7S9529
Fixes https://github.com/llvm/llvm-project/issues/91691.
Commit: fd4efecac21d92428d2f804f43e85bdfa460bdd5
https://github.com/llvm/llvm-project/commit/fd4efecac21d92428d2f804f43e85bdfa460bdd5
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/test/CAPI/transform_interpreter.c
Log Message:
-----------
[mlir] Fix warning due to non ISO standard __FUNCTION__ usage (#91851)
This PR fixes the warning message due to the non ISO standard usage of
`__FUNCTION__`
```
/home/lewuathe/llvm-project/mlir/test/CAPI/transform_interpreter.c: In function ‘testApplyNamedSequence’:
/home/lewuathe/llvm-project/mlir/test/CAPI/transform_interpreter.c:21:27: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic]
21 | fprintf(stderr, "%s\n", __FUNCTION__);
|
```
As `__FUNCTION__` is another name of `__func__` and it conforms to the
specification. We should be able to use `__func__` here.
Ref:
https://stackoverflow.com/questions/52962812/how-to-silence-gcc-pedantic-wpedantic-warning-regarding-function
Compiler
```
Ubuntu clang version 18.1.3 (1)
Target: x86_64-pc-linux-gnu
```
Commit: 5082feabd155a59d7ae0249713def100516b839d
https://github.com/llvm/llvm-project/commit/5082feabd155a59d7ae0249713def100516b839d
Author: Alcaro <floating at muncher.se>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/docs/Block-ABI-Apple.rst
Log Message:
-----------
[Documentation][Blocks ABI] Fix typoed integer (#65688)
Fix an integer value in the prose to match the rest of the content.
Commit: 5ca368501ae81ca364f66ee6053aa4f8104fdbdd
https://github.com/llvm/llvm-project/commit/5ca368501ae81ca364f66ee6053aa4f8104fdbdd
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Update BUILD file for 1337622a492f4e77604b09ac8ff97042e46d8d42
Commit: baa5beecc04aef9da258e31e4a9de1a27051ee5a
https://github.com/llvm/llvm-project/commit/baa5beecc04aef9da258e31e4a9de1a27051ee5a
Author: tyb0807 <sontuan.vu119 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/nvgpu.py
M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[NFC] Make NVGPU casing consistent (#91903)
Commit: 0bacffbbfc081b4147ac935512e2c5da9e3c06f0
https://github.com/llvm/llvm-project/commit/0bacffbbfc081b4147ac935512e2c5da9e3c06f0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
A mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests/patterns for vector.transpose (#91359)
Pretty much all logic that we have today for lowering vector.transpose
assumes fixed length vectors (it's done via vector.shuffle that don't
support scalable vectors). This patch updates related tests and patterns
to capture and document this limitation more explicitly.
Note that `vector.transpose` is a valid operation in the context of
scalable vectors, but we are yet to implement the missing lowerings.
Summary of changes:
* `@transpose_nx8x2xf32` is renamed as `@transpose_scalabl`e
and moved near other tests using `lowering_strategy = "shuffle_1d"
(to avoid duplicating TD sequences)
* tests specific to X86 (`avx2_lowering_strategy = true`) are moved to
a dedicated file (to separate generic tests from target-specific
tests)
* `@transpose10_nx4xnx1xf32` duplicated `@transpose10_4xnx1xf32` and was
deleted (the latter is renamed as `@transpose10_4x1xf32_scalable` to
match its fixed-width counterpart: `@transpose10_4x1xf32`)
Commit: d182877ba3f5ad93e061f68a9ecce38cb8cec418
https://github.com/llvm/llvm-project/commit/d182877ba3f5ad93e061f68a9ecce38cb8cec418
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: fix the transformation for the require-clause expr (#90961)
In the clang AST, constraint nodes are deliberately not instantiated
unless they are actively being evaluated. Consequently, occurrences of
template parameters in the require-clause expression have a subtle
"depth" difference compared to normal occurrences in places, such as
function parameters. When transforming the require-clause, we must take
this distinction into account.
The existing implementation overlooks this consideration. This patch is
to rewrite the implementation of the require-clause transformation to
address this issue.
Fixes #90177
Commit: 109ede496ecf6de5dabace08d73ec7604b343a6b
https://github.com/llvm/llvm-project/commit/109ede496ecf6de5dabace08d73ec7604b343a6b
Author: David Green <david.green at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64] Extend v2i64 fptosi.sat to v2f64 (#91714)
This helps it produce a single instruction for the saturate, as opposed
to having to scalarize.
Commit: ae2a18d6cbc3328410bdb7e629fdc59766b73e4b
https://github.com/llvm/llvm-project/commit/ae2a18d6cbc3328410bdb7e629fdc59766b73e4b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Adjust BUILD.bazel for eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
Commit: 279a659e9772e48d95ad7d81f6deb00ee31e35e1
https://github.com/llvm/llvm-project/commit/279a659e9772e48d95ad7d81f6deb00ee31e35e1
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] lower rsqrt to sqrt + fdiv (#91344)
This commit creates an expansion pattern to lower math.rsqrt(x) into
fdiv(1, sqrt(x)).
Commit: d4f5cf267936a082196b0c22fe45c730b24b9fe0
https://github.com/llvm/llvm-project/commit/d4f5cf267936a082196b0c22fe45c730b24b9fe0
Author: Azmat Yusuf <azmatyusuf2022 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
Log Message:
-----------
[Clang] Added check for unexpanded pack in attribute [[assume]] (#91893)
Added a check for unexpanded parameter pack in attribute [[assume]].
Tested it with expected-error statements from clang fronted.
This fixes #91232.
Commit: 220756f1f92b335cbafdff67c570d096a6925d87
https://github.com/llvm/llvm-project/commit/220756f1f92b335cbafdff67c570d096a6925d87
Author: David Green <david.green at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/Transforms/Inline/AArch64/binop.ll
Log Message:
-----------
[AArch64][Inline] Regenerate Inline/AArch64/binop.ll test check lines. NFC
Should hopefully help with #91854
Commit: 0fb7546c587198df11714cfc433d4c5552af0888
https://github.com/llvm/llvm-project/commit/0fb7546c587198df11714cfc433d4c5552af0888
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/icmp.ll
Log Message:
-----------
[AArch64][NFC] Pre-commit Test for Select G_ICMP instruction through TableGen (#89932)
Commit: c6c7afd21edd0d16ebda916ea4939949e4e0fa8e
https://github.com/llvm/llvm-project/commit/c6c7afd21edd0d16ebda916ea4939949e4e0fa8e
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] fix rsqrt test to not check sign of NaN
Hotfix for "[mlir][math] lower rsqrt to sqrt + fdiv (#91344)"
Commit: 61d4ca872215d3dfff0b3c92151dcbdc546a0aab
https://github.com/llvm/llvm-project/commit/61d4ca872215d3dfff0b3c92151dcbdc546a0aab
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
Log Message:
-----------
[clang][ExtractAPI] Distinguish between record kind for display and for RTTI (#91466)
rdar://127732562
Commit: 119aecb955df91173d69c455bba0abd74271c215
https://github.com/llvm/llvm-project/commit/119aecb955df91173d69c455bba0abd74271c215
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/test/DebugInfo/ARM/bitfield.ll
M llvm/test/DebugInfo/NVPTX/packed_bitfields.ll
M llvm/test/DebugInfo/X86/packed_bitfields.ll
Log Message:
-----------
[DebugInfo] Emit negative DW_AT_bit_offset in explicit signed form (#87994)
Before this patch, the value of DW_AT_bit_offset, used for bitfields
before DWARF version 4, was always emitted as an unsigned integer using
the form DW_FORM_data<n>. If the value was originally a signed integer,
for instance in the case of negative offsets, it was up to debug
information consumers to re-cast it to a signed integer.
This is problematic since the burden of deciding if the value should be
read as signed or unsigned was put onto the debug info consumers: the
DWARF specification doesn't define DW_AT_bit_offset's underlying type.
If a debugger decided to interpret this attribute in the form data<n> as
unsigned, then negative offsets would be completely broken.
The DWARF specification version 3 mentions in the Data Representation
section, page 127:
> If one of the DW_FORM_data<n> forms is used to represent a signed or
unsigned integer, it can be hard for a consumer to discover the context
necessary to determine which interpretation is intended. Producers are
therefore strongly encouraged to use DW_FORM_sdata or DW_FORM_udata for
signed and unsigned integers respectively, rather than DW_FORM_data<n>.
Therefore, the proposal is to use DW_FORM_sdata, which is explicitly
signed. This is an indication to consumers that the offset must be
parsed unambiguously as a signed integer.
Finally, gcc already uses DW_FORM_sdata for negative offsets, fixing the
potential ambiguity altogether.
This patch mimics gcc's behaviour by emitting negative values of
DW_AT_bit_offset using the DW_FORM_sdata form. This eliminates any
potential misinterpretation.
One could argue that all values should use DW_FORM_sdata, but for the
sake of parity with gcc, it is safe to restrict the change to negative
values.
Commit: 3438d8ac1ba58d098ff8d25a814b2c8c22d5844b
https://github.com/llvm/llvm-project/commit/3438d8ac1ba58d098ff8d25a814b2c8c22d5844b
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
Log Message:
-----------
[libcxx] [test] Fix the locale ctype widen tests on AIX (#91744)
The C locale on AIX uses `ISO-8859-1`, where `0xFB` is a valid
character. Widening char(-5) succeeds and produces L'\u00fb' the same as
on macOS, FreeBSD, and Windows. This patch removes `XFAIL:
LIBCXX-AIX-FIXME` and uses the macOS, FreeBSD, and WIN32 code path for
AIX.
Commit: 7eeccc1430eeaa434724522945245ba21c97ac57
https://github.com/llvm/llvm-project/commit/7eeccc1430eeaa434724522945245ba21c97ac57
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
Log Message:
-----------
[libcxx][test] Fix numpunct grouping tests on AIX (#91781)
The `grouping` string for locale `en_US.UTF-8` and `fr_FR.UTF-8` on AIX
is `3`. This is different from Linux's `3;3` but is the same as Windows.
This patch removes `XFAIL: LIBCXX-AIX-FIXME` and changes to use the
`WIN32` code path.
Commit: fbb37e960616efcf7cd5c1ebbe95f75c65d565dc
https://github.com/llvm/llvm-project/commit/fbb37e960616efcf7cd5c1ebbe95f75c65d565dc
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
A llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
A llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Add an all-in-one histogram intrinsic
Based on discussion from
https://discourse.llvm.org/t/rfc-vectorization-support-for-histogram-count-operations/74788
Current interface is:
llvm.experimental.histogram(<vecty> ptrs, <intty> inc_amount, <vecty> mask)
The integer type used by 'inc_amount' needs to match the type of the buckets in memory.
The intrinsic covers the following operations:
* Gather load
* histogram on the elements of 'ptrs'
* multiply the histogram results by 'inc_amount'
* add the result of the multiply to the values loaded by the gather
* scatter store the results of the add
Supports lowering to histcnt instructions for AArch64 targets, and scalarization for all others at present.
Commit: fcc1baaa99fda4f5633e82f47e8de33c99bbcdd2
https://github.com/llvm/llvm-project/commit/fcc1baaa99fda4f5633e82f47e8de33c99bbcdd2
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-variable in AArch64ISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:27379:19:
error: unused variable 'CID' [-Werror,-Wunused-variable]
ConstantSDNode *CID = cast<ConstantSDNode>(IntID.getNode());
^
1 error generated.
Commit: 0a6103eaeb7f22c009f9add87c84780b6f7f293a
https://github.com/llvm/llvm-project/commit/0a6103eaeb7f22c009f9add87c84780b6f7f293a
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
Log Message:
-----------
Revert "[lldb] Attempt to fix signal-in-leaf-function-aarch64 on darwin"
This reverts commit b903badd73a2467fdd4e363231f2bf9b0704b546.
TestInterruptBacktrace was broken on AArch64/Windows as a result of this change.
see lldb-aarch64-windows buildbot here:
https://lab.llvm.org/buildbot/#/builders/219/builds/11261
Commit: 4b44502ac81259630b422e791a82e0252e6478c3
https://github.com/llvm/llvm-project/commit/4b44502ac81259630b422e791a82e0252e6478c3
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
R lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
R lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
Revert "[lldb/aarch64] Fix unwinding when signal interrupts a leaf function (#91321)"
This reverts commit fd1bd53ba5a06f344698a55578f6a5d79c457e30.
TestInterruptBacktrace was broken on AArch64/Windows as a result of this change.
See lldb-aarch64-windows buildbot here:
https://lab.llvm.org/buildbot/#/builders/219/builds/11261
Commit: 99934daa9b795278b8cc168fad430e09473b4992
https://github.com/llvm/llvm-project/commit/99934daa9b795278b8cc168fad430e09473b4992
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[ADT] Introduce `APInt::clearHighBits` (#91938)
This patch addresses
https://github.com/llvm/llvm-project/pull/90034#discussion_r1579235844.
Commit: efe91cf78bccda90637c817e3e592b5f34e891d0
https://github.com/llvm/llvm-project/commit/efe91cf78bccda90637c817e3e592b5f34e891d0
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/test/Analysis/gh-issue-89185.c
Log Message:
-----------
[clang][analyzer] Check for label location bindings in `DereferenceChecker` (#91119)
Resolves #89264
Values should not be stored in addresses of labels, this throws a fatal
error when this happens.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 345f57df16af7e4fac3a321035e504b5d49206f4
https://github.com/llvm/llvm-project/commit/345f57df16af7e4fac3a321035e504b5d49206f4
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Overflow flags propagation in arith canonicalizations. (#91646)
Commit: c5b0da9d83971d94d3b26105b1e42d3a3826ef1e
https://github.com/llvm/llvm-project/commit/c5b0da9d83971d94d3b26105b1e42d3a3826ef1e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
Log Message:
-----------
InstCombine: Preserve inbounds in PointerReplacer (#91735)
This avoids spurious test changes in a future commit.
Commit: 91d7ca904c601d181c431bffbf2773165de2fabd
https://github.com/llvm/llvm-project/commit/91d7ca904c601d181c431bffbf2773165de2fabd
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/DebugInfo/assignment-tracking/X86/hotcoldsplit.ll
Log Message:
-----------
[DebugInfo] Remap extracted DIAssignIDs in hotcoldsplit (#91940)
Fix #91814
When instructions are extracted into a new function the `DIAssignID` metadata
uses and attachments need to be remapped so that the stores and assignment
markers don't link to stores and assignment markers in the original function.
This matches existing inlining behaviour for DIAssignIDs.
Commit: 32939a16bcb084c2572f201ee42613413784cf7e
https://github.com/llvm/llvm-project/commit/32939a16bcb084c2572f201ee42613413784cf7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M offload/src/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove unused compiler definition from CMake
Commit: bc17361c2baa0351f7f19b716fbe76bc9f99e903
https://github.com/llvm/llvm-project/commit/bc17361c2baa0351f7f19b716fbe76bc9f99e903
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Fix delayed-definition-die-searching.test for Windows
This is follow up fix on top of 9a7262c2601874e5aa64c5db19746770212d4b44
This fixes delayed-definition-die-searching.test to use -gdwarf. This is
required to explicitly select DWARF instead of PDB on windows.
Fixe LLDB build lldb-aarch64-windows:
https://lab.llvm.org/buildbot/#/builders/219/builds/11303
Commit: 710d95d1ecb4b6d69507cb910274ef3077ddc9c9
https://github.com/llvm/llvm-project/commit/710d95d1ecb4b6d69507cb910274ef3077ddc9c9
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb] Fixed the test TestSettings when run with a remote target (#91915)
The setting `platform.module-cache-directory` is a local path on the
host. It cannot be set to a working directory from the remote target.
This test failed in case of Windows host and Linux target because of the
incompatible path. Use the local build dir instead.
Commit: 7ce3dd49eb80816e3af52022ba2521b28a068c7b
https://github.com/llvm/llvm-project/commit/7ce3dd49eb80816e3af52022ba2521b28a068c7b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/API/commands/settings/quoting/TestQuoting.py
Log Message:
-----------
[lldb] Fixed the test TestQuoting (#91886)
os.path.join() uses the path separator of the host OS by default.
outfile_arg will be incorrect in case of Windows host and Linux target.
Use lldbutil.append_to_process_working_directory() instead.
Commit: 4ff45eee36f003cda18a3654df4086e69dc245b5
https://github.com/llvm/llvm-project/commit/4ff45eee36f003cda18a3654df4086e69dc245b5
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Log Message:
-----------
[GlobalISel][KnownBits] Simplify G_CONSTANT handling (#91946)
We called getIConstantVRegVal which again queried MRI to get the VReg
def. We already have the def, so just get the CImm directly. It can't
fail.
Commit: 8823abea6fb029bf24abd501e43844e3f5b9c444
https://github.com/llvm/llvm-project/commit/8823abea6fb029bf24abd501e43844e3f5b9c444
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Log Message:
-----------
InstCombine: Simplify vector initialization
Commit: 3f0e1d4cf09b0c90abfb1d06a26cc4c85c1f9568
https://github.com/llvm/llvm-project/commit/3f0e1d4cf09b0c90abfb1d06a26cc4c85c1f9568
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Swap order of arguments to MatchBinaryAddToConst (NFCI). (#91945)
The argument order to MatchBinaryAddToConst doesn't match the comment
and also is counter-intuitive (passing RHS before LHS, C2 before C1).
This patch adjusts the order to be inline with the calls above, which
should be equivalent, but more natural:
https://alive2.llvm.org/ce/z/ZWGp-Z
PR: https://github.com/llvm/llvm-project/pull/91945
Commit: 19a62fbe00930d7eaa9f948c8dd26d58f5422c00
https://github.com/llvm/llvm-project/commit/19a62fbe00930d7eaa9f948c8dd26d58f5422c00
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][MLIR] Fix llvm::sort comparator. (#91947)
llvm::sort requires the comparator to return `false` for equal elements,
otherwise it triggers `Your comparator is not a valid strict-weak
ordering` assert.
Commit: 5e9401c2c21efcd55aae42d0b3d68034d344b08d
https://github.com/llvm/llvm-project/commit/5e9401c2c21efcd55aae42d0b3d68034d344b08d
Author: Chris Warner <73851242+cwarner-8702 at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/tool/ClangQuery.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-query/Inputs/empty.script
A clang-tools-extra/test/clang-query/Inputs/file.script
A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
M clang-tools-extra/test/clang-query/errors.c
A clang-tools-extra/test/clang-query/file-empty.c
A clang-tools-extra/test/clang-query/file-query.c
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
Log Message:
-----------
[clang-query] Load queries and matchers from file during REPL cycle (#90603)
The clang-query tool has the ability to execute or pre-load queries from
a file when the tool is launched, but doesn't have the ability to do the
same from the interactive REPL prompt. Because the prompt also doesn't
seem to allow multi-line matchers, this can make prototyping and
iterating on more complicated matchers difficult.
Supporting a dynamic load at REPL time allows the cost of reading the
compilation database and building the AST to be imposed just once, and
allows faster prototyping.
Commit: e76b257483e6c6743de0fa6eca4d0cc60e08385d
https://github.com/llvm/llvm-project/commit/e76b257483e6c6743de0fa6eca4d0cc60e08385d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Clang][OpenMP][Tile] Ensure AST node uniqueness. (#91325)
One of the constraints of an AST is that every node object must appear
at most once, hence we define lamdas that create a new AST node at every
use.
Commit: 061db17a3075e34c55ebd463d06e16771e398e04
https://github.com/llvm/llvm-project/commit/061db17a3075e34c55ebd463d06e16771e398e04
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warning. NFC.
Commit: 1a4b113a41266b94fe217e5fe90d91db15d2356b
https://github.com/llvm/llvm-project/commit/1a4b113a41266b94fe217e5fe90d91db15d2356b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CostModel][X86] getCastInstrCost - update cost tables to support CostKinds
Add TypeConversionCostKindTblEntry to hold the costs kinds and update the cast tables to take the existing default codesize/latency/sizelatency values (I'll update these values in future commits).
I've moved AdjustCost to the end of the function to ensure we don't accidentally use it, apart from when we fallback to default cost calculations.
Commit: f0590581aa01944a3bb502a622a412617d1efcbb
https://github.com/llvm/llvm-project/commit/f0590581aa01944a3bb502a622a412617d1efcbb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Clang][OpenMP] Fix unused lambda capture warning.
Commit: ca1bd5995f6ed934f9187305190a5abfac049173
https://github.com/llvm/llvm-project/commit/ca1bd5995f6ed934f9187305190a5abfac049173
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)
A compound construct with a list of clauses is broken up into individual
leaf/composite constructs. Each such construct has the list of clauses
that apply to it based on the OpenMP spec.
Each lowering function (i.e. a function that generates MLIR ops) is now
responsible for generating its body as described below.
Functions that receive AST nodes extract the construct, and the clauses
from the node. They then create a work queue consisting of individual
constructs, and invoke a common dispatch function to process (lower) the
queue.
The dispatch function examines the current position in the queue, and
invokes the appropriate lowering function. Each lowering function
receives the queue as well, and once it needs to generate its body, it
either invokes the dispatch function on the rest of the queue (if any),
or processes nested evaluations if the work queue is at the end.
Commit: d2676a73336b83607565fb2e4ce61bd67d732b09
https://github.com/llvm/llvm-project/commit/d2676a73336b83607565fb2e4ce61bd67d732b09
Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/pthread.h.def
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
A libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
A libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
A libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_rwlockattr_test.cpp
Log Message:
-----------
[libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions (#90249)
Closes #89443
I added the two missing functions and respective test cases. Let me know
if anything needs changing.
Commit: 29a986bc0972c7d2deb85f8789ea3183c8ca06ca
https://github.com/llvm/llvm-project/commit/29a986bc0972c7d2deb85f8789ea3183c8ca06ca
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
new-prs-labeler.yml: Include conversion passes of TOSA/emitc (#91921)
Commit: 27595c4befbbf42891ef7e13fe28926eb7fc825d
https://github.com/llvm/llvm-project/commit/27595c4befbbf42891ef7e13fe28926eb7fc825d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/pthread.h.def
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
R libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
R libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
R libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
R libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_rwlockattr_test.cpp
Log Message:
-----------
Revert "[libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions" (#91966)
Reverts llvm/llvm-project#90249
Fullbuild is broken:
https://lab.llvm.org/buildbot/#/builders/163/builds/56501
Commit: 25a3ba33153e99c4614d404ba18b761d652e24de
https://github.com/llvm/llvm-project/commit/25a3ba33153e99c4614d404ba18b761d652e24de
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
R flang/lib/Lower/OpenMP/Decomposer.cpp
R flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
R llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
Revert "[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)"
It breaks some builds, e.g.
https://lab.llvm.org/buildbot/#/builders/268/builds/13909
This reverts commit ca1bd5995f6ed934f9187305190a5abfac049173.
Commit: 1a25b723628e439d62dfb28ca5fa52e4b2a78e5a
https://github.com/llvm/llvm-project/commit/1a25b723628e439d62dfb28ca5fa52e4b2a78e5a
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/API/commands/platform/process/launch/TestPlatformProcessLaunch.py
Log Message:
-----------
[lldb] Fixed the test TestPlatformProcessLaunch running on a remote target (#91923)
Transfer `stdio.log` from the remote target if necessary.
Commit: 13cd88108f00fc97bcd1e4eb7cc9e4e388928677
https://github.com/llvm/llvm-project/commit/13cd88108f00fc97bcd1e4eb7cc9e4e388928677
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptask_if_false.mlir
Log Message:
-----------
[mlir][OpenMP] - Honor dependencies in code-generation of the if clause in `omp.task` correctly (#90891)
This patch fixes the code generation of the if clause, specifically when the
condition evaluates to false and when the task directive has the depend
clause on it. When the if clause of a task construct evaluates to false,
then the task is an undeferred task. This undeferred task still has to
honor dependencies. Previously, the OpenMPIRbuilder didn't honor
dependencies. This patch fixes that.
Fixes https://github.com/llvm/llvm-project/issues/90869
Commit: 4445ed4244cd00981a04b1f461128ed4c47c1dec
https://github.com/llvm/llvm-project/commit/4445ed4244cd00981a04b1f461128ed4c47c1dec
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][MLIR] Fix llvm::sort comparator. (#91963)
The current comparator doesn't work correctly when two identical entries
with -1 are compared. The comparator returns `first` is case when
`aIndex == -1 && bIndex == -1`, but it should `continue` as those
indexes are the same.
Commit: c4e9e41199127bb288e84e9477da99f28941edb3
https://github.com/llvm/llvm-project/commit/c4e9e41199127bb288e84e9477da99f28941edb3
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Ensure ``if consteval`` consititute an immediate function context (#91939)
We did not set the correct evaluation context for the compound statement
of an ``if consteval`` statement
in a templated entity in TreeTransform.
Fixes #91509
Commit: b0b6c16b470a7d5d9c63765058cca0ebe07ad57d
https://github.com/llvm/llvm-project/commit/b0b6c16b470a7d5d9c63765058cca0ebe07ad57d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/tile_ast_print.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/OpenMP/tile_messages.cpp
A openmp/runtime/test/transform/tile/intfor.c
A openmp/runtime/test/transform/tile/negtile_intfor.c
A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-intfor.cpp
Log Message:
-----------
[Clang][OpenMP][Tile] Allow non-constant tile sizes. (#91345)
Allow non-constants in the `sizes` clause such as
```
#pragma omp tile sizes(a)
for (int i = 0; i < n; ++i)
```
This is permitted since tile was introduced in [OpenMP
5.1](https://www.openmp.org/spec-html/5.1/openmpsu53.html#x78-860002.11.9).
It is possible to sneak-in negative numbers at runtime as in
```
int a = -1;
#pragma omp tile sizes(a)
```
Even though it is not well-formed, it should still result in every loop
iteration to be executed exactly once, an invariant of the tile
construct that we should ensure. `ParseOpenMPExprListClause` is
extracted-out to be reused by the `permutation` clause of the
`interchange` construct. Some care was put into ensuring correct behavior
in template contexts.
Commit: 69e13125af2511abd59499272c88fcb6f19b9300
https://github.com/llvm/llvm-project/commit/69e13125af2511abd59499272c88fcb6f19b9300
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-vector-icmp.mir
Log Message:
-----------
[AArch64][GlobalISel] Select G_ICMP instruction through TableGen (#89932)
G_ICMP NE => XOR(G_ICMP EQ, -1) moved to Legalizer to allow for combines
if they come up in following passes.
Commit: ca051dfe9f0996e7fdad8fde5817e5b6ce758ab9
https://github.com/llvm/llvm-project/commit/ca051dfe9f0996e7fdad8fde5817e5b6ce758ab9
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A mlir/utils/verify-canon/verify_canon.py
Log Message:
-----------
[mlir][utils] Add script to verify canonicalizations against Alive2 (#91867)
This script takes IR before and after canonicalization, translates it
into llvm IR and converts it to format suitable for Alive2
https://alive2.llvm.org/ce/
This is primarily for arith canonicalizations verification, but
technically it can be adapted for any dialect translatable to llvm.
Usage `python verify_canon.py canonicalize.mlir -f func1 func2 ...`
Example output: https://alive2.llvm.org/ce/z/KhQs4J
Initial discussion:
https://github.com/llvm/llvm-project/pull/91646#pullrequestreview-2049342826
Commit: 96ebed7c7481bb143c9d3db5f4c128bb32545229
https://github.com/llvm/llvm-project/commit/96ebed7c7481bb143c9d3db5f4c128bb32545229
Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
Log Message:
-----------
[analyzer][NFC] Move `CTUPhase1InliningMode` option to String analyzer options category (#91932)
The `CTUPhase1InliningMode`option was originally placed under Unsigned
analyzer options, but its value is a string.
This move aligns the option with its actual type.
Commit: 3acc6919109d91c1f047a02229a1785b461259d9
https://github.com/llvm/llvm-project/commit/3acc6919109d91c1f047a02229a1785b461259d9
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91821)
… (#90885)"
This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.
Commit: 8b7f178091b70d264c13b1f83b58e6c9dfe81c1b
https://github.com/llvm/llvm-project/commit/8b7f178091b70d264c13b1f83b58e6c9dfe81c1b
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/test/Evaluate/rewrite-out_of_range.F90
Log Message:
-----------
[flang] Fix Failing rewrite-out_of_range testcase to only check for real 10 on supported platforms (#91629)
The real 10 tests fail on `AIX` on `PPC`, only check them on `x86_64`
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: d8197728145137e2aa00f3b2ed69914f48851d09
https://github.com/llvm/llvm-project/commit/d8197728145137e2aa00f3b2ed69914f48851d09
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/icmp.ll
Log Message:
-----------
[AArch64][NFC] Pre-commit tests for Select G_ICMP Zero Instruction (#90054)
Commit: c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d
https://github.com/llvm/llvm-project/commit/c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] device_type clause Sema for Compute constructs
device_type, also spelled as dtype, specifies the applicability of the
clauses following it, and takes a series of identifiers representing the
architectures it applies to. As we don't have a source for the valid
architectures yet, this patch just accepts all.
Semantically, this also limits the list of clauses that can be applied
after the device_type, so this implements that as well.
Commit: 67c18721eb2170a6cd7af461e16d994b1b83363a
https://github.com/llvm/llvm-project/commit/67c18721eb2170a6cd7af461e16d994b1b83363a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp] Return false from visitExpr() if allocateLocal failed
Commit: 2bd97ba390f9137f26eaf770a90c5f1cb72acbdb
https://github.com/llvm/llvm-project/commit/2bd97ba390f9137f26eaf770a90c5f1cb72acbdb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerGlobalOrExternal - cleanup SDLoc. NFC.
Don't create a new local SDLoc and then take a reference to it, just create the SDLoc directly.
Commit: b4393c7d7ea538e92428c7769de590615509f8b4
https://github.com/llvm/llvm-project/commit/b4393c7d7ea538e92428c7769de590615509f8b4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] FP_TO_INTHelper - remove duplicate SDLoc. NFC.
Commit: b5da0cd68287fa613052a3d3164f2e9de35bedd3
https://github.com/llvm/llvm-project/commit/b5da0cd68287fa613052a3d3164f2e9de35bedd3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerTruncateVecI1 - reuse existing SDLoc. NFC.
Commit: 0cc60235d178ebe18db14b9731aa01c24abd1c66
https://github.com/llvm/llvm-project/commit/0cc60235d178ebe18db14b9731aa01c24abd1c66
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerFP_TO_INT - remove duplicate SDLoc. NFC.
Commit: b7e4a8a08ecf73d2b34dca1b71d08d622da58bdc
https://github.com/llvm/llvm-project/commit/b7e4a8a08ecf73d2b34dca1b71d08d622da58bdc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerIntVSETCC_AVX512 - reuse existing SDLoc. NFC.
Commit: 999fb097102f75feac1601c061b8bdf0a4cf6112
https://github.com/llvm/llvm-project/commit/999fb097102f75feac1601c061b8bdf0a4cf6112
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 05cc2d5fe10c
Commit: 9f858c7b79f9edff082050b930fee347887f8e6d
https://github.com/llvm/llvm-project/commit/9f858c7b79f9edff082050b930fee347887f8e6d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector][test] Update tests for vector.xfter_{read|write} (#91943)
Updates tests in "vector-transfer-permutation-lowering.mlir" to make a
clearer split into cases for :
* xfer_read vs xfer_write
* fixed-width vs scalable tests
A new test case is added for fixed-width vectors for vector.transfer_read.
This is to complement an existing test for scalable vectors.
This is in preparation for #90835 and also for adding more tests for
scalable vectors.
Commit: 257013e4f5cbdf644646da9ec3d60d6209c9bf25
https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Handle VariableArrayTypes
Commit: 1f6f5bf9307033980121fc534815a7b59453e122
https://github.com/llvm/llvm-project/commit/1f6f5bf9307033980121fc534815a7b59453e122
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
Log Message:
-----------
Fix warning from c4a9a374
I wasn't able to reproduce the test crash, but I believe this might be a
different definition of 'assert' on some platforms, so I believe this
patch should fix it (and fixes the suggested warning).
Commit: be7c9e39572d876c16b6a8d7f4addaf9409071ff
https://github.com/llvm/llvm-project/commit/be7c9e39572d876c16b6a8d7f4addaf9409071ff
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)
A compound construct with a list of clauses is broken up into individual
leaf/composite constructs. Each such construct has the list of clauses
that apply to it based on the OpenMP spec.
Each lowering function (i.e. a function that generates MLIR ops) is now
responsible for generating its body as described below.
Functions that receive AST nodes extract the construct, and the clauses
from the node. They then create a work queue consisting of individual
constructs, and invoke a common dispatch function to process (lower) the
queue.
The dispatch function examines the current position in the queue, and
invokes the appropriate lowering function. Each lowering function
receives the queue as well, and once it needs to generate its body, it
either invokes the dispatch function on the rest of the queue (if any),
or processes nested evaluations if the work queue is at the end.
Re-application of ca1bd5995f6ed934f9187305190a5abfac049173 with fixes for
compilation errors.
Commit: e8eb52d167eb2bf972b3cfa67ff1028b86cd209d
https://github.com/llvm/llvm-project/commit/e8eb52d167eb2bf972b3cfa67ff1028b86cd209d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf14.cuf
A flang/test/Semantics/cuf15.cuf
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][cuda] Extends matching distance computation (#91810)
Extends the computation of the matching distance in the generic
resolution to support options described in the table:
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data
Options are added as language features in the `SemanticsContext` and a
flag is added in bbc for testing purpose.
Commit: 06f04b2e27f2586d3db2204ed4e54f8b78fea74e
https://github.com/llvm/llvm-project/commit/06f04b2e27f2586d3db2204ed4e54f8b78fea74e
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
R clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
R clang/test/SemaOpenACC/compute-construct-device_type-clause.c
R clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Revert "[OpenACC] device_type clause Sema for Compute constructs"
This reverts commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d.
This and the followup patch keep hitting an assert I wrote on the build
bots in a way that isn't clear. Reverting so I can fix it without a
rush.
Commit: 1934e4afd6276cd2440357b788d7efe6a4abdebe
https://github.com/llvm/llvm-project/commit/1934e4afd6276cd2440357b788d7efe6a4abdebe
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
Log Message:
-----------
[flang][OpenMP] Add explicit N to SmallVector to avoid size error
This fixes https://lab.llvm.org/buildbot/#/builders/268/builds/13925,
which somehow doesn't show in any of my local builds.
Commit: 2d511cdc10be611999d2a3c8983a992dd90f892c
https://github.com/llvm/llvm-project/commit/2d511cdc10be611999d2a3c8983a992dd90f892c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp][NFC] Add missing test diagnostic output
This was left out from https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25
Commit: d95f7c9cabf493ffdc615df47a420a80d4be8e5c
https://github.com/llvm/llvm-project/commit/d95f7c9cabf493ffdc615df47a420a80d4be8e5c
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
Log Message:
-----------
[RISCV] Use the thread local stack protector for Android targets (#87672)
Android supports per thread stack protectors that are individually
managed and
initialized, which can provide stronger protections than using the
global stack
protector cookie. This patch matches the convention for other
architectures
targeting Android platforms.
Commit: d94e0a1005ee1cfeeda829d9deb1f299deb7b10a
https://github.com/llvm/llvm-project/commit/d94e0a1005ee1cfeeda829d9deb1f299deb7b10a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port be7c9e39572d
Commit: 754ff0f54a4b09a8e4b00783475c51f66b949b66
https://github.com/llvm/llvm-project/commit/754ff0f54a4b09a8e4b00783475c51f66b949b66
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Use getAllDerivedDefinitionsIfDefined in RISCVTargetDefEmitter (#91941)
getAllDerivedDefinitions produces a fatal error if there are no
definitions. In practice this isn't much of a problem for
llvm/lib/Target/RISCV/*.td where it's hard to imagine not having at
least one of the required defitions. But it limits our ability to
structure and maintain tests (which is how I came across this issue).
This commit moves to using getAllDerivedDefinitionsIfDefined and aims to
skip emission of data structures that make no sense if no definitions
were found.
Commit: 89a080cb79972abae240c226090af9a3094e2269
https://github.com/llvm/llvm-project/commit/89a080cb79972abae240c226090af9a3094e2269
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/MisExpect.cpp
Log Message:
-----------
[llvm][NFC] Document cl::opt MisExpectTolerance and fix typo
Pull Request: https://github.com/llvm/llvm-project/pull/90670
Commit: 596a9c1f9b3179b3c77cbde1e96619292ce2a10a
https://github.com/llvm/llvm-project/commit/596a9c1f9b3179b3c77cbde1e96619292ce2a10a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Fix bug where operator-> typo corrects in the current instantiation (#91972)
#90152 introduced a bug that occurs when typo-correction attempts to fix a reference to a
non-existent member of the current instantiation (even though
`operator->` may return a different type than the object type). This
patch fixes it by simply considering the object expression to be of type
`ASTContext::DependentTy` when the arrow operator is used with a
dependent non-pointer non-function operand (after any implicit
conversions).
Commit: 1066eb55477044a3a92f3a40471375194dfcdbc8
https://github.com/llvm/llvm-project/commit/1066eb55477044a3a92f3a40471375194dfcdbc8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Lower/OpenMP/OpenMP.cpp:2346:14: error: unused variable
'origDirective' [-Werror,-Wunused-variable]
Commit: 79643565a890d29560782fea23877ae61ea5b987
https://github.com/llvm/llvm-project/commit/79643565a890d29560782fea23877ae61ea5b987
Author: chenlin <chenlin138 at huawei.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
Log Message:
-----------
[LoopUnroll] Remove redundant debug instructions after blocks have been merged (#91246)
Remove redundant debug instructions after blocks have been merged into
the predecessor, It can reduce some compile time in some cases.
This change only fixes the situation of loop unrolling, and other
situations are not considered. "RemoveRedundantDbgInstrs" seems to be
very time-consuming. Thus, we just add here after the "Dest" has been
merged into the "Fold", this may be a more targeted solution!!!
fixes: https://github.com/llvm/llvm-project/issues/89073
Commit: 91a14dbf825b79ff143d1b16124763a4a80facab
https://github.com/llvm/llvm-project/commit/91a14dbf825b79ff143d1b16124763a4a80facab
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/test/Dialect/Polynomial/attributes.mlir
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Support polynomial attributes with floating point coefficients (#91137)
In summary:
- `Monomial` -> `MonomialBase` with two inheriting `IntMonomial` and
`FloatMonomial` for the different coefficient types
- `Polynomial` -> `PolynomialBase` with `IntPolynomial` and
`FloatPolynomial` inheriting
- `PolynomialAttr` -> `IntPolynomialAttr`, and new `FloatPolynomialAttr`
attribute, both of which may be input to `polynomial.constant`
- Refactoring common parts of attribute parsers.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 6140b5bae475069f958f90a81fb9d69c969daab6
https://github.com/llvm/llvm-project/commit/6140b5bae475069f958f90a81fb9d69c969daab6
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
Log Message:
-----------
[RISCV] Use RISCVISD::SHL_ADD in transformAddShlImm (#89832)
Doing so avoids negative interactions with other combines which don't
know the shl_add is a single instruction. From the commit log, we've had
several combine loops already.
This was originally posted as part of #88791, where a bug was pointed
out. That bug was fixed by #89789 which hits the same issue from another
angle. To confirm the fix, I included the reduced test case here.
Commit: 37ffbbb19576a884c5bb93b9ac0ae97f89523b6b
https://github.com/llvm/llvm-project/commit/37ffbbb19576a884c5bb93b9ac0ae97f89523b6b
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
A mlir/test/Dialect/SparseTensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor][sparse] don't drop encoding when infer result type (#91817)
A general question is: is it possible to support hooks here to infer the
encoding? E.g., when the extracted tensor slice is rank-reduced, the
encoding need to be updated accordingly as well.
Commit: 2a114d171d4c1e6c742d039a289bf509b86668ac
https://github.com/llvm/llvm-project/commit/2a114d171d4c1e6c742d039a289bf509b86668ac
Author: Jover <joverzh at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
Log Message:
-----------
[clang-tidy] Ignore `if consteval` in else-after-return (#91588)
Commit: ad727b1a6757c4c23b4121192b121fd67219820e
https://github.com/llvm/llvm-project/commit/ad727b1a6757c4c23b4121192b121fd67219820e
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/test/Dialect/Polynomial/attributes.mlir
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Revert "Support polynomial attributes with floating point coefficients (#91137)" (#92001)
This reverts commit 91a14dbf825b79ff143d1b16124763a4a80facab.
Not sure how to fix the build error this introduced, so reverting until
I can figure it out
https://lab.llvm.org/buildbot/#/builders/264/builds/10468
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: cf40c93b5be5cd0011ebbf3a9eead224f7b7079a
https://github.com/llvm/llvm-project/commit/cf40c93b5be5cd0011ebbf3a9eead224f7b7079a
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
A mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
Log Message:
-----------
[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV (#91800)
Context: https://github.com/iree-org/iree/issues/17346.
Test IREE integrate showing it's fixing the problem it's intended to
fix, i.e. it allows IREE to drop its local revert of
https://github.com/llvm/llvm-project/pull/89131:
https://github.com/iree-org/iree/pull/17359
This is added to VectorToSPIRV because SPIRV doesn't currently handle
`vector.interleave` (see motivating context above).
This is limited to 1D, non-scalable vectors.
Commit: 0f7906645d18a38a6b80a1e8e1d425396f6ab353
https://github.com/llvm/llvm-project/commit/0f7906645d18a38a6b80a1e8e1d425396f6ab353
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-opts.mlir
Log Message:
-----------
[mlir][intrange] Fix `arith.shl` inference in case of overflow (#91737)
When an overflow happens during shift left, i.e. the last sign bit or
the most significant data bit gets shifted out, the current approach of
inferring the range of results does not work anymore.
This patch checks for possible overflow and returns the max range in
that case.
Fix https://github.com/llvm/llvm-project/issues/82158
Commit: b8f802f783db481ecfd953c9abe74212a8348aff
https://github.com/llvm/llvm-project/commit/b8f802f783db481ecfd953c9abe74212a8348aff
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
R clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_template_p0522.cpp
Log Message:
-----------
[clang] Allow pack expansions when partial ordering against template template parameters (#91833)
When partial ordering alias templates against template template
parameters, allow pack expansions when the alias has a fixed-size
parameter list.
These expansions were generally disallowed by proposed resolution for
CWG1430.
By previously diagnosing these when checking template template
parameters, we would be too strict in trying to prevent any potential
invalid use.
This flows against the more general idea that template template
parameters are weakly typed, that we would rather allow an argument that
might be possibly misused, and only diagnose the actual misuses during
instantiation.
Since this interaction between P0522R0 and CWG1430 is also a
backwards-compat breaking change, we implement provisional wording to
allow these.
Fixes https://github.com/llvm/llvm-project/issues/62529
Commit: 8ef2011b2cd3a8fc2ef8d6ea0facb1a39a0dd621
https://github.com/llvm/llvm-project/commit/8ef2011b2cd3a8fc2ef8d6ea0facb1a39a0dd621
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Reapply "[OpenACC] device_type clause Sema for Compute constructs"
device_type, also spelled as dtype, specifies the applicability of the
clauses following it, and takes a series of identifiers representing the
architectures it applies to. As we don't have a source for the valid
architectures yet, this patch just accepts all.
Semantically, this also limits the list of clauses that can be applied
after the device_type, so this implements that as well.
This reverts commit 06f04b2e27f2586d3db2204ed4e54f8b78fea74e.
This reapplies commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d.
The build failures were caused by the patch depending on the order of
evaluation of arguments to a function. This reapplication separates out
the capture of one of the values.
Commit: 673114447b66335268467396a073cdaaadd0b601
https://github.com/llvm/llvm-project/commit/673114447b66335268467396a073cdaaadd0b601
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
Log Message:
-----------
[LLD] Implement --enable-non-contiguous-regions (#90007)
When enabled, input sections that would otherwise overflow a memory
region are instead spilled to the next matching output section.
This feature parallels the one in GNU LD, but there are some differences
from its documented behavior:
- /DISCARD/ only matches previously-unmatched sections (i.e., the flag
does not affect it).
- If a section fails to fit at any of its matches, the link fails
instead of discarding the section.
- The flag --enable-non-contiguous-regions-warnings is not implemented,
as it exists to warn about such occurrences.
The implementation places stubs at possible spill locations, and
replaces them with the original input section when effecting spills.
Spilling decisions occur after address assignment. Sections are spilled
in reverse order of assignment, with each spill naively decreasing the
size of the affected memory regions. This continues until the memory
regions are brought back under size. Spilling anything causes another
pass of address assignment, and this continues to fixed point.
Spilling after rather than during assignment allows the algorithm to
consider the size effects of unspillable input sections that appear
later in the assignment. Otherwise, such sections (e.g. thunks) may
force an overflow, even if spilling something earlier could have avoided
it.
A few notable feature interactions occur:
- Stubs affect alignment, ONLY_IF_RO, etc, broadly as if a copy of the
input section were actually placed there.
- SHF_MERGE synthetic sections use the spill list of their first
contained input section (the one that gives the section its name).
- ICF occurs oblivious to spill sections; spill lists for merged-away
sections become inert and are removed after assignment.
- SHF_LINK_ORDER and .ARM.exidx are ordered according to the final
section ordering, after all spilling has completed.
- INSERT BEFORE/AFTER and OVERWRITE_SECTIONS are explicitly disallowed.
Commit: 81f34afa5c39584c2721000e2bcf3b8ec02a4f4d
https://github.com/llvm/llvm-project/commit/81f34afa5c39584c2721000e2bcf3b8ec02a4f4d
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
R lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
R lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
Log Message:
-----------
Revert "[LLD] Implement --enable-non-contiguous-regions" (#92005)
Reverts llvm/llvm-project#90007
Broke in merging I think.
Commit: 276c0bd4b386cc6b9d91e5e44ca7b053c11f13b5
https://github.com/llvm/llvm-project/commit/276c0bd4b386cc6b9d91e5e44ca7b053c11f13b5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
Log Message:
-----------
[lldb][ExpressionParser][NFCI] Log pointers as hex (#91989)
This ensures that we log pointers as lower-case hex. E.g., instead of:
```
LayoutRecordType on (ASTContext*)0x000000010E78D600 'scratch ASTContext' for (RecordDecl*)0x000000010E797
```
we now log:
```
LayoutRecordType on (ASTContext*)0x000000010e78d600 'scratch ASTContext' for (RecordDecl*)0x000000010e797
```
Which is consistent with how the AST dump gets emitted into the log.
This makes it easier to correlate pointers we log from LLDB and pointers
that are part of any AST dumps in the same `expr` log.
Commit: 0df67fa212feb3cb503cd05c440afac446bb9457
https://github.com/llvm/llvm-project/commit/0df67fa212feb3cb503cd05c440afac446bb9457
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
M clang/test/Driver/rewrite-legacy-objc.m
M clang/test/Driver/rewrite-objc.m
Log Message:
-----------
Revert "[clang] Revert default behavior change of P0522R0 implementation (#91811)" (#91837)
With blocking issues fixed, re-enable relaxed template template argument
matching by reverting these commits.
This reverts commit 4198aebc96cb0236fc63e29a92d886e6a2e3fedb.
This reverts commit 2d5634a4b39d8e5497b6a67caa54049b3cfade8e.
Commit: 5df01ed79c47b0b10ea6be87251ec6e0484515a5
https://github.com/llvm/llvm-project/commit/5df01ed79c47b0b10ea6be87251ec6e0484515a5
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
R mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
Log Message:
-----------
Revert "[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV" (#92006)
Reverts llvm/llvm-project#91800
Reason: https://lab.llvm.org/buildbot/#/builders/268/builds/13935
Commit: d03a1a6e5838c7c2c0836d71507dfdf7840ade49
https://github.com/llvm/llvm-project/commit/d03a1a6e5838c7c2c0836d71507dfdf7840ade49
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Compute knownbits from known fp classes (#86409)
This patch calculates knownbits from fp instructions/dominating fcmp
conditions. It will enable more optimizations with signbit idioms.
Commit: 08177541267fff84a96701fc5fc232eb4f12f9d9
https://github.com/llvm/llvm-project/commit/08177541267fff84a96701fc5fc232eb4f12f9d9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
Log Message:
-----------
[RISCV] Improve testing of loads with offset in local-stack-slot-allocation.ll. NFC
The test we had didn't match it's description.
Now we have one test with a large offset that requires a virtual base register
and a test with a smaller offset that should not.
There is currently a bug that causes the offset to double counted
leading to the small case also using a virtual base register.
Commit: 026686bac606ac03d688a44f2ea4cb829d7b08bc
https://github.com/llvm/llvm-project/commit/026686bac606ac03d688a44f2ea4cb829d7b08bc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
Log Message:
-----------
[RISCV] Don't add getFrameIndexInstrOffset in RISCVRegisterInfo::needsFrameBaseReg.
It's already added in isFrameOffsetLegal so adding it in needsFrameBaseReg
causes it to be double counted.
Commit: 66466ff151bd71fa64c63d951173efc589df2860
https://github.com/llvm/llvm-project/commit/66466ff151bd71fa64c63d951173efc589df2860
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
Log Message:
-----------
Reland: [LLD] Implement --enable-non-contiguous-regions (#90007)
When enabled, input sections that would otherwise overflow a memory
region are instead spilled to the next matching output section.
This feature parallels the one in GNU LD, but there are some differences
from its documented behavior:
- /DISCARD/ only matches previously-unmatched sections (i.e., the flag
does not affect it).
- If a section fails to fit at any of its matches, the link fails
instead of discarding the section.
- The flag --enable-non-contiguous-regions-warnings is not implemented,
as it exists to warn about such occurrences.
The implementation places stubs at possible spill locations, and
replaces them with the original input section when effecting spills.
Spilling decisions occur after address assignment. Sections are spilled
in reverse order of assignment, with each spill naively decreasing the
size of the affected memory regions. This continues until the memory
regions are brought back under size. Spilling anything causes another
pass of address assignment, and this continues to fixed point.
Spilling after rather than during assignment allows the algorithm to
consider the size effects of unspillable input sections that appear
later in the assignment. Otherwise, such sections (e.g. thunks) may
force an overflow, even if spilling something earlier could have avoided
it.
A few notable feature interactions occur:
- Stubs affect alignment, ONLY_IF_RO, etc, broadly as if a copy of the
input section were actually placed there.
- SHF_MERGE synthetic sections use the spill list of their first
contained input section (the one that gives the section its name).
- ICF occurs oblivious to spill sections; spill lists for merged-away
sections become inert and are removed after assignment.
- SHF_LINK_ORDER and .ARM.exidx are ordered according to the final
section ordering, after all spilling has completed.
- INSERT BEFORE/AFTER and OVERWRITE_SECTIONS are explicitly disallowed.
Commit: dc7ce3b41c936c4cc189b4bbf6a2e3b5475d9fc5
https://github.com/llvm/llvm-project/commit/dc7ce3b41c936c4cc189b4bbf6a2e3b5475d9fc5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
[lldb][TypeSystem][NFCI] Log creation of new TypeSystem instances to expression log (#91985)
We emit `ASTContext` and `TypeSystem` pointers into the `expr` log but
there is no easy way (that I know of) to correlate the pointer value
back to an easily readible form. This patch simply logs the name of the
`TypeSystem` and the associated `ASTContext` into the `expr` channel
whenever we create a new `TypeSystemClang`.
The following is an example of the new log entries:
```
$ grep Created /tmp/lldb.log
Created new TypeSystem for (ASTContext*)0x0000000101a2e200 'ASTContext for '/Users/michaelbuch/a.out''
Created new TypeSystem for (ASTContext*)0x0000000102512a00 'scratch ASTContext'
Created new TypeSystem for (ASTContext*)0x0000000102116a00 'ClangModulesDeclVendor ASTContext'
Created new TypeSystem for (ASTContext*)0x00000001022e8c00 'Expression ASTContext for '<user expression 0>''
Created new TypeSystem for (ASTContext*)0x00000001103e7200 'AppleObjCTypeEncodingParser ASTContext'
Created new TypeSystem for (ASTContext*)0x00000001103f7000 'AppleObjCDeclVendor AST'
Created new TypeSystem for (ASTContext*)0x00000001104bfe00 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x0000000101f01000 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x00000001025d3c00 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x0000000110422400 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x000000011602c200 'Expression ASTContext for '<user expression 1>''
Created new TypeSystem for (ASTContext*)0x0000000110641600 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x0000000110617400 'Expression ASTContext for '<clang expression>''
```
Commit: 4a67f809828e11988c6a097cb400fd7cbbf47628
https://github.com/llvm/llvm-project/commit/4a67f809828e11988c6a097cb400fd7cbbf47628
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64_tree_tests.ll
M llvm/test/CodeGen/SPARC/inlineasm-bad.ll
M llvm/test/MC/AArch64/SVE/index.s
M llvm/test/MC/XCOFF/inlineasm.s
M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
Log Message:
-----------
[test] Fix check prefixes
Commit: bd679865c05b29450428ad460e59e2dcd07fe974
https://github.com/llvm/llvm-project/commit/bd679865c05b29450428ad460e59e2dcd07fe974
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
Log Message:
-----------
[AMDGPU] Add tests for vector rebroadcast. (#91322)
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: 69937982dbdd73172ec06580f6f93616edca8e9e
https://github.com/llvm/llvm-project/commit/69937982dbdd73172ec06580f6f93616edca8e9e
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp
Log Message:
-----------
[clang-tidy] Ignore unevaluated context in bugprone-optional-value-conversion (#90410)
Ignore optionals in unevaluated context, like static_assert or decltype.
Closes #89593
Commit: af79372d6349cfba6beff26d54b7ad1b798fc4d5
https://github.com/llvm/llvm-project/commit/af79372d6349cfba6beff26d54b7ad1b798fc4d5
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
Log Message:
-----------
[clang-tidy] Add modernize-use-std-format check (#90397)
Add a new clang-tidy check that converts absl::StrFormat (and similar
functions) to std::format (and similar functions.)
Split the configuration of FormatStringConverter out to a separate
Configuration class so that we don't risk confusion by passing two
boolean configuration parameters into the constructor. Add
AllowTrailingNewlineRemoval option since we never want to remove
trailing newlines in this check.
Commit: 5944579ab20cfcb6d1a9d1a2fe3d4b478ea24c64
https://github.com/llvm/llvm-project/commit/5944579ab20cfcb6d1a9d1a2fe3d4b478ea24c64
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port af79372d6349
Commit: a037d88929460ff9571927c56d6db215be086149
https://github.com/llvm/llvm-project/commit/a037d88929460ff9571927c56d6db215be086149
Author: Lei Zhang <antiagainst at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Log Message:
-----------
[mlir][gpu] Support extf before contract when converting to MMA ops (#91988)
This commit allows `inferFragType` to see through all arith.ext op
and other elementwise users before reaching contract op for
figuring out the fragment type.
Commit: 54b17fa4eefb7ccb00fba8189e92fac2d46cc481
https://github.com/llvm/llvm-project/commit/54b17fa4eefb7ccb00fba8189e92fac2d46cc481
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
Log Message:
-----------
[BOLT] Preserve Offset annotation in fixDoubleJumps (#91898)
Offset annotation was missed when optimizing an unconditional branch to
a tail call.
Test Plan: update bb-with-two-tail-calls.s
Commit: fd4b5f4b52e414bb6fee7c906a22867891fb46b5
https://github.com/llvm/llvm-project/commit/fd4b5f4b52e414bb6fee7c906a22867891fb46b5
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Add CMake dependency tracking for SBLanguages generation script (#91686)
If you change the generation script and re-run ninja (or whatever drives
your build), it currently will not regenerate SBLanguages.h. With
dependency tracking, it should re-run when the script changes.
Commit: a1d43c14d8a672730af48d946acc41fa01cf301e
https://github.com/llvm/llvm-project/commit/a1d43c14d8a672730af48d946acc41fa01cf301e
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
A mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV (#92012)
This is the second attempt at merging #91800, which bounced due to a
linker error apparently caused by an undeclared dependency.
`MLIRVectorToSPIRV` needed to depend on `MLIRVectorTransforms`. In fact
that was a preexisting issue already flagged by the tool in
https://discourse.llvm.org/t/ninja-can-now-check-for-missing-cmake-dependencies-on-generated-files/74344.
Context: https://github.com/iree-org/iree/issues/17346.
Test IREE integrate showing it's fixing the problem it's intended to
fix, i.e. it allows IREE to drop its local revert of
https://github.com/llvm/llvm-project/pull/89131:
https://github.com/iree-org/iree/pull/17359
This is added to VectorToSPIRV because SPIRV doesn't currently handle
`vector.interleave` (see motivating context above).
This is limited to 1D, non-scalable vectors.
Commit: 31a203fa8af47a8b2e8e357857b114cf90638b2e
https://github.com/llvm/llvm-project/commit/31a203fa8af47a8b2e8e357857b114cf90638b2e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaObjC.h
M clang/lib/ARCMigrate/Transforms.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
A clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Introduce `SemaObjC` (#89086)
This is continuation of efforts to split `Sema` up, following the
example of OpenMP, OpenACC, etc. Context can be found in
https://github.com/llvm/llvm-project/pull/82217 and
https://github.com/llvm/llvm-project/pull/84184.
I split formatting changes into a separate commit to help reviewing the
actual changes.
Commit: bb867b59b86ec48bb8a4e399cbb7ee99c7981d32
https://github.com/llvm/llvm-project/commit/bb867b59b86ec48bb8a4e399cbb7ee99c7981d32
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
Log Message:
-----------
[MLIR] NFC: change variable name to lowercase to follow mlir convention. (#91974)
Commit: e1223804458a99f82dc110d41647410bdac420df
https://github.com/llvm/llvm-project/commit/e1223804458a99f82dc110d41647410bdac420df
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use VPBuilder to create Select (NFCI).
Commit: a4b3422536c712dcb198223822424ff15fb9e45b
https://github.com/llvm/llvm-project/commit/a4b3422536c712dcb198223822424ff15fb9e45b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 31a203fa8af4
Commit: a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
https://github.com/llvm/llvm-project/commit/a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
Log Message:
-----------
[test] Use conventional -emit-llvm-only
This avoids 'Permission denied' when PWD is read-only.
While here, change the triple from a Linux one to a generic ELF one.
Commit: c3028a230557405b0f10bdd7d450f7f92747bbe3
https://github.com/llvm/llvm-project/commit/c3028a230557405b0f10bdd7d450f7f92747bbe3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
Log Message:
-----------
[RISCV] Don't exlude the frame pointer from the callee saved registers in RISCVRegisterInfo::needsFrameBaseReg.
Instead of using getReservedRegs, just check the subtarget reserved
list. getReservedRegs considers the frame pointer to be reserved when
it is being used, but we do need to save/restore it so it should be
counted as a callee saved register. AArch64 hardcodes their callee
saved size, but the comment mentions the Frame Pointer being counted.
Commit: 55e59083cb610f30ad21fe8c8cdb9900534937ec
https://github.com/llvm/llvm-project/commit/55e59083cb610f30ad21fe8c8cdb9900534937ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
Log Message:
-----------
[RISCV] Exclude vector callee saved registers from RISCVRegisterInfo::needsFrameBaseReg
The vector callee saved registers shouldn't affect the frame pointer
offset so we don't want to consider them.
I've listed the GPR, FPR32, and FPR64 register classes explicitly
because getMinimalPhysRegClass is slow and this function is called
frequently. So explicitly listing the interesting classs should be
a compile time improvement.
Commit: 34de2151e2328db800bcd226f31cb6b0cdcf08bb
https://github.com/llvm/llvm-project/commit/34de2151e2328db800bcd226f31cb6b0cdcf08bb
Author: David Green <david.green at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/ptradd.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve legalization of G_PTR_ADD (#91763)
The testing we have for vector ptradd was a bit lacking. In adding tests
this patch found a couple of issues mostly with the way v3 vectors of
ptrs were sometimes legalized via i64, and with non-i64 additions. It
does not attempt to fix the issue with mergevalues from returning vector
ptrs.
Commit: ef9090fcb5b8d1c9f56c11d567987ffa1000a486
https://github.com/llvm/llvm-project/commit/ef9090fcb5b8d1c9f56c11d567987ffa1000a486
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/NVPTX/global-variable-big.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/msan_x86_bts_asm.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Log Message:
-----------
[test] Fix check prefixes
Commit: 70e227a404e51f9248c7ad5d79953805b2afacb4
https://github.com/llvm/llvm-project/commit/70e227a404e51f9248c7ad5d79953805b2afacb4
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
A mlir/test/Dialect/SparseTensor/sparse_relu.mlir
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir][sparse] recognize ReLu operation during sparsification (#92016)
This is a proof of concept recognition of the most basic forms of ReLu
operations, used to show-case sparsification of end-to-end PyTorch
models. In the long run, we must avoid lowering such constructs too
early (with this need for raising them back).
See discussion at
https://discourse.llvm.org/t/min-max-abs-relu-recognition-starter-project/78918
Commit: 4ecf2caf687014a63f0434a63fe9a522ec9be445
https://github.com/llvm/llvm-project/commit/4ecf2caf687014a63f0434a63fe9a522ec9be445
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Use aggregated FuncBranchData in writeBATYAML
Switch from FuncBranchData intermediate maps (Intra/InterIndex)
to aggregated Data, same as one used by DataReader:
https://github.com/llvm/llvm-project/blob/e62ce1f8842cca36eb14126d79dcca0a85bf6d36/bolt/lib/Profile/DataReader.cpp#L385-L389
This aligns the order of the output between YAMLProfileWriter and
writeBATYAML.
Test Plan: updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: ayermolo, maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/91289
Commit: efc7bbb917428393f543b09eecddf6e4bb5fce08
https://github.com/llvm/llvm-project/commit/efc7bbb917428393f543b09eecddf6e4bb5fce08
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
A llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
Log Message:
-----------
[AMDGPU] Make v2bf16 BUILD_VECTOR legal (#92022)
There is nothing specific here and it is not different from i16 or f16.
Commit: 561c42df5712c346d4de2e6499b06712403d3164
https://github.com/llvm/llvm-project/commit/561c42df5712c346d4de2e6499b06712403d3164
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/errno_macros.h
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/error-number-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/error-number-macros.h
A libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
A libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc][errno] Use macro instead of system header (#91150)
## Why
Currently, the system header `errno.h` is included in `libc_errno.h`,
which is supposed to be consumed by internal implementations only. As
unit and hermetic tests should never use `#include <errno.h>` but
instead use `#include "src/errno/libc_errno.h"`, we do not want to
implicitly include `errno.h`. In order to have a clear seperation
between those two, we want to pull out the definitions of errno numbers
from `errno.h`.
## What
* Extract the definitions of errno numbers from
[include/errno.h.def](https://github.com/llvm/llvm-project/pull/91150/files#diff-ed38ed463ed50571b498a5b69039cab58dc9d145da7f751a24da9d77f07781cd)
and place it under
[include/llvm-libc-macros/linux/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-d6192866629690ebb7cefa1f0a90b6675073e9642f3279df08a04dcdb05fd892)
* Provide mips-specific errno numbers in
[include/llvm-libc-macros/linux/mips/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-3fd35a4c94e0cc359933e497b10311d857857b2e173e8afebc421b04b7527743)
* Find definition of mips errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/mips/bits/errno.h#L32-L50)
(equally defined in the Linux kernel)
* Provide sparc-specific errno numbers in
[include/llvm-libc-macros/linux/sparc/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-5f16ffb2a51a6f72ebd4403aca7e1edea48289c99dd5978a1c84385bec4f226b)
* Find definition of sparc errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/sparc/bits/errno.h#L33-L51)
(equally defined in the Linux kernel)
* Include proxy header `errno_macros.h` instead of the system header
`errno.h` in `libc_errno.h`/`libc_errno.cpp`
Closes https://github.com/llvm/llvm-project/issues/80172
Commit: c5e67b86ef6718585120e3cabb04c1fc2d292cfb
https://github.com/llvm/llvm-project/commit/c5e67b86ef6718585120e3cabb04c1fc2d292cfb
Author: Sayan Saha <sayans at mathworks.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] [tensor] Crash in getPackOpResultTypeShape for tensor.pack/unpack ops. (#90641)
Windows build of `mlir` with Visual Studio (19.36.32538 for x64) using
with the following command:
`cmake.exe -GNinja -DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_PROJECTS=mlir -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=1
-DLLVM_TARGETS_TO_BUILD=host ../llvm`
is leading to a crash when calling canonicalization on
`tensor.pack`/`tensor.unpack` ops `mlir-opt --canonicalize input.mlir`
where the `input.mlir` is as follows (this is taken from one of the
filecheck tests for `tensor.pack`):
```
func.func @pack_unpack(%arg0: tensor<128x256xf32>) -> tensor<128x256xf32> {
%pack_dest = tensor.empty() : tensor<8x16x8x32xf32>
%unpack_dest = tensor.empty() : tensor<128x256xf32>
%tp = tensor.pack %arg0 outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %pack_dest : tensor<128x256xf32> -> tensor<8x16x8x32xf32>
%tup = tensor.unpack %tp outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %unpack_dest : tensor<8x16x8x32xf32> -> tensor<128x256xf32>
return %tup : tensor<128x256xf32>
}
```
The crash is seemingly coming from invalid memory access during
iterating over `innerDimsPos` within `getPackOpResultTypeShape`.
This crash is also causing the following tests to fail:
```
MLIR :: Dialect/Linalg/canonicalize.mlir
MLIR :: Dialect/Linalg/data-layout-propagation.mlir
MLIR :: Dialect/Linalg/generalize-tensor-pack-tile.mlir
MLIR :: Dialect/Linalg/generalize-tensor-pack.mlir
MLIR :: Dialect/Linalg/generalize-tensor-unpack-tile.mlir
MLIR :: Dialect/Linalg/generalize-tensor-unpack.mlir
MLIR :: Dialect/Linalg/transform-lower-pack.mlir
MLIR :: Dialect/Linalg/transform-op-fuse.mlir
MLIR :: Dialect/Linalg/transform-op-pack.mlir
MLIR :: Dialect/Linalg/transform-pack-greedily.mlir
MLIR :: Dialect/Tensor/canonicalize.mlir
MLIR :: Dialect/Tensor/fold-into-pack-and-unpack.mlir
MLIR :: Dialect/Tensor/invalid.mlir
MLIR :: Dialect/Tensor/ops.mlir
MLIR :: Dialect/Tensor/simplify-pack-unpack.mlir
MLIR :: Dialect/Tensor/tiling.mlir
```
Commit: 8960078765f141c770f70629a205b3ea88cd9781
https://github.com/llvm/llvm-project/commit/8960078765f141c770f70629a205b3ea88cd9781
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/hdr/errno_macros.h
Log Message:
-----------
[libc][errno] Include <linux/errno.h> for Linux in full build mode. (#92041)
Commit: 943baf327409fdcb01c9d02aa3c3368f2fca114b
https://github.com/llvm/llvm-project/commit/943baf327409fdcb01c9d02aa3c3368f2fca114b
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Make compareByFilePosition a strict weak order
This fixes the new test linkerscript/enable-non-contiguous-regions.test
from #90007 in -stdlib=libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG builds.
adjustOutputSections does not discard the output section .potential_a
because it contained .a (which would be spilled to .actual_a).
.potential_a and .bc have the same address and will cause an assertion
failure.
Commit: 531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
https://github.com/llvm/llvm-project/commit/531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Reapply Fix DXIL part header version encoding (#91956)
This reapplies
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
[DirectX] Fix DXIL part header version encoding. The endian issue was
fixed by
https://github.com/llvm/llvm-project/commit/f42117c8517cc928c6373bad35ebf75d94fe865b.
Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.
Fixes #89952
Commit: 6cfac497e96978f2bfc50a00b51c198f2ed50f82
https://github.com/llvm/llvm-project/commit/6cfac497e96978f2bfc50a00b51c198f2ed50f82
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Mark delayed-definition-die-searching.test unsupported on Windows
This marks delayed-definition-die-searching.test as unsupported on
Windows. Clang uses link.exe as default linker if not marked explicitly
to use lld. When used with link.exe clang produces PDB format debug info
even when -gdwarf is specified.
This test will be unsupported until we make lldb-aarch64-windows buildbot
to use lld.
Commit: ec3bc2fbbf73c834697283a7066a8efe88bd0058
https://github.com/llvm/llvm-project/commit/ec3bc2fbbf73c834697283a7066a8efe88bd0058
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Use printRegName in RISCVInstPrinter::printRlist. NFC
Instead of hardcoding all of the register name strings.
Commit: b342d18a8f0240342ea5c461145e78c6e3af92cc
https://github.com/llvm/llvm-project/commit/b342d18a8f0240342ea5c461145e78c6e3af92cc
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/abs_timeout.h
A libc/src/__support/time/linux/clock_conversion.h
R libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/linux/monotonicity.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/time/CMakeLists.txt
A libc/test/src/__support/time/linux/CMakeLists.txt
A libc/test/src/__support/time/linux/timeout_test.cpp
Log Message:
-----------
[libc] add timeout and clock conversion utilities (#91905)
This PR:
- Make `clock_gettime` a header-only library
- Add `clock_conversion` header library to allow conversion between
clocks relative to the time of call
- Add `timeout` header library to manage the absolute timeout used in
POSIX's timed locking/waiting APIs
Commit: 5b6f15110422f4955212bd26a96057972e3304ad
https://github.com/llvm/llvm-project/commit/5b6f15110422f4955212bd26a96057972e3304ad
Author: Lei Wang <wlei at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-matching-LCS.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
Log Message:
-----------
[SampleFDO] Improve stale profile matching by diff algorithm (#87375)
This change improves the matching algorithm by using the diff algorithm,
the current matching algorithm only processes the callsites grouped by
the same name functions, it doesn't consider the order relationships
between different name functions, this sometimes fails to handle this
ambiguous anchor case. For example. (`Foo:1` means a
calliste[callee_name: callsite_location])
```
IR : foo:1 bar:2 foo:4 bar:5
Profile : bar:3 foo:5 bar:6
```
The `foo:1` is matched to the 2nd `foo:5` and using the diff
algorithm(finding longest common subsequence ) can help on this issue.
One well-known diff algorithm is the Myers diff algorithm(paper "An
O(ND) Difference Algorithm and Its Variations∗" Eugene W. Myers), its
variations have been implemented and used in many famous tools, like the
GNU diff or git diff. It provides an efficient way to find the longest
common subsequence or the shortest edit script through graph searching.
There are several variations/refinements for the algorithm, but as in
our case, the num of function callsites is usually very small, so we
implemented the basic greedy version in this change which should be good
enough.
We observed better matchings and positive perf improvement on our
internal services.
Commit: 435771228caf77cce35406ecf57a49a06e227fe4
https://github.com/llvm/llvm-project/commit/435771228caf77cce35406ecf57a49a06e227fe4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Inogre CallingConv::RISCV_VectorCall in getCalleeSavedRegs if V/Zve is not enabled.
We can't save vector registers without V/Zve.
Commit: 4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
https://github.com/llvm/llvm-project/commit/4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
Author: Michael Jones <michaelrj at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] add errno_macro header to bazel build (#92044)
Patch #91150 added a proxy header for errno macros. This patch fixes the
bazel build since it needs to be added as a dependency.
Commit: c99d1156c28dfed67a8479dd97608d1f0d6cd593
https://github.com/llvm/llvm-project/commit/c99d1156c28dfed67a8479dd97608d1f0d6cd593
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A .github/workflows/pr-request-release-note.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Add a job for requesting a release note on release branch PRs (#91826)
We have been collecting release notes from the PRs for most of the
18.1.x releases and this just helps automate the process.
Commit: 23f8fac745bdde70ed4f9c585d19c4913734f1b8
https://github.com/llvm/llvm-project/commit/23f8fac745bdde70ed4f9c585d19c4913734f1b8
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Revert "Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)""
This reverts commit 91446e2aa687ec57ad88dc0df793d0c6e694a7c9 and
a unittest followup 1530f319311908b06fe935c89fca692d3e53184f (#90476).
In a stage-2 -flto=thin -gsplit-dwarf -g -fdebug-info-for-profiling
-fprofile-sample-use= build of clang, a ThinLTO backend compile has
assertion failures:
Global is external, but doesn't have external or weak linkage!
ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
function declaration may only have a unique !dbg attachment
ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
The failures somehow go away if -fprofile-sample-use= is removed.
Commit: ad1083dce4f664265c5489ecd2e46649cd978683
https://github.com/llvm/llvm-project/commit/ad1083dce4f664265c5489ecd2e46649cd978683
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
Log Message:
-----------
[mlir][sparse] introduce new pass to propagate sparse encodings. (#92052)
Commit: 595de12ff307f3f06f4ccd2acafc400cc1262bc6
https://github.com/llvm/llvm-project/commit/595de12ff307f3f06f4ccd2acafc400cc1262bc6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[APFloat] Replace partsCount array with single variable (NFC) (#91910)
We only ever use the last element of this array, so there shouldn't be a
need to store the preceding elements as well.
Commit: 37b8e5feb1d065a7c474e6595bac6d2f65faeb51
https://github.com/llvm/llvm-project/commit/37b8e5feb1d065a7c474e6595bac6d2f65faeb51
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
Log Message:
-----------
Revert "[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)"
This reverts commit 9a7262c2601874e5aa64c5db19746770212d4b44.
Commit: 70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
https://github.com/llvm/llvm-project/commit/70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
Revert "[lldb][DWARF] Do not complete type from declaration die. (#91799)"
This reverts commit a7eff59f78f08f8ef0487dfe2a136fb311af4fd0.
Commit: b06f97b039b3a4f2397281609069b2aaad86dd59
https://github.com/llvm/llvm-project/commit/b06f97b039b3a4f2397281609069b2aaad86dd59
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/profile-passthrough-block.test
Log Message:
-----------
[BOLT] Allow pass-through blocks in YAMLProfileReader (#91828)
Commit: b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
https://github.com/llvm/llvm-project/commit/b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64] Clarify atomic load/store size condition (NFCI) (#91907)
This is currently bailing out on MemSizeInBytes larger than 64 bytes.
However, the following code can only handle sizes up to 8 bytes.
Possibly there was confusion here between MemSizeInBytes and
MemSizeInBits.
I *think* that this can't actually result in an out of bounds read of
the opcode table because we'll only ever mark loads/stores of up to 8
bytes as legal (16 byte atomics are custom-legalized earlier). As such,
I've changed this condition to an assert.
Commit: 4420ea7a4971eadad528c0cd609da471a7614422
https://github.com/llvm/llvm-project/commit/4420ea7a4971eadad528c0cd609da471a7614422
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
Log Message:
-----------
[StringMap] Move free into StringMapImpl dtor (NFC) (#91908)
StringMapImpl allocates the memory for the table, but does not have a
dtor that free it. Instead, StringMap (which inherits from
StringMapImpl) contains the free call. I don't really see a good reason
why this free is performed in the "wrong" class, so move it into
StringMapImpl.
Commit: 22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
https://github.com/llvm/llvm-project/commit/22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port libc #91905
Commit: e6b2197a89f5d6d0f56a03c03b8afda561eee899
https://github.com/llvm/llvm-project/commit/e6b2197a89f5d6d0f56a03c03b8afda561eee899
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
R lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
Revert a test that was failing after a previous reversion.
This test was modified as part of the commit:
9a7262c2601874e5aa64c5db19746770212d4b44
but without that patch this test is failing. Remove the test for now
till the issue with the original patch can be sorted out.
Commit: f12018eba11f8d4b74cf67dbc416c429c870a5f4
https://github.com/llvm/llvm-project/commit/f12018eba11f8d4b74cf67dbc416c429c870a5f4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
Log Message:
-----------
[clang-tidy] support expect no diagnosis test (#91293)
When someone wants to declare a test case without any diagnosis.
check-clang-tidy will failed with error message
```
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES not found in the input
```
This PR want to check there are no diagnosis from clang-tidy when
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES are not found.
It also changes the extension of a test case. `hxx` is not a valid test
case extension and won't be tested.
---------
Co-authored-by: Danny Mösch <danny.moesch at icloud.com>
Commit: 881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
https://github.com/llvm/llvm-project/commit/881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Do not combine FP_TRUNC + FP_EXTEND if they come from user (#91420)
As discussed in
https://github.com/llvm/llvm-project/commit/3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
We are not allowed to combine explicit fptrunc/fpext from user.
Commit: c72e94382c21db2f5ff066d72103ac55eb8d2874
https://github.com/llvm/llvm-project/commit/c72e94382c21db2f5ff066d72103ac55eb8d2874
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format][NFC] Move LeftRightQualifierAlignmentFixer::is...() (#91930)
Move static member functions LeftRightQualifierAlignmentFixer::is...()
out of the class so that #91712 can reland.
Commit: e20800c16f0570562fea31e9a02d65ba56e6858a
https://github.com/llvm/llvm-project/commit/e20800c16f0570562fea31e9a02d65ba56e6858a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format][NFC] Test IsQualifier only needs to call the lexer
Commit: 05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
https://github.com/llvm/llvm-project/commit/05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Analysis/MustExecute/const-cond.ll
Log Message:
-----------
[MustExec] Drop duplicate RUN line (NFC)
Commit: 3a25e358e2957cce912e701a544fb6163f572575
https://github.com/llvm/llvm-project/commit/3a25e358e2957cce912e701a544fb6163f572575
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-mustexec.ll
Log Message:
-----------
[LICM] Generate test checks (NFC)
Commit: b7adba8e78662b901099dac5e06fd9f4beda22b4
https://github.com/llvm/llvm-project/commit/b7adba8e78662b901099dac5e06fd9f4beda22b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-mustexec.ll
Log Message:
-----------
[LICM] Add must exec hoisting test with commuted operands (NFC)
Commit: 7198c3d613f1087c78124928cbe2cbc4e03a0e5a
https://github.com/llvm/llvm-project/commit/7198c3d613f1087c78124928cbe2cbc4e03a0e5a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Reduce the amount of similar code in RISCVInstPrinter::printRlist. NFC (#92053)
Remove the switch statement and instead do range checks to know which
pieces we need to print.
Commit: f608ac261781b7707b2721563765e07c57366619
https://github.com/llvm/llvm-project/commit/f608ac261781b7707b2721563765e07c57366619
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Actually port libc #91905
Commit: cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
https://github.com/llvm/llvm-project/commit/cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow explicit instantiation of Ref/RefPtr on call arguments. (#91875)
Co-authored-by: Ryosuke Niwa <rniwa at apple.com>
Commit: cff9e77783aceb52da705b7e2b2e45bfbc86c628
https://github.com/llvm/llvm-project/commit/cff9e77783aceb52da705b7e2b2e45bfbc86c628
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][NFC] Mark P2552 as implemented. (#92007)
wg21.link/P2552 suggest that __has_cpp_attribute
should return a non-zero value for all attributes that the
implementation does something interesting with.
Clang does something meaninful with all attributes except for:
- no_unique_address which we do not support for msvc target
- carries_dependency which arguably does nothing interesting. P2552
shies away from specifying a behavior for that attribute (despite being
the only one for which a recommandation would have been interesting,
arguably)
As such, we have nothing to change for this paper. This paper is a DR
and clang always behaved reasonably.
Commit: e5a277b16755ad273d6c1caa5dd29b4a3ae29078
https://github.com/llvm/llvm-project/commit/e5a277b16755ad273d6c1caa5dd29b4a3ae29078
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Add initial support for marking profiles as experimental (#91993)
This is just the TableGen-side changes, split out as the minimal
testable unit. It doesn't yet transition RVA23 and friends to be
experimental (and add the necessary other changes for this to work).
Although choosing not to emit the SupportedExperimentalProfiles array if
no experimental profiles are present isn't consistent with what we do
for experimental extensions, we need to do this in order to avoid adding
a warning for the empty array when building LLVM for as long as we don't
have any experimental profiles defined.
Commit: f0a681640e012356974024dd2971d74fc18f5b48
https://github.com/llvm/llvm-project/commit/f0a681640e012356974024dd2971d74fc18f5b48
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Remove AllPopRegs array from RISCVFrameLowering.cpp. NFC
The same registers are listed in the same order in FixedCSRFIMap.
Commit: 96c23af8b39a222ce1facd2ec621fbe661e072b7
https://github.com/llvm/llvm-project/commit/96c23af8b39a222ce1facd2ec621fbe661e072b7
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/__support/time/units.h
Log Message:
-----------
[libc] fix 32bit arm build (casting time_t) (#92065)
Commit: 364f988d3feb46ead8fdb657c9eab78d93425a28
https://github.com/llvm/llvm-project/commit/364f988d3feb46ead8fdb657c9eab78d93425a28
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Reland "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"
Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.
Commit: cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
https://github.com/llvm/llvm-project/commit/cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/errno/libc_errno.cpp
Log Message:
-----------
[libc][errno] Remove unnecessary include (#92063)
Since https://github.com/llvm/llvm-project/pull/91150, a proxy header
for the errno macros is available and gets included in `libc_errno.h`
since then.
As `libc_errno.cpp` includes `libc_errno.h`, which already includes the
proxy header `hdr/errno_macros.h`, there's no need to include it in
`libc_errno.cpp` if we are in overlay mode, because the proxy header
takes care to either include our header from libc/include/ (fullbuild)
or the corresponding underlying system header (overlay).
Commit: f3b8d91ca885744925ce775026df40660d9a4d4e
https://github.com/llvm/llvm-project/commit/f3b8d91ca885744925ce775026df40660d9a4d4e
Author: appujee <124090381+appujee at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
LLVM vectorizer working group (#92068)
Recurring meeting at 3rd Thursday of every month.
Commit: 12c0024d196189bd38a140512c0bfbda85d8d75e
https://github.com/llvm/llvm-project/commit/12c0024d196189bd38a140512c0bfbda85d8d75e
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] Move extension aliases into tablegen (#91970)
Commit: 922fafaff83319e33e8a890a692df073d3ce55c9
https://github.com/llvm/llvm-project/commit/922fafaff83319e33e8a890a692df073d3ce55c9
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
[GlobalISel] Micro-optimize getConstantVRegValWithLookThrough (#91969)
I was benchmarking the MatchTable when I found that
`getConstantVRegValWithLookThrough` took a non-negligible amount of
time, about 7.5% of all of
`AArch64PreLegalizerCombinerImpl::tryCombineAll`.
I decided to take a closer look to see if I could squeeze some
performance out of it, and I landed on a few changes that:
- Avoid copying APint unnecessarily, especially returning
std::optional<APInt> can be expensive when a out parameter also works.
- Avoid indirect call by using templated function pointers instead of
function_ref/std::function
Both of those changes seem to speedup this function by about 50%, but my
benchmarking (`perf record`) seems inconsistent (so take measurements
with a grain of salt), I saw as high as 4.5% and as low as 2% for this
function on the exact same input after the changes, but it never got
close again to 7% in a few runs so this looks like a stable improvement.
Commit: ea238974e1b5f2243b6753c2d737c1f04dd1f17b
https://github.com/llvm/llvm-project/commit/ea238974e1b5f2243b6753c2d737c1f04dd1f17b
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir] [TOSA] Allow any floating point type (#91745)
After #86509 allowed all integer types in TOSA ops, this PR allows TOSA
ops on all floating point types.
This helps to experiment with `f64` and 8-bit float types when spec
conformance is not required.
Commit: ecce5ccdd5725bd0669c24742bfd46dbf043fec2
https://github.com/llvm/llvm-project/commit/ecce5ccdd5725bd0669c24742bfd46dbf043fec2
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
Log Message:
-----------
TosaToLinalg: Allow to skip the TOSA validation pass (#91742)
Allow to skip running the TOSA validation pass when spec conformance is
not required.
Commit: 4014e2e045f5160ce9cbb9562d151f540d61c0bb
https://github.com/llvm/llvm-project/commit/4014e2e045f5160ce9cbb9562d151f540d61c0bb
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Strip experimental- prefix in profile names in SupportedExperimentalProfiles
This matches what we do for extensions, and saves us having to do it in
RISCVISAInfo.
This is a minor tweak to what I added in #91993.
Commit: d488a54b408046eb4286727053cd44166dcd4daa
https://github.com/llvm/llvm-project/commit/d488a54b408046eb4286727053cd44166dcd4daa
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
Log Message:
-----------
[RISCV] Use software guarded branch for indirect jump table branch. (#66762)
When Zicfilp enabled, indirect jump table branch should be a software
guarded branch.
Commit: 9837a1cb53e94609c005ed44f937a99f24208452
https://github.com/llvm/llvm-project/commit/9837a1cb53e94609c005ed44f937a99f24208452
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[NFC] Add missing spaces in BoolOption for apinotes (#92027)
Commit: c441aa51e16e2fa5f407191287f48d2b7c302ceb
https://github.com/llvm/llvm-project/commit/c441aa51e16e2fa5f407191287f48d2b7c302ceb
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
Log Message:
-----------
[lldb] Add lldbutil.install_to_target() helper (#91944)
It can be used in tests #91918, #91931 and such.
Commit: 2df06e42d733a1f7a1cdf715894921a5bbbc2956
https://github.com/llvm/llvm-project/commit/2df06e42d733a1f7a1cdf715894921a5bbbc2956
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
A flang/test/Driver/print-resource-dir.F90
Log Message:
-----------
[Flang][Driver] Add -print-resource-dir command line flag to emit Flang's resource directory (#90886)
This should be a NFC change for all drivers, but Flang.
Commit: 3ae63430aae52b260ce7ea99e5d586c77963b94a
https://github.com/llvm/llvm-project/commit/3ae63430aae52b260ce7ea99e5d586c77963b94a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
R llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
R llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
R llvm/test/CodeGen/SPIRV/link-attribute.ll
R llvm/test/CodeGen/SPIRV/linkage-types.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
A llvm/test/CodeGen/SPIRV/linkage/extern-weak-linkage.ll
A llvm/test/CodeGen/SPIRV/linkage/link-attribute.ll
A llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
Log Message:
-----------
[SPIR-V] Set non-kernel function linkage type via OpDecorate for all linkage types except for static functions (#91598)
This PR fixes the issue
https://github.com/llvm/llvm-project/issues/91595 by setting non-kernel
function linkage type via OpDecorate for all linkage types except for
static functions. A new test case is added.
Commit: cf9a5a162b701b4c27eda1ddf823137ed16ca235
https://github.com/llvm/llvm-project/commit/cf9a5a162b701b4c27eda1ddf823137ed16ca235
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/satur-arith.ll
Log Message:
-----------
[SPIR-V] Support saturation arithmetic intrinsics in SPIR-V Backend (#91722)
This PR is to support saturation arithmetic intrinsics in SPIR-V
Backend.
Commit: e2f079cc6c3689fa5a6f64550b2d4fdc628dad6f
https://github.com/llvm/llvm-project/commit/e2f079cc6c3689fa5a6f64550b2d4fdc628dad6f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
Log Message:
-----------
[lldb] Fixed the test TestGdbRemoteLaunch (#91931)
Install `a.out` to the remote target (after handshake) if necessary and
use the remote path to call `vRun`.
Commit: 2e165a2c4b2a0e9a9d34a721d756f9006d1502df
https://github.com/llvm/llvm-project/commit/2e165a2c4b2a0e9a9d34a721d756f9006d1502df
Author: Martin Storsjö <martin at martin.st>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
Revert "[ValueTracking] Compute knownbits from known fp classes (#86409)"
This reverts commit d03a1a6e5838c7c2c0836d71507dfdf7840ade49.
This change caused failed assertions, see
https://github.com/llvm/llvm-project/pull/86409#issuecomment-2109469845
for details.
Commit: fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
https://github.com/llvm/llvm-project/commit/fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
Author: martinboehme <mboehme at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[Clang][Sema] Fix malformed AST for anonymous class access in template. (#90842)
# Observed erroneous behavior
Prior to this change, a `MemberExpr` that accesses an anonymous class
might have a prvalue as its base (even though C++ mandates that the base
of a `MemberExpr` must be a glvalue), if the code containing the
`MemberExpr` was in a template.
Here's an example on [godbolt](https://godbolt.org/z/Gz1Mer9oz) (that is
essentially identical to the new test this patch adds).
This example sets up a struct containing an anonymous struct:
```cxx
struct S {
struct {
int i;
};
};
```
It then accesses the member `i` using the expression `S().i`.
When we do this in a non-template function, we get the following AST:
```
`-ExprWithCleanups <col:10, col:14> 'int'
`-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
`-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
`-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue .S::(anonymous struct at line:2:3) 0xbdcb488
`-MaterializeTemporaryExpr <col:10, col:12> 'S' xvalue
`-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```
As expected, the AST contains a `MaterializeTemporarExpr` to materialize
the prvalue `S()` before accessing its members.
When we perform this access in a function template (that doesn't
actually even use its template parameter), the AST for the template
itself looks the same as above. However, the AST for an instantiation of
the template looks different:
```
`-ExprWithCleanups <col:10, col:14> 'int'
`-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
`-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
`-MaterializeTemporaryExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue
`-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' .S::(anonymous struct at line:2:3) 0xbdcb488
`-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```
Note how the inner `MemberExpr` (the one accessing the anonymous struct)
acts on a prvalue.
Interestingly, this does not appear to cause any problems for CodeGen,
probably because CodeGen is set up to deal with `MemberExpr`s on rvalues
in C. However, it does cause issues in the dataflow framework, which
only supports C++ today and expects the base of a `MemberExpr` to be a
glvalue.
Beyond the issues with the dataflow framework, I think this issue should
be fixed because it goes contrary to what the C++ standard mandates, and
the AST produced for the non-template case indicates that we want to
follow the C++ rules here.
# Reasons for erroneous behavior
Here's why we're getting this malformed AST.
First of all, `TreeTransform` [strips any
`MaterializeTemporaryExpr`s](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L14853)
from the AST.
It is therefore up to
[`TreeTransform::RebuildMemberExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2853)
to recreate a `MaterializeTemporaryExpr` if needed. In the [general
case](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2915),
it does this: It calls `Sema::BuildMemberReferenceExpr()`, which ensures
that the base is a glvalue by [materializing a
temporary](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/SemaExprMember.cpp#L1016)
if needed. However, when `TreeTransform::RebuildMemberExpr()` encounters
an anonymous class, it [calls
`Sema::BuildFieldReferenceExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2880),
which, unlike `Sema::BuildMemberReferenceExpr()`, does not make sure
that the base is a glvalue.
# Proposed fix
I considered several possible ways to fix this issue:
- Add logic to `Sema::BuildFieldReferenceExpr()` that materializes a
temporary if needed. This appears to work, but it feels like the fix is
in the wrong place:
- AFAIU, other callers of `Sema::BuildFieldReferenceExpr()` don't need
this logic.
- The issue is caused by `TreeTransform` removing the
`MaterializeTemporaryExpr`, so it seems the fix should also be in
`TreeTransform`
- Materialize the temporary directly in
`TreeTransform::RebuildMemberExpr()` if needed (within the case that
deals with anonymous classes).
This would work, too, but it would duplicate logic that already exists
in `Sema::BuildMemberReferenceExpr()` (which we leverage for the general
case).
- Use `Sema::BuildMemberReferenceExpr()` instead of
`Sema::BuildFieldReferenceExpr()` for the anonymous class case, so that
it also uses the existing logic for materializing the temporary.
This is the option I've decided to go with here. There's a slight
wrinkle in that we create a `LookupResult` that claims we looked up the
unnamed field for the anonymous class -- even though we would obviously
never be able to look up an unnamed field. I think this is defensible
and still better than the other alternatives, but I would welcome
feedback on this from others who know the code better.
Commit: 79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
https://github.com/llvm/llvm-project/commit/79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:19848:11: error:
enumeration value 'SW_GUARDED_BRIND' not handled in switch
[-Werror,-Wswitch]
Commit: 11e5d1cfee399cfaba373078879c1ac3e1109b11
https://github.com/llvm/llvm-project/commit/11e5d1cfee399cfaba373078879c1ac3e1109b11
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Respect existing glue when lowering convergence tokens (#90834)
Commit: c28529788955dbfada9f8a5092432f09eec2c3ab
https://github.com/llvm/llvm-project/commit/c28529788955dbfada9f8a5092432f09eec2c3ab
Author: aabhinavg <78288544+aabhinavg at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Fix redundant condition in Target.cpp (#91882)
This commit addresses issue #87244, where a redundant condition was
found in the Target.cpp file. Static analyzer cppcheck flagged the issue
in the Target.cpp file
fix #87244
Commit: 0b5b2027f94c60c73d6871cf64d3f580c27c5a53
https://github.com/llvm/llvm-project/commit/0b5b2027f94c60c73d6871cf64d3f580c27c5a53
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/SROA.cpp
A mlir/test/Transforms/sroa.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][SROA] Reuse allocators to avoid rewalking the IR (#91971)
This commit extends the SROA interfaces to ensure the interface
instantiations can communicate newly created allocators to the
algorithm. This ensures that the SROA implementation does no longer
require re-walking the IR to find new allocators.
Commit: 346f2b76246a46d5e634dfcf0004d72ac5127f8e
https://github.com/llvm/llvm-project/commit/346f2b76246a46d5e634dfcf0004d72ac5127f8e
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
Log Message:
-----------
[lldb] Fix the test TestGdbRemotePlatformFile when run with a remote target (#91918)
It is necessary to transfer the test file to/from the really remote
target (for example Windows host and Linux target). Also ignore chmod
check in case of the Windows host.
Commit: 632317e9ab5548e991d8974954353033bea62a5b
https://github.com/llvm/llvm-project/commit/632317e9ab5548e991d8974954353033bea62a5b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Add non-poison propagating LogicalAnd VPInstruction opcode. (#91897)
Add a new opcode to mode non-poison propagating logical AND operations
used when generating edge masks. This follows the similar decision to
model Not as dedicated opcode as well, to improve clarity.
This also helps to simplify the matchers for
https://github.com/llvm/llvm-project/pull/89386.
PR: https://github.com/llvm/llvm-project/pull/91897
Commit: d9be51ce68b743bde4d73b6858c454e09df341c5
https://github.com/llvm/llvm-project/commit/d9be51ce68b743bde4d73b6858c454e09df341c5
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
Log Message:
-----------
[AArch64] Improve code generation for experimental.cttz.elts (#91505)
This patch extends support for lowering the experimental.cttz.elts
intrinsic to BRKB + CNTP instruction sequences, using this lowering for
all legal predicate types. An unused parameter is also removed from some
of the related regression tests.
Commit: 0bc23f10328e9f61200c33c02391a44abde59b27
https://github.com/llvm/llvm-project/commit/0bc23f10328e9f61200c33c02391a44abde59b27
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64][GlobalISel] Select G_ICMP Zero Instruction (#90054)
Commit: 429ce59bd0a7d93ef833939d4a92b56aae103a5a
https://github.com/llvm/llvm-project/commit/429ce59bd0a7d93ef833939d4a92b56aae103a5a
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
Log Message:
-----------
[lldb][Windows] Fixed the test TestGdbRemoteMemoryTagging (#92077)
Windows path is case insensitive. Tests `test_QMemTags_packets` and
`test_qMemTags_packets` will use the same build dir and conflict. Added
a suffix to resolve conflicts.
Commit: be9b4dab40c36a3d3d9be26498b24efedd8253bf
https://github.com/llvm/llvm-project/commit/be9b4dab40c36a3d3d9be26498b24efedd8253bf
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/spirv-decoration.ll
Log Message:
-----------
[SPIR-V] Introduce support for 'spirv.Decorations' metadata node in SPIR-V Backend (#91736)
This PR is to introduce support for 'spirv.Decorations' metadata node in
SPIR-V Backend.
See also
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/main/docs/SPIRVRepresentationInLLVM.rst
that describes `spirv.Decorations` as an important part of
SPIRV-friendly LLVM IR.
Commit: 3b8b1022684175e988f043f14596f2dc9b31c6c7
https://github.com/llvm/llvm-project/commit/3b8b1022684175e988f043f14596f2dc9b31c6c7
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
[MC] Make ELFEntrySizeMap a DenseMap (#91728)
There is no need for an ordered std::map and also no need to duplicate
the section name, which is owned by the ELFSectionKey. Therefore, use a
DenseMap instead and don't copy the string. As a further, minor
performance optimization, avoid the hash table lookup in
isELFGenericMergeableSection when the section name was just added.
This slightly improves compilation performance in our application, where
we occasionally compile many small object files.
Commit: 9f80f437c0b698478c6396c8c44ba094f7199144
https://github.com/llvm/llvm-project/commit/9f80f437c0b698478c6396c8c44ba094f7199144
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
Log Message:
-----------
[Hexagon] Regenerate asr-rnd.ll + asr-rnd64.ll to show all test checks
These are affected by upcoming support for AVG legalization
Commit: 995a8af81dc10140109cdd95c44bfb093e8a4c02
https://github.com/llvm/llvm-project/commit/995a8af81dc10140109cdd95c44bfb093e8a4c02
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/MC/SystemZ/insn-good-z13.s
M llvm/test/MC/SystemZ/insn-good-z14.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
[SystemZ] Add extended mnemonics tests. (#91733)
This adds tests for some extended mnemonics of load, branch, and
compare-and-trap instructions.
Commit: e7d09cecc9123f89ace1712a617e252d78b179e9
https://github.com/llvm/llvm-project/commit/e7d09cecc9123f89ace1712a617e252d78b179e9
Author: Petr Kurapov <petr.kurapov at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[MLIR][Linalg] Ternary Op & Linalg select (#91461)
Following #90236, adding `select` to linalg as `arith.select`. No
implicit type casting.
OpDSL doesn't expose a type restriction for bool, but I saw no reason in
adding it (put a separate symbolic type and check the semantics in the
builder).
---------
Co-authored-by: Renato Golin <rengolin at systemcall.eu>
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 8fe21fda7469f2fdf83980a2720a15baad74ae4f
https://github.com/llvm/llvm-project/commit/8fe21fda7469f2fdf83980a2720a15baad74ae4f
Author: Andrew Sukach <134116196+soukatch at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
A clang/test/Analysis/unreachable-code-exceptions.cpp
Log Message:
-----------
[clang][analyzer] Ignore try-statements in UnreachableCode checker (#91675)
Fixes #90162
Commit: 7b1b1279414217ea7f2402a03dfb5a18ea5a5367
https://github.com/llvm/llvm-project/commit/7b1b1279414217ea7f2402a03dfb5a18ea5a5367
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Target/Platform.cpp
Log Message:
-----------
[lldb][Windows] Enforce exec permission using Platform::Install() from Windows host (#91887)
Target::Install() set 0700 permissions for the main executable file.
Platform::Install() just copies permissions from the source. But the
permission eFilePermissionsUserExecute is missing on the Windows host. A
lot of tests failed in case of Windows host and Linux target because of
this issue. There is no API to provide the exec flag. This patch set the
permission eFilePermissionsUserExecute for all files installed via
Platform::Install() from the Windows host. It fixes a lot of tests in
case of Windows host and Linux target.
Commit: d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
https://github.com/llvm/llvm-project/commit/d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] update comment following 63d8058 (NFC) (#91120)
Address a review comment post landing 63d8058 (LoopVectorize: guard
appending InstsToScalarize; fix bug) to update a comment.
Commit: ac42f7689d741feda2badc438101e7952db048f3
https://github.com/llvm/llvm-project/commit/ac42f7689d741feda2badc438101e7952db048f3
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
Log Message:
-----------
[lldb] Fixed the test TestDyldLaunchLinux (#92080)
Install a.out and libsignal_file.so to the remote target if necessary.
Commit: f658d84e01bcdd49e27dc9ef80e1a6cc5f9417fe
https://github.com/llvm/llvm-project/commit/f658d84e01bcdd49e27dc9ef80e1a6cc5f9417fe
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/exec/TestExec.py
Log Message:
-----------
[lldb] Fixed the test TestExec (#92082)
Install `secondprog` to the remote target if necessary.
Commit: 3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
https://github.com/llvm/llvm-project/commit/3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
Reland "[ValueTracking] Compute knownbits from known fp classes" (#92084)
This patch relands https://github.com/llvm/llvm-project/pull/86409.
I mistakenly thought that `Known.makeNegative()` clears the sign bit of
`Known.Zero`. This patch fixes the assertion failure by explicitly
clearing the sign bit.
Commit: 58b9564d5d12063bb9c662039802ede8df615374
https://github.com/llvm/llvm-project/commit/58b9564d5d12063bb9c662039802ede8df615374
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add some assertions
Make sure we pass a non-null Descriptor when creating a new Block.
Commit: 0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
https://github.com/llvm/llvm-project/commit/0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Improve Pointer::print()
Commit: 5865482049872d3ae52ea5559abb9e8f4a1e55e5
https://github.com/llvm/llvm-project/commit/5865482049872d3ae52ea5559abb9e8f4a1e55e5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
Log Message:
-----------
[clang][Interp][NFC] Don't pass on metadata size for composite arrays
We don't need the metadata size for every element, just for the topmost
descriptor.
Commit: c1bd68867497cf6e2f2afdba1a3a2993a47b5856
https://github.com/llvm/llvm-project/commit/c1bd68867497cf6e2f2afdba1a3a2993a47b5856
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix some dummy-related FIXME comments
Commit: 31fb0ae23d3d1a1b90198a68c80c9116d844a01f
https://github.com/llvm/llvm-project/commit/31fb0ae23d3d1a1b90198a68c80c9116d844a01f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/and_sext.ll
Log Message:
-----------
[PowerPC] Regenerate and_sext.ll with test checks
I've kept the grep checks for extsh/extsb instructions, but we can now see the actual codegen as well
Commit: c34d1893cb8b485e6871512ef4e743bfa2d462f8
https://github.com/llvm/llvm-project/commit/c34d1893cb8b485e6871512ef4e743bfa2d462f8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
Log Message:
-----------
[Offload] Remove support for old "BUILD_PLUGIN" options. (#91644)
Summary:
Since the move to the statically linked plugins, we added a new way to
directly control which plugins will be added. Delete these old ones as
they will cause the build to fail and suggest the new format.
Commit: 363258a3ccbb752ec23f681d19b6a874c4db99ab
https://github.com/llvm/llvm-project/commit/363258a3ccbb752ec23f681d19b6a874c4db99ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Remove old references to `isCtor` (#91766)
Summary:
These have long since been removed, support for ctors / dtors now
happens through special kernels the backend creates.
Commit: cbd72cb0deec31a5c3063cf1f1af759761115eee
https://github.com/llvm/llvm-project/commit/cbd72cb0deec31a5c3063cf1f1af759761115eee
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
Log Message:
-----------
[mlir][vector] Split `TransposeOpLowering` into 2 patterns (#91935)
Splits `TransposeOpLowering` into two patterns:
1. `Transpose2DWithUnitDimToShapeCast` - rewrites 2D `vector.transpose`
as `vector.shape_cast` (there has to be at least one unit dim),
2. `TransposeOpLowering` - the original pattern without the part
extracted into `Transpose2DWithUnitDimToShapeCast`.
The rationale behind the split:
* the output generated by `Transpose2DWithUnitDimToShapeCast` doesn't
really match the intended output from `TransposeOpLowering` as
documented in the source file - it doesn't make much sense to keep
it embedded inside `TransposeOpLowering`,
* `Transpose2DWithUnitDimToShapeCast` _does_ work for scalable vectors,
`TransposeOpLowering` _does_ not.
Commit: e6d3a4212d20b49a8e63f11fedea79cccf261479
https://github.com/llvm/llvm-project/commit/e6d3a4212d20b49a8e63f11fedea79cccf261479
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/lib/CodeGen/PseudoSourceValue.cpp
Log Message:
-----------
[CodeGen] Use SmallVector for FixedStackPSVs (#91760)
Frame indices are dense and consecutive, so use a vector instead of a
std::map. Due to possibly negative frame indices, use zig-zag encoding.
IndexedMap was not usable, as it attempted to copy the null value, which
is not possible with a std::unique_ptr.
This is just a minor performance improvement, but a low-hanging fruit.
Commit: c7c5666aac543a49b485a133f4a94865e2613a43
https://github.com/llvm/llvm-project/commit/c7c5666aac543a49b485a133f4a94865e2613a43
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
A flang/test/Lower/HLFIR/where-nonelemental.f90
Log Message:
-----------
[flang] Do not hoist all scalar sub-expressions from WHERE constructs (#91395)
The HLFIR pass lowering WHERE (hlfir.where op) was too aggressive in its
hoisting of scalar sub-expressions from LHS/RHS/MASKS outside of the
loops generated for the WHERE construct.
This violated F'2023 10.2.3.2 point 10 that stipulated that elemental
operations must be evaluated only for elements corresponding to true
values, because scalar operations are still elemental, and hoisting them
is invalid if they could have side effects (e.g, division by zero) and
if the MASK is always false (i.e., the loop body is never evaluated).
The difficulty is that 10.2.3.2 point 9 mandates that nonelemental
function must be evaluated before the loops. So it is not possible to
simply stop hoisting non hlfir.elemental operations.
Marking calls with an elemental/nonelemental attribute would not allow
the pass to be correct if inlining is run before and drops this
information, beside, extracting the argument tree that may have been
CSE-ed with the rest of the expression evaluation would be a bit
combursome.
Instead, lower nonelemental calls into a new hlfir.exactly_once
operation that will allow retaining the information that the operations
contained inside its region must be hoisted. This allows inlining to
operate before if desired in order to improve alias analysis.
The LowerHLFIROrderedAssignments pass is updated to only hoist the
operations contained inside hlfir.exactly_once bodies.
Commit: b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
https://github.com/llvm/llvm-project/commit/b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Drop redundant comment from createEdgeMask (NFC).
Follow-up to remove a redundant comment post-commit
https://github.com/llvm/llvm-project/pull/91897
Commit: 292b300c5131e54b9977305bb4aca9a03e1b4fed
https://github.com/llvm/llvm-project/commit/292b300c5131e54b9977305bb4aca9a03e1b4fed
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/test/src/string/memcpy_test.cpp
A libc/test/src/string/memory_utils/protected_pages.h
M libc/test/src/string/memset_test.cpp
Log Message:
-----------
[libc][bug] Fix out of bound write in memcpy w/ software prefetching (#90591)
This patch adds tests for `memcpy` and `memset` making sure that we
don't access buffers out of bounds. It relies on POSIX `mmap` /
`mprotect` and works only when FULL_BUILD_MODE is disabled.
The bug showed up while enabling software prefetching.
`loop_and_tail_offset` is always running at least one iteration but in
some configurations loop unrolled prefetching was actually needing only
the tail operation and no loop iterations at all.
Commit: 9d4f7f44b64d87d1068859906f43b7ce03a7388b
https://github.com/llvm/llvm-project/commit/9d4f7f44b64d87d1068859906f43b7ce03a7388b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/alsl.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/bitreverse.ll
M llvm/test/CodeGen/LoongArch/block-address.ll
M llvm/test/CodeGen/LoongArch/blockaddress-symbol.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation.ll
M llvm/test/CodeGen/LoongArch/bstrins_d.ll
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
M llvm/test/CodeGen/LoongArch/bstrpick_d.ll
M llvm/test/CodeGen/LoongArch/bstrpick_w.ll
M llvm/test/CodeGen/LoongArch/bswap-bitreverse.ll
M llvm/test/CodeGen/LoongArch/bswap.ll
M llvm/test/CodeGen/LoongArch/bytepick.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/cpu-name-generic.ll
M llvm/test/CodeGen/LoongArch/cpus.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/dwarf-eh.ll
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frameaddr-returnaddr.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la32.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la64.ll
M llvm/test/CodeGen/LoongArch/get-reg.ll
M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/imm.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZB.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZC.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-k.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint.ll
M llvm/test/CodeGen/LoongArch/inline-asm-operand-modifiers.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names-error.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/intrinsic-not-constant-error.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/ashr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/br.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence-singlethread.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/indirectbr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/lshr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-bare-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-icc-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sext-zext-trunc.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/shl.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/LoongArch/ldptr.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll
M llvm/test/CodeGen/LoongArch/legalicmpimm.ll
M llvm/test/CodeGen/LoongArch/load-store-offset.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/not.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
M llvm/test/CodeGen/LoongArch/returnaddr-error.ll
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/select-const.ll
M llvm/test/CodeGen/LoongArch/select-to-shiftand.ll
M llvm/test/CodeGen/LoongArch/sext-cheaper-than-zext.ll
M llvm/test/CodeGen/LoongArch/shift-masked-shamt.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/stptr.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
M llvm/test/CodeGen/LoongArch/thread-pointer.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/trap.ll
M llvm/test/CodeGen/LoongArch/unaligned-access.ll
M llvm/test/CodeGen/LoongArch/xray-attribute-instrumentation.ll
M llvm/test/CodeGen/LoongArch/zext-with-load-is-free.ll
M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
Log Message:
-----------
[test][LoongArch] Add -mattr=+d option. NFC
Because most of tests assume target-abi=`lp64d`, adding the
corresponding feature is reasonable.
rg -l loongarch -g '!*.s' | xargs sed -i '/mtriple=loongarch/ {/-mattr=/!{/target-abi/! s/mtriple=loongarch.. /&-mattr=+d /}}'
Commit: 415616daa0bdf6c0065c4c1967f1c4050e6ea836
https://github.com/llvm/llvm-project/commit/415616daa0bdf6c0065c4c1967f1c4050e6ea836
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Lower standalone ops via OMP dispatch, NFC (#92045)
This moves lowering of standalone OpenMP ops into the dispatch function.
Follow-up to PR90098.
Commit: cc54129b983799e1aaea77aa0ff3040dc30cbc8c
https://github.com/llvm/llvm-project/commit/cc54129b983799e1aaea77aa0ff3040dc30cbc8c
Author: Justin Cady <desk at justincady.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
Log Message:
-----------
Add option to exclude headers from clang-tidy analysis (#91400)
This is a renewed attempt to land @toddlipcon's D34654. The comments on
that patch indicate a broad desire for some ability to ignore headers.
After considering various options, including migrating to std::regex, I
believe this is the best path forward. It's intuitive to have separate
regexes for including headers versus excluding them, and this approach
has the added benefit of being completely opt-in. No existing configs
will break, regardless of existing HeaderFilterRegex values.
This functionality is useful for improving performance when analyzing a
targeted subset of code, as well as in cases where some collection of
headers cannot be modified (third party source, for example).
Commit: bf7a0f9958b93d9979e0adf93b80ad056615706d
https://github.com/llvm/llvm-project/commit/bf7a0f9958b93d9979e0adf93b80ad056615706d
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/different-gep-types.ll
Log Message:
-----------
Fix incorrect codegen with respect to GEPs #85333 (#92047)
As mentioned in #68882 and
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699
Gep arithmetic isn't consistent with different types. GVNSink didn't
realize this and sank all geps as long as their operands can be wired
via PHIs
in a post-dominator.
Fixes: #85333
Reapply: #88440 after fixing the non-determinism issues in #90995
Commit: e1685eb8d7de66ce6420cdd3340a2e3f892c09bd
https://github.com/llvm/llvm-project/commit/e1685eb8d7de66ce6420cdd3340a2e3f892c09bd
Author: Mubashar Ahmad <mubashar.ahmad at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Add llvm.vector.deinterleave2 intrinsic (#91986)
Adds the LLVM vector.deinterleave2 intrinsic to the MLIR LLVM dialect. The
deinterleave2 intrinsic takes a vector and returns two vectors with the first
having even elements and the second with odd elements from the input
vector. The inverse of vector.interleave2.
Commit: cfa09473a6f904d214a1b514f41b9d4d9276c927
https://github.com/llvm/llvm-project/commit/cfa09473a6f904d214a1b514f41b9d4d9276c927
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/MC/MCInst.cpp
Log Message:
-----------
Cope with MCOperand null Insts (#91794)
MCOperand has a constructor that permits a nullptr MCInst, and BOLT makes use of that. Adjust MCOperand's dumper to permit such use.
Commit: 725014d866e2a75bfe293ee2d168d4c8f302fc74
https://github.com/llvm/llvm-project/commit/725014d866e2a75bfe293ee2d168d4c8f302fc74
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT][NFC] Simplify CFG validation (#91977)
Remove 'Valid' local boolean that has a single use, and return directly instead.
Commit: 312f83f0e0672118a6d82d4b4d3568e9c812086d
https://github.com/llvm/llvm-project/commit/312f83f0e0672118a6d82d4b4d3568e9c812086d
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix dependency computation for pack indexing expression (#91933)
Given `foo...[idx]` if idx is value dependent, the expression is type
dependent.
Fixes #91885
Fixes #91884
Commit: 1aff294f6ef9c0a1a264c55d55e441e37a353f17
https://github.com/llvm/llvm-project/commit/1aff294f6ef9c0a1a264c55d55e441e37a353f17
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M bolt/lib/Core/BinaryBasicBlock.cpp
Log Message:
-----------
[BOLT][NFC] Simplify successor check (#91980)
Remove excess parentheses and use `boolean ? true-case : false-case` idiom.
Commit: 03eba209852c769ab6993be3bc01cdcc57d787b0
https://github.com/llvm/llvm-project/commit/03eba209852c769ab6993be3bc01cdcc57d787b0
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/OpenACCClause.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
Log Message:
-----------
[OpenACC] Fix ast-print of device_type clause
When writing the test for this I seemingly forgot to put 'CHECK' on the
lines, so I didn't notice that I was printing the identifiers as
pointers rather than their names. This patch corrects the tests and the
print behavior.
Commit: e60b83a645685f22375af9bca5af6624b3a805d0
https://github.com/llvm/llvm-project/commit/e60b83a645685f22375af9bca5af6624b3a805d0
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libclc/generic/lib/math/log_base.h
Log Message:
-----------
[libclc] Clarify condition expression (NFC)
Closes #91188
Commit: d422e90fcbdddd68749918ddd86c94188807efce
https://github.com/llvm/llvm-project/commit/d422e90fcbdddd68749918ddd86c94188807efce
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
A llvm/test/CodeGen/AArch64/pr92062.ll
Log Message:
-----------
[GlobalIsel][AArch64] fix out of range access in regbankselect (#92072)
Fixes https://github.com/llvm/llvm-project/issues/92062
Commit: 041baf2f60ac3e107399641aea04c77019e7eab8
https://github.com/llvm/llvm-project/commit/041baf2f60ac3e107399641aea04c77019e7eab8
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
A mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Transforms.h
M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
M mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
M mlir/test/Dialect/ArmSME/canonicalize.mlir
R mlir/test/Dialect/ArmSME/cse.mlir
M mlir/test/Dialect/ArmSME/roundtrip.mlir
A mlir/test/Dialect/ArmSME/tile-allocation-copies.mlir
M mlir/test/Dialect/ArmSME/tile-allocation-invalid.mlir
M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
A mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
Log Message:
-----------
[mlir][ArmSME] Use liveness information in the tile allocator (#90448)
This patch rewrites the ArmSME tile allocator to use liveness
information to make better tile allocation decisions and improve the
correctness of the ArmSME dialect. This algorithm used here is a linear
scan over live ranges, where live ranges are assigned to tiles as they
appear in the program (chronologically). Live ranges release their
assigned tile ID when the current program point is passed their end.
This is a greedy algorithm (which is mainly to keep the implementation
relatively straightforward), and because it seems to be sufficient for
most kernels (e.g. matmuls) that use ArmSME. The general steps of this
are roughly from
https://link.springer.com/content/pdf/10.1007/3-540-45937-5_17.pdf,
though there have been a few simplifications and assumptions made for
our use case.
Hopefully, the only changes needed for a user of the ArmSME dialect is
that:
- `-allocate-arm-sme-tiles` will no longer be a standalone pass
- `-test-arm-sme-tile-allocation` is only for unit tests
- `-convert-arm-sme-to-llvm` must happen after `-convert-scf-to-cf`
- SME tile allocation is now part of the LLVM conversion
By integrating this into the `ArmSME -> LLVM` conversion we can allow
high-level (value-based) ArmSME operations to be side-effect-free, as we
can guarantee nothing will rearrange ArmSME operations before we emit
intrinsics (which could invalidate the tile allocation).
The hope is for ArmSME operations to have no hidden state/side effects
and allow easily lowering dialects such as `vector` and `arith` to SME,
without making assumptions about how the input IR looks, as the
semantics of the operations will be the same. That is no (new) side
effects and the IR follows the rules of SSA (a value will never change).
The aim is correctness, so we have a base for working on optimizations.
Commit: 2b15c4a62be6ceab124cb2505ae8dc6a98ba6e7d
https://github.com/llvm/llvm-project/commit/2b15c4a62be6ceab124cb2505ae8dc6a98ba6e7d
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Postcommit fixes for histogram intrinsic (#92095)
A buildbot with expensive checks enabled flagged some problems with my patch. There was also a post-commit nit on the langref changes.
Commit: d9db2664994ff672f50d7fd0117477935dac04f1
https://github.com/llvm/llvm-project/commit/d9db2664994ff672f50d7fd0117477935dac04f1
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/lit.local.cfg
Log Message:
-----------
[PowerPC][test] Catch any exception when retrieving git revision (#92004)
This makes the `vc-rev-enabled` feature unsupported if we fail to
retrieve the git revision for any reason, such as if git is not
installed.
Commit: 8070b2defa6df1f1a3f3d4ed4989047b0e1bb639
https://github.com/llvm/llvm-project/commit/8070b2defa6df1f1a3f3d4ed4989047b0e1bb639
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/ast-dump-concepts.cpp
Log Message:
-----------
[Clang] Retain the angle loci for invented template parameters of constraints (#92104)
Clangd uses it to determine whether the argument is within the selection
range.
Fixes https://github.com/clangd/clangd/issues/2033
Commit: a4accdfe0c9415ad1bd3dac7dda8cb8bbcd1be2f
https://github.com/llvm/llvm-project/commit/a4accdfe0c9415ad1bd3dac7dda8cb8bbcd1be2f
Author: Artem Chikin <achikin at apple.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/Support/SourceMgr.h
M llvm/lib/Support/SourceMgr.cpp
M llvm/unittests/Support/SourceMgrTest.cpp
Log Message:
-----------
[Support] Add option to print SMDiagnostic into a buffer without the filename and location info (#92050)
Commit: e08f1fda7508138d408cd61608bcbf30f8c3bb4d
https://github.com/llvm/llvm-project/commit/e08f1fda7508138d408cd61608bcbf30f8c3bb4d
Author: Nathan Gauër <brioche at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
A clang/test/CodeGenHLSL/convergence/do.while.hlsl
A clang/test/CodeGenHLSL/convergence/for.hlsl
A clang/test/CodeGenHLSL/convergence/while.hlsl
Log Message:
-----------
[clang][SPIR-V] Always add convergence intrinsics (#88918)
PR #80680 added bits in the codegen to lazily add convergence intrinsics
when required. This logic relied on the LoopStack. The issue is when
parsing the condition, the loopstack doesn't yet reflect the correct
values, as expected since we are not yet in the loop.
However, convergence tokens should sometimes already be available. The
solution which seemed the simplest is to greedily generate the tokens
when we generate SPIR-V.
Fixes #88144
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: ac0d415552922436c3136e3dd1446294858c2d7d
https://github.com/llvm/llvm-project/commit/ac0d415552922436c3136e3dd1446294858c2d7d
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
Update documentation for buffer fat pointers (#92034)
Now that we've got (minus some issues around datatypes and invariant
loads) working lowerings for address space 7, update the table in the
AMDGPU usage guide to properly indicate the nature of these address
spaces.
Commit: 736ffdc38347f3f83cf7b3c034b8e837f46f7eab
https://github.com/llvm/llvm-project/commit/736ffdc38347f3f83cf7b3c034b8e837f46f7eab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
Log Message:
-----------
[RISCV] Add X27 to SavedRegs when X26 is in SavedRegs for cm.push/pop (#92067)
cm.push can't save X26 without also saving X27. This removes two other
checks for this case.
This causes CFI to be emitted since X27 is now explicitly a callee saved
register.
The affected tests use inline assembly to clobber X26 rather than the
whole range of s0-s10.
Commit: 2766f2174e428842a9ab1a9ba5b320be5878f87d
https://github.com/llvm/llvm-project/commit/2766f2174e428842a9ab1a9ba5b320be5878f87d
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC] Loosen __objc_imageinfo flag merging to match ld (#91767)
Allow mixing objects with/without signed class ro data and category
class properties as long as it happens before we register the metadata.
These combinations are a warning in ld, not a hard error. The only case
that is ABI-breaking is if we already registered with the feature
enabled but later try to load an object that doesn't support it.
rdar://127336061
Commit: 82434c70b792c4a3773515f8d3172df11e4e615f
https://github.com/llvm/llvm-project/commit/82434c70b792c4a3773515f8d3172df11e4e615f
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
Log Message:
-----------
[LoongArch] Add test cases for div/mod to cover various extended combinations of 32-bit integers. NFC
Commit: 08536b0f9ccc208ea170b9451026eb1fe1fbb780
https://github.com/llvm/llvm-project/commit/08536b0f9ccc208ea170b9451026eb1fe1fbb780
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] refactor tryToCreateDiffCheck (NFC) (#92110)
tryToCreateDiffCheck has one caller, and exits early if CanUseDiffCheck
is false. Hence, we can get/set CanUseDiffCheck in the caller to avoid
wastefully calling tryToCreateDiffCheck. This patch is an NFC
simplification of program logic.
Commit: 3d6f18db7b5bbf85bdd40c7c7d627baff2802b7c
https://github.com/llvm/llvm-project/commit/3d6f18db7b5bbf85bdd40c7c7d627baff2802b7c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/fdiv_combine.ll
R llvm/test/CodeGen/AArch64/sitofp-fixed-legal.ll
Log Message:
-----------
[AArch64] Remove redundant FDIV Combine. (#91924)
The target combine is no longer required because InstCombine will
transform the DIV by a power of 2 into a multiply, so in practice
this case will never trigger.
Additionally, the generated code would have been incorrect for
streaming(-compatible) functions, because it assumed NEON was available.
Commit: b2c5e9b9bf2a1cb4a8d4fc67f3201db55ae2cae1
https://github.com/llvm/llvm-project/commit/b2c5e9b9bf2a1cb4a8d4fc67f3201db55ae2cae1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/ARM/iabs.ll
Log Message:
-----------
[ARM] iabs.ll - regenerate test checks
Commit: 0f17d9a28c40eebd42c83956e2a7b5186c1814d7
https://github.com/llvm/llvm-project/commit/0f17d9a28c40eebd42c83956e2a7b5186c1814d7
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
Log Message:
-----------
[lldb] Fixed the test TestThreadStates when run with a remote target (#92086)
self.wait_for_running_event(process) is always called after
self.runCmd("continue"). It is strange to expect eStateConnected here.
This test failed in case of a remote target. The correct state is
eStateRunning. Removed incorrect checking.
Commit: 4c68de5a0027fca9ebff5f8ffec3a35a43d14e74
https://github.com/llvm/llvm-project/commit/4c68de5a0027fca9ebff5f8ffec3a35a43d14e74
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
Log Message:
-----------
[RISCV][CostModel] Add cost model for experimental.cttz.elts (#91778)
The cost of `experimental.cttz.elts` in RISC-V equals to the cost of
vfirst when the zero_is_poison argument is true. Otherwise, we add
additional costs of cmp + select to convert the -1 result from vfirst to
EVL.
Commit: 8019cbbbbc94658d133583f7be6cd0023d30b0f3
https://github.com/llvm/llvm-project/commit/8019cbbbbc94658d133583f7be6cd0023d30b0f3
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/Frontend/noderef_templates.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[Clang][Sema] Earlier type checking for builtin unary operators (#90500)
Currently, clang postpones all semantic analysis of unary operators with
operands of pointer/pointer to member/array/function type until
instantiation whenever that type is dependent (e.g. `T*` where `T` is a
type template parameter). Consequently, the uninstantiated AST nodes all
have the type `ASTContext::DependentTy` (which, for the purposes of
#90152, is undesirable as that type may be the current instantiation!
(e.g. `*this`))
This patch moves the point at which we perform semantic analysis for
such expression to be prior to instantiation.
Commit: 2ff43ce87e66d9324370e35ea6743ef57400c76e
https://github.com/llvm/llvm-project/commit/2ff43ce87e66d9324370e35ea6743ef57400c76e
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/test/Dialect/Polynomial/attributes.mlir
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Restore #91137 (#92003)
#91137 reverted in #92001
A build error fix added in 28d5ece8ca93ef04fee9b0258b70b750b66c05ca
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 344c73ee831995d78d6eca1bed101878b5bae1bc
https://github.com/llvm/llvm-project/commit/344c73ee831995d78d6eca1bed101878b5bae1bc
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
Log Message:
-----------
[libc][bazel] Updates for 292b300c5131e54b9977305bb4aca9a03e1b4fed
Commit: 5f7477a72b826d0d6e7369ebe93cefcd55682d95
https://github.com/llvm/llvm-project/commit/5f7477a72b826d0d6e7369ebe93cefcd55682d95
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/option-invalid.s
M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rvv/invalid.s
M llvm/test/MC/RISCV/rvv/xsfvcp-invalid.s
M llvm/test/MC/RISCV/rvv/zvbb-invalid.s
M llvm/test/MC/RISCV/rvv/zvkned-invalid.s
M llvm/test/MC/RISCV/rvv/zvknh-invalid.s
M llvm/test/MC/RISCV/rvv/zvksed-invalid.s
M llvm/test/MC/RISCV/rvv/zvksh-invalid.s
Log Message:
-----------
RISCVAsmParser: Make diagnostics more conventional
Most diagnostics obey
https://llvm.org/docs/CodingStandards.html#error-and-warning-messages
but some diverge. Fix them.
While here, adjust some diagnostics.
Pull Request: https://github.com/llvm/llvm-project/pull/92024
Commit: 1355dcbb6e8b40780f1fbaa89cde50aa763dab89
https://github.com/llvm/llvm-project/commit/1355dcbb6e8b40780f1fbaa89cde50aa763dab89
Author: quanwanandy <150498259+quanwanandy at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix Bazel Build (#92139)
Commit: 77b80bd8186b392ed9bc87cd526a64093dd03522
https://github.com/llvm/llvm-project/commit/77b80bd8186b392ed9bc87cd526a64093dd03522
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[mlir][flang] Improve handling of fortran module variables. (#91604)
Currently, only those global variables which are at compile unit scope
are added to the 'globals' list of the DICompileUnit. This does not work
for languages which support modules (e.g. Fortran) where hierarchy
can be
variable -> module -> compile unit.
To fix this, if a variable scope points to a module, we walk one level
up and see if module is in the compile unit scope.
This was initially part of #91582 which adds debug information for
Fortran module variables. @kiranchandramohan pointed out that MLIR
changes should go in separate PRs.
Commit: b04c07bf271be097a5e5726730c538454fd30992
https://github.com/llvm/llvm-project/commit/b04c07bf271be097a5e5726730c538454fd30992
Author: Palmer Dabbelt <palmer at dabbelt.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rvv/invalid.s
Log Message:
-----------
[RISCV] Only allow up to e64 in vsetvli (#92010)
These larger SEWs aren't in the ratified V spec. Thanks to dzaima and
sorear on IRC for pointing this one out.
Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
Commit: 6c8ebc053533c691099ab60c41261b3cb4ba2fa3
https://github.com/llvm/llvm-project/commit/6c8ebc053533c691099ab60c41261b3cb4ba2fa3
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
Log Message:
-----------
[NFC][CallPromotionUtils]Extract a helper function versionCallSiteWithCond from versionCallSite (#81181)
* This is to be used by https://github.com/llvm/llvm-project/pull/81378
to implement a variant of versionCallSite that compares vtables.
* The parent patch is https://github.com/llvm/llvm-project/pull/81051
Commit: 54435b5df32d80c68c94acf96a7565ffd3d86542
https://github.com/llvm/llvm-project/commit/54435b5df32d80c68c94acf96a7565ffd3d86542
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
Log Message:
-----------
[clang-tidy] Ignore implicit casts with errors in bugprone-implicit-widening-of-multiplication-result (#92025)
When expression got errors (missing typedef) and clang-tidy is compiled
with asserts enabled, then we crash in this check on assert because type
with errors is visible as an dependent one. This is issue caused by
invalid input.
But as there is not point to crash in such case and generate additional
confusion, such expressions with errors will be now ignored.
Fixes #89515, #55293
Commit: 97e35e0098e863bff959f726f1492654a6cfe441
https://github.com/llvm/llvm-project/commit/97e35e0098e863bff959f726f1492654a6cfe441
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
R clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/Frontend/noderef_templates.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Revert "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92149)
This reverts commit 8019cbbbbc94658d133583f7be6cd0023d30b0f3.
Commit: 86f655cb4e2f4134d48219a2959a10c90e3396cb
https://github.com/llvm/llvm-project/commit/86f655cb4e2f4134d48219a2959a10c90e3396cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll
Log Message:
-----------
[LAA] Add tests showing unnecessary RT check due to applying loop guards
Test courtesy to @bjope showing a regression due to
ecae3ed958481cba7d60868cf3504292f7f4fdf5.
Commit: 39d123f58a0e3c5f1a928940244b8dfd827fd4e5
https://github.com/llvm/llvm-project/commit/39d123f58a0e3c5f1a928940244b8dfd827fd4e5
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/tools/llvm-rc/ResourceScriptStmt.h
Log Message:
-----------
[nfc] const-ify `IntOrString::equalsLower` (#92152)
Commit: de14b749fee41d4ded711e771e43043ae3100cb3
https://github.com/llvm/llvm-project/commit/de14b749fee41d4ded711e771e43043ae3100cb3
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
Log Message:
-----------
[RISCV][test] Precommit tests for byte store of -1
Although we can't reduce the number of instructions, if we selected `li
rd, -1` instead then this could be encoded in a 16-bit instruction.
Commit: 90109d444839683b09f0aafdc50b749cb4b3203b
https://github.com/llvm/llvm-project/commit/90109d444839683b09f0aafdc50b749cb4b3203b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
Log Message:
-----------
[RISCV] Improve constant materialisation for stores of i8 negative constants (#92131)
This follows the same pattern as 20e62658735a1b03ecadc. Although we
can't reduce the number of instructions used, if we are able to use a
sign-extended 6-bit immediate then the 16-bit c.li instruction can be
selected (thus saving code size). Although this _could_ be gated so it
only happens if C is enabled, I've opted not to because at worst it's
neutral and it doesn't seem helpful to add unnecessary divergence
between the RVC and non-RVC paths.
Commit: 67d840b60fbd75ca1b52d77bd3353771ec853735
https://github.com/llvm/llvm-project/commit/67d840b60fbd75ca1b52d77bd3353771ec853735
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
A llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
Log Message:
-----------
[VPlan] Relax over-aggressive assertion in VPTransformState::get().
There are cases where a vector value has some users that demand the
the single scalar value only (NeedsScalar), while other users demand the
vector value (see attached test cases). In those cases, the NeedsScalar
users should only demand the first lane.
Fixes https://github.com/llvm/llvm-project/issues/91883.
Commit: f89b1b8a68065c4b880417abb0563bce21399b52
https://github.com/llvm/llvm-project/commit/f89b1b8a68065c4b880417abb0563bce21399b52
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix bazel build.
Commit: 19008d32182ebbe421aaa222ee8af5c3e134e550
https://github.com/llvm/llvm-project/commit/19008d32182ebbe421aaa222ee8af5c3e134e550
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/smul_fix.ll
A llvm/test/CodeGen/AArch64/smul_fix_sat.ll
A llvm/test/CodeGen/AArch64/umul_fix.ll
A llvm/test/CodeGen/AArch64/umul_fix_sat.ll
Log Message:
-----------
[llvm] Support fixed point multiplication on AArch64 (#84237)
Prior to this, fixed point multiplication would lead to this assertion
error on AArhc64, armv8, and armv7.
```
_Accum f(_Accum x, _Accum y) { return x * y; }
// ./bin/clang++ -ffixed-point /tmp/test2.cc -c -S -o - -target aarch64 -O3
clang++: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:10245: void llvm::TargetLowering::forceExpandWideMUL(SelectionDAG &, const SDLoc &, bool, EVT, const SDValue, const SDValue, const SDValue, const SDValue, SDValue &, SDValue &) const: Assertion `Ret.getOpcode() == ISD::MERGE_VALUES && "Ret value is a collection of constituent nodes holding result."' failed.
```
This path into forceExpandWideMUL should only be taken if we don't
support [US]MUL_LOHI or MULH[US] for the operand size (32 in this case).
But we should also check if we can just leverage regular wide
multiplication. That is, extend the operands from 32 to 64, do a regular
64-bit mul, then trunc and shift. These ops are certainly available on
aarch64 but for wider types.
Commit: acd100747fff85e7cfb67caa6c0f1053e820c1ac
https://github.com/llvm/llvm-project/commit/acd100747fff85e7cfb67caa6c0f1053e820c1ac
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
M mlir/test/Dialect/Arith/int-range-opts.mlir
M mlir/test/Dialect/GPU/int-range-interface.mlir
M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][test] Extend `InferIntRangeInterface` test Ops to arbitrary ints (#91850)
This PR is in preparation to some extensions to the
`InferIntRangeInterface` around the `nsw` and `nuw` flags supported in
the `arith` dialect and LLVM.
We provide some common inference logic for `index` and `arith` in
`InferIntRangeCommon.h` but our Test Ops are currently fixed to `Index`
Types. As we test the range inference for arith Ops, especially around
the overflow behaviour, it's handy to have native support for the
typical integer types in the test Ops.
This patch
1. Changes the Attributes of `test.with_bounds` ops from `Index` to
`APInt` which matches the internal representation in
`ConstantIntRanges`.
2. Allows the use of `AnyInteger` in addition to `Index` for the
operands and results of the test Ops. This now requires explicit
specification of the type in the IR, where before `Index` was implicit.
3. Requires bounds Attrs to be specified in the precision of the SSA
value, eliminating any implicit truncation or extension. (*Could this
lead to problems?*)
Commit: 80f8ae3f8485b62529c32683ca48822d700c7716
https://github.com/llvm/llvm-project/commit/80f8ae3f8485b62529c32683ca48822d700c7716
Author: Florian Mayer <fmayer at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[NFC] add explanation to register flags doc (#91803)
Commit: 5adfcb07501f1d128e6517e60d30f2e3a0dc8eaa
https://github.com/llvm/llvm-project/commit/5adfcb07501f1d128e6517e60d30f2e3a0dc8eaa
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/utils/creduce-clang-crash.py
Log Message:
-----------
Allow passing creduce options through creduce-clang-crash.py (#92141)
This change allows us to pass creduce options to creduce-clang-crash.py
script. With this, `--n` is no longer needed to specify the number of
cores, so removed the flag.
The motivation is
https://github.com/llvm/llvm-project/pull/87933#issuecomment-2109463497
suggests that disabling creduce renaming passes helps people to further
reduce crash manually.
Commit: 179efe5abc745b5646efeb33fef86c55aa4fd7dc
https://github.com/llvm/llvm-project/commit/179efe5abc745b5646efeb33fef86c55aa4fd7dc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll
Log Message:
-----------
[LAA] Delay applying loop guards until after isSafeDependenceDistance.
Applying the loop guards to the distance may prevent
isSafeDependenceDistance from determining NoDep, unless loop guards are
also applied to the backedge-taken-count.
Instead of applying the guards to both Dist and the
backedge-taken-count, just apply them after handling
isSafeDependenceDistance and constant distances; there is no benefit to
applying the guards before then.
This fixes a regression flagged by @bjope due to
ecae3ed958481cba7d60868cf3504292f7f4fdf5.
Commit: 302db1ab5a054103e411997fd75b2bf6ef7f448c
https://github.com/llvm/llvm-project/commit/302db1ab5a054103e411997fd75b2bf6ef7f448c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Offload] Do not link every target for JIT (#92013)
Summary:
The offload library supports basic JIT functionality, however we
currently link against every single target even though only AMDGPU and
NVPTX are supported. This somewhat bloats the dynamic library list, so
we should constrain it to what's actually used.
Commit: 332f5e7113c409982e6429b135bb1a7055c11e77
https://github.com/llvm/llvm-project/commit/332f5e7113c409982e6429b135bb1a7055c11e77
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
Log Message:
-----------
[compiler-rt][ORC] Remove unused cmake variables (NFC) (#87742)
Commit: 18ba0cc26e079c7150feb5eaf631d1834e49ca1a
https://github.com/llvm/llvm-project/commit/18ba0cc26e079c7150feb5eaf631d1834e49ca1a
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add keith to bazel owners (NFC) (#92164)
I'm interested in being CC'd on these changes
Commit: cf5db39907f7ec66c084a07c6eb9a83eef506b3c
https://github.com/llvm/llvm-project/commit/cf5db39907f7ec66c084a07c6eb9a83eef506b3c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
Log Message:
-----------
[LV] Add tests with trip counts containing UDIV expressions.
Add test cases for
https://github.com/llvm/llvm-project/issues/89958.
Commit: 4cfe347c107485aab6bd003f99ab06aac242b0fd
https://github.com/llvm/llvm-project/commit/4cfe347c107485aab6bd003f99ab06aac242b0fd
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
Log Message:
-----------
[clangd] Fix -Wunused-but-set-variable after #82396
Commit: d4c86e7f3ea298b259e673142470a7b838f5f302
https://github.com/llvm/llvm-project/commit/d4c86e7f3ea298b259e673142470a7b838f5f302
Author: Amara Emerson <amara at apple.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-basepointer.mir
A llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
Log Message:
-----------
[AArch64][SME] Fix frame lowering not using a base pointer for SME functions. (#91643)
The existing code is checking for the presence of the +sve subtarget
feature
when deciding to use a base pointer for the function, but this check
doesn't
work when only +sme is used.
rdar://126878490
Commit: 12028373020739b388eb2b8141742509f1764e3c
https://github.com/llvm/llvm-project/commit/12028373020739b388eb2b8141742509f1764e3c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (#91393)
Reapplies #81642, fixing the crash which occurs when running the lldb test suite.
Commit: fb8f492a1ccb2236a82701c76f82960fd6cdb725
https://github.com/llvm/llvm-project/commit/fb8f492a1ccb2236a82701c76f82960fd6cdb725
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
Log Message:
-----------
[mlir][sparse] clone a empty sparse tensor when fuse convert into pro… (#92158)
…ducer.
Commit: baca93fc83ee3b9ef32cd328dc4275a06177c8c7
https://github.com/llvm/llvm-project/commit/baca93fc83ee3b9ef32cd328dc4275a06177c8c7
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
Log Message:
-----------
[LSR] Tweak debug output to always print initial cost
Commit: f83df080a817c99e90ed1a0bd5693c5f07ebf567
https://github.com/llvm/llvm-project/commit/f83df080a817c99e90ed1a0bd5693c5f07ebf567
Author: Florian Mayer <fmayer at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
Log Message:
-----------
[NFC] add comment to keep RegState in sync with doc (#92170)
Commit: f918c056f06968763870bc3e6b9f9d7074e1f867
https://github.com/llvm/llvm-project/commit/f918c056f06968763870bc3e6b9f9d7074e1f867
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Host/macosx/objcxx/Host.mm
Log Message:
-----------
[lldb] Allow env override for LLDB_ARGDUMPER_PATH (#91688)
This mirrors the LLDB_DEBUGSERVER_PATH environment variable and allows
you to have lldb-argdumper in a non-standard location and still use it
at runtime.
Commit: 67beebfcb9a267cc1e443aa4d3788adbfcf02639
https://github.com/llvm/llvm-project/commit/67beebfcb9a267cc1e443aa4d3788adbfcf02639
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen][SubtargetEmitter] Refactor hasReadOfWrite to CodeGenProcModel (#92032)
SubtargetEmitter::GenSchedClassTables takes a CodeGenProcModel, but
calls hasReadOfWrite which loops over all ProcModels. We move
hasReadOfWrite to CodeGenProcModel and remove the loop over all
ProcModels. This leads to a 144% speedup on the RISC-V backend of our
downstream.
Commit: 536abf827b481f78a0879b02202fb9a3ffe3a908
https://github.com/llvm/llvm-project/commit/536abf827b481f78a0879b02202fb9a3ffe3a908
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
Read and store gnu build id from loaded core file (#92078)
As we have debuginfod as symbol locator available in lldb now, we want
to make full use of it.
In case of post mortem debugging, we don't always have the main
executable available.
However, the .note.gnu.build-id of the main executable(some other
modules too), should be available in the core file, as those binaries
are loaded in memory and dumped in the core file.
We try to iterate through the NT_FILE entries, read and store the gnu
build id if possible. This will be very useful as this id is the unique
key which is needed for querying the debuginfod server.
Test:
Build and run lldb. Breakpoint set to
https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp#L147
Verified after this commit, module_uuid is the correct gnu build id of
the main executable which caused the crash(first in the NT_FILE entry)
Commit: 5bf653ca42dceb8266a0ff70634292ccd2ad4c43
https://github.com/llvm/llvm-project/commit/5bf653ca42dceb8266a0ff70634292ccd2ad4c43
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
Revert "Read and store gnu build id from loaded core file" (#92181)
Reverts llvm/llvm-project#92078
Commit: 99fad7ebd85e37d3e25500b3411f6b332f68f108
https://github.com/llvm/llvm-project/commit/99fad7ebd85e37d3e25500b3411f6b332f68f108
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
Log Message:
-----------
[BOLT][DWARF] Update DW_AT_comp_dir/DW_AT_dwo_name for DWO TUs (#91486)
Type unit DIE generated by clang contains DW_AT_comp_dir/DW_AT_dwo_name.
This was added to clang to help LLDB to figure out where type unit come
from when accessing an entry in a .debug_names accelerator table and
type units in .dwp file.
When BOLT writes out .dwo files it changes the name of them. User can
also specify directory of where they can be written out. Added support
to BOLT to update those attributes.
Commit: 844355a8cb4b4fa4a6fa39ac47e1169233bb7130
https://github.com/llvm/llvm-project/commit/844355a8cb4b4fa4a6fa39ac47e1169233bb7130
Author: VincentWu <43398706+Xinlong-Wu at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISC-V] remove I ext when E ext has been enabled (#92070)
After patch https://github.com/llvm/llvm-project/pull/88805
`I` Ext will be added automatically when we running the command like
`./build/bin/llc -mtriple=riscv32 -mattr=+e -target-abi ilp32e
-verify-machineinstrs llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll`
it will generate
```
.text
.attribute 4, 16
.attribute 5, "rv32i2p1_e2pe"
.file "zcmp-additional-stack.ll"
.globl func # -- Begin function func
.p2align 1
.type func, at function
```
This patch reset the I ext in FeatureBit when `+e` has been specify
Commit: 3ca428c090624d3cfc530144da6dcd3abfd9ea63
https://github.com/llvm/llvm-project/commit/3ca428c090624d3cfc530144da6dcd3abfd9ea63
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU][True16] Add VOP1Inst_t16_with_profiles class (#92184)
NFC. Makes the VOP1Inst_t16 interface more generic to support future
instructions cleanly.
Commit: e417e61532ac373e7b0708262dedefcdaf6ced9c
https://github.com/llvm/llvm-project/commit/e417e61532ac373e7b0708262dedefcdaf6ced9c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
Log Message:
-----------
[RISCV][LegalizeTypes] Add additional test coverage for type promotion of VP_FSHL/FSHR. NFC
There's a special path when the promoted type has an element size
more than twice the size of the original type.
Commit: 4a17e86f27a0a527ef5316f14fa0e5a60546d9ec
https://github.com/llvm/llvm-project/commit/4a17e86f27a0a527ef5316f14fa0e5a60546d9ec
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Add an overriding option for debugging (#91984)
Summary:
One of the downsides of the linker wrapper is that it made debugging
more difficult. It is very powerful in that it can resolve a lot of
input matching and library handling that could not be done before.
However, the old method allowed users to simply copy-paste the script
files to modify the output and test it.
This patch attempts to make it easier to debug changes by letting the
user override all the linker inputs. That is, we provide a user-created
binary that is treated like the final output of the device link step.
The intended use-case is for using `-save-temps` to get some IR, then
modifying the IR and sticking it back in to see if it exhibits the old
failures.
Commit: c5cd049566a795ba5de88dfbb2eb563cad4a9d8a
https://github.com/llvm/llvm-project/commit/c5cd049566a795ba5de88dfbb2eb563cad4a9d8a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang][Fixup] Fix deleted constructor on older compilers
Commit: dfdc3dcbe7f38bde64bc83a74b9c3451c50e1ad4
https://github.com/llvm/llvm-project/commit/dfdc3dcbe7f38bde64bc83a74b9c3451c50e1ad4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[ctx_profile] Profile reader and writer (#91859)
Utility converting a profile coming from `compiler_rt` to bitstream, and
a reader.
`PGOCtxProfileWriter::write` would be used as the `Writer` parameter for
`__llvm_ctx_profile_fetch` API. This is expected to happen in user code,
for example in the RPC hanler tasked with collecting a profile, and
would look like this:
```
// set up an output stream "Out", which could contain other stuff
{
// constructing the Writer will start the section, in Out, containing
// the collected contextual profiles.
PGOCtxProfWriter Writer(Out);
__llvm_ctx_profile_fetch(&Writer, +[](void* W, const ContextNode &N) {
reinterpret_cast<PGOCtxProfWriter*>(W)->write(N);
});
// Writer going out of scope will finish up the section.
}
```
The reader produces a data structure suitable for maintenance during IPO
transformations.
Commit: 03c7458a3603396d2d0e1dee43399d3d1664a264
https://github.com/llvm/llvm-project/commit/03c7458a3603396d2d0e1dee43399d3d1664a264
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
R llvm/lib/ProfileData/PGOCtxProfReader.cpp
R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
Revert "[ctx_profile] Profile reader and writer" (#92199)
Reverts llvm/llvm-project#91859
Buildbot failures.
Commit: 4d1ecf192313b612090d60181937eff03c1a966b
https://github.com/llvm/llvm-project/commit/4d1ecf192313b612090d60181937eff03c1a966b
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/test/Transforms/LoopFlatten/loop-flatten-gep.ll
Log Message:
-----------
[Transforms] Preserve inbounds attribute of transformed GEPs when flattening loops (#86961)
When flattening the loop, if the GEP was inbound, it should stay
inbound, because the only thing that changed is how the pointers are
calculated, not the elements being accessed.
Proof: https://alive2.llvm.org/ce/z/dApMpQ
Commit: 71fbbb69d63c461f391cbabf1e32cd9977c4ce68
https://github.com/llvm/llvm-project/commit/71fbbb69d63c461f391cbabf1e32cd9977c4ce68
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/IR/GlobalValue.h
M llvm/lib/IR/Globals.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
Log Message:
-----------
[IR] Move GlobalValue::getGUID() out of line (NFC)
Avoid including MD5.h in a core IR header.
Commit: 6642cc60a21f857bddde8ec2c81008a83a54b4d3
https://github.com/llvm/llvm-project/commit/6642cc60a21f857bddde8ec2c81008a83a54b4d3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
Log Message:
-----------
[SCEV] Add tests for ule/sle exit counts (NFC)
Commit: 11b059145d177ee287c7ada9864addf8d083c160
https://github.com/llvm/llvm-project/commit/11b059145d177ee287c7ada9864addf8d083c160
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic
if the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.
Commit: 13b265c7b5c6a989427639e33893c158f737480b
https://github.com/llvm/llvm-project/commit/13b265c7b5c6a989427639e33893c158f737480b
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/fred.txt
A llvm/test/MC/Disassembler/X86/lkgs.txt
A llvm/test/MC/X86/fred-att.s
A llvm/test/MC/X86/fred-intel.s
A llvm/test/MC/X86/lkgs-att.s
A llvm/test/MC/X86/lkgs-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support Intel FRED and LKGS instructions. (#91909)
Spec reference: https://cdrdv2.intel.com/v1/dl/getContent/678938
Commit: eb103104ef08ebc2d0de63db0592e76b294cf8bb
https://github.com/llvm/llvm-project/commit/eb103104ef08ebc2d0de63db0592e76b294cf8bb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
R clang/test/Modules/pr91418.cppm
Log Message:
-----------
Revert "[Serialization] Read the initializer for interesting static variables before consuming it"
This reverts commit 11b059145d177ee287c7ada9864addf8d083c160.
The premerge bot is broken.
Commit: 2ece5cc2bb1b4cc787e33e24a6582043d441a572
https://github.com/llvm/llvm-project/commit/2ece5cc2bb1b4cc787e33e24a6582043d441a572
Author: epitavy <32581827+epitavy at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/examples/ExceptionDemo/CMakeLists.txt
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
Log Message:
-----------
[ExceptionDemo] Correct and update example ExceptionDemo (#69485)
The ExceptionDemo example was no longer compiling (since llvm 14 at
least). The PR makes the example work with the current API and also
transition from MCJIT to ORC.
Fixes #63702
Commit: 72b2c37de6a4bbc2b2d2cda49293684b7cc71508
https://github.com/llvm/llvm-project/commit/72b2c37de6a4bbc2b2d2cda49293684b7cc71508
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Clean up TokenAnnotator::mustBreakBefore()
Commit: 1a58e88690c1a48d1082b4ee6b759f5dc49a7144
https://github.com/llvm/llvm-project/commit/1a58e88690c1a48d1082b4ee6b759f5dc49a7144
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Move RISCVInsertVSETVLI to after phi elimination (#91440)
Split off from #70549, this patch moves RISCVInsertVSETVLI to after phi
elimination where we exit SSA and need to move to LiveVariables.
The motivation for splitting this off is to avoid the large scheduling
diffs from moving completely to after regalloc, and instead focus on
converting the pass to work on LiveIntervals.
The two main changes required are updating VSETVLIInfo to store VNInfos
instead of MachineInstrs, which allows us to still check for PHI defs in
needVSETVLIPHI, and fixing up the live intervals of any AVL operands
after inserting new instructions.
On O3 the pass is inserted after the register coalescer, otherwise we
end up with a bunch of COPYs around eliminated PHIs that trip up
needVSETVLIPHI.
Co-authored-by: Piyou Chen <piyou.chen at sifive.com>
Commit: a71e2b9d0f287e4927e51d6764f90e492ba136e1
https://github.com/llvm/llvm-project/commit/a71e2b9d0f287e4927e51d6764f90e492ba136e1
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/include/llvm-libc-macros/generic-error-number-macros.h
Log Message:
-----------
[libc][errno] Remove non asm generic error number (#92172)
The following small thing caught my eye:
1) `EILSEQ` is not part of the generic asm error number macros. See the
[full list of generic asm errno
codes](https://github.com/torvalds/linux/blob/4b95dc87362aa57bdd0dcbad109ca5e5ef3cbb6c/include/uapi/asm-generic/errno-base.h).
AFAIK the generic asm errno numbers are common between different
operating systems and architectures. `EILSEQ` is not part of this common
set of errno's.
2) `EILSEQ`'s value is wrong. During the addition of `EILSEQ` in
https://reviews.llvm.org/D151129, the value `35` was probably chosen as
its the consecutive number. This is not correct. The actual values can
be looked up for example here:
* [For Linux
kernel](https://github.com/search?q=repo%3Atorvalds%2Flinux+EILSEQ&type=code&p=1):
`EILSEQ = 84` (uapi; i.e. x86_64), `EILSEQ = 88` (mips), `EILSEQ = 47`
(parisc)
* [For Darwin
kernel](https://github.com/apple-oss-distributions/xnu/blob/main/bsd/sys/errno.h#L237):
`EILSEQ = 92`
Commit: d3455f4ddd16811401fa153298fadd2f59f6914e
https://github.com/llvm/llvm-project/commit/d3455f4ddd16811401fa153298fadd2f59f6914e
Author: Cyuria <55673467+cyuria at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
[libc][docs] Fix outdated code review section, as per #91934 (#92051)
As in the title, fixes #91934
Commit: 77047e3cd2edd2b870982fc92f505cbb7fd764cd
https://github.com/llvm/llvm-project/commit/77047e3cd2edd2b870982fc92f505cbb7fd764cd
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Make vsetvli in test not loop invariant. NFC (#92094)
The middle end will remove the inner vsetvli otherwise, and it's more
typical to set the AVL to the remaining VL.
This also prevents the test from showing up as a regression in #91319
Commit: 74d91d9acebdbc81306c8a0ee547002e7e8084f9
https://github.com/llvm/llvm-project/commit/74d91d9acebdbc81306c8a0ee547002e7e8084f9
Author: rahulana-quic <quic_rahulana at quicinc.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M polly/test/CodeGen/20100617.ll
M polly/test/CodeGen/20100622.ll
M polly/test/CodeGen/20100707.ll
M polly/test/CodeGen/20100707_2.ll
M polly/test/CodeGen/20100708.ll
M polly/test/CodeGen/20100708_2.ll
M polly/test/CodeGen/20100713.ll
M polly/test/CodeGen/20100713_2.ll
M polly/test/CodeGen/20100717.ll
M polly/test/CodeGen/20100718-DomInfo-2.ll
M polly/test/CodeGen/20100718-DomInfo.ll
M polly/test/CodeGen/20100720-MultipleConditions.ll
M polly/test/CodeGen/20100809-IndependentBlock.ll
M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
M polly/test/CodeGen/20101030-Overflow.ll
M polly/test/CodeGen/20101103-Overflow3.ll
M polly/test/CodeGen/20101103-signmissmatch.ll
M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
M polly/test/CodeGen/20110226-PHI-Node-removed.ll
M polly/test/CodeGen/20120316-InvalidCast.ll
M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
M polly/test/CodeGen/20130221.ll
M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
M polly/test/CodeGen/Intrinsics/llvm-expect.ll
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
M polly/test/CodeGen/MemAccess/bad_alignment.ll
M polly/test/CodeGen/MemAccess/codegen_address_space.ll
M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
M polly/test/CodeGen/MemAccess/codegen_simple.ll
M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
M polly/test/CodeGen/MemAccess/different_types.ll
M polly/test/CodeGen/MemAccess/generate-all.ll
M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
M polly/test/CodeGen/MemAccess/multiple_types.ll
M polly/test/CodeGen/MemAccess/simple.ll
M polly/test/CodeGen/MemAccess/update_access_functions.ll
M polly/test/CodeGen/OpenMP/alias-metadata.ll
M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
M polly/test/CodeGen/OpenMP/inlineasm.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
M polly/test/CodeGen/OpenMP/matmul-parallel.ll
M polly/test/CodeGen/OpenMP/recomputed-srem.ll
M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
M polly/test/CodeGen/OpenMP/reference-other-bb.ll
M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
M polly/test/CodeGen/OpenMP/reference_latest.ll
M polly/test/CodeGen/OpenMP/scev-rewriting.ll
M polly/test/CodeGen/OpenMP/single_loop.ll
M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
M polly/test/CodeGen/PHIInExit.ll
M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
M polly/test/CodeGen/alias-check-multi-dim.ll
M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
M polly/test/CodeGen/aliasing_different_pointer_types.ll
M polly/test/CodeGen/aliasing_multidimensional_access.ll
M polly/test/CodeGen/aliasing_parametric_simple_1.ll
M polly/test/CodeGen/aliasing_parametric_simple_2.ll
M polly/test/CodeGen/aliasing_struct_element.ll
M polly/test/CodeGen/alignment.ll
M polly/test/CodeGen/annotated_alias_scopes.ll
M polly/test/CodeGen/blas_sscal_simplified.ll
M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
M polly/test/CodeGen/constant_condition.ll
M polly/test/CodeGen/create-conditional-scop.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
M polly/test/CodeGen/debug-intrinsics.ll
M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
M polly/test/CodeGen/empty_domain_in_context.ll
M polly/test/CodeGen/entry_with_trivial_phi.ll
M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
M polly/test/CodeGen/exprModDiv.ll
M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
M polly/test/CodeGen/hoisting_1.ll
M polly/test/CodeGen/hoisting_2.ll
M polly/test/CodeGen/inner_scev_sdiv_1.ll
M polly/test/CodeGen/inner_scev_sdiv_2.ll
M polly/test/CodeGen/inner_scev_sdiv_3.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
M polly/test/CodeGen/intrinsics_lifetime.ll
M polly/test/CodeGen/intrinsics_misc.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
M polly/test/CodeGen/invariant-load-dimension.ll
M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
M polly/test/CodeGen/invariant_cannot_handle_void.ll
M polly/test/CodeGen/invariant_load.ll
M polly/test/CodeGen/invariant_load_address_space.ll
M polly/test/CodeGen/invariant_load_alias_metadata.ll
M polly/test/CodeGen/invariant_load_base_pointer.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/CodeGen/invariant_load_condition.ll
M polly/test/CodeGen/invariant_load_different_sized_types.ll
M polly/test/CodeGen/invariant_load_escaping.ll
M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
M polly/test/CodeGen/invariant_load_loop_ub.ll
M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
M polly/test/CodeGen/invariant_load_outermost.ll
M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
M polly/test/CodeGen/invariant_load_scalar_dep.ll
M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
M polly/test/CodeGen/invariant_verify_function_failed.ll
M polly/test/CodeGen/invariant_verify_function_failed_2.ll
M polly/test/CodeGen/issue56692.ll
M polly/test/CodeGen/large-numbers-in-boundary-context.ll
M polly/test/CodeGen/load_subset_with_context.ll
M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
M polly/test/CodeGen/loop_with_condition.ll
M polly/test/CodeGen/loop_with_condition_2.ll
M polly/test/CodeGen/loop_with_condition_ineq.ll
M polly/test/CodeGen/loop_with_condition_nested.ll
M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
M polly/test/CodeGen/memcpy_annotations.ll
M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
M polly/test/CodeGen/multidim-non-matching-typesize.ll
M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/CodeGen/multidim_alias_check.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/multiple-types-invariant-load-2.ll
M polly/test/CodeGen/multiple-types-invariant-load.ll
M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
M polly/test/CodeGen/no-overflow-tracking.ll
M polly/test/CodeGen/no_guard_bb.ll
M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
M polly/test/CodeGen/non-affine-exit-node-dominance.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
M polly/test/CodeGen/non-affine-phi-node-expansion.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
M polly/test/CodeGen/non-affine-region-implicit-store.ll
M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
M polly/test/CodeGen/non-affine-switch.ll
M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
M polly/test/CodeGen/non-affine-update.ll
M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
M polly/test/CodeGen/non_affine_float_compare.ll
M polly/test/CodeGen/only_non_affine_error_region.ll
M polly/test/CodeGen/openmp_limit_threads.ll
M polly/test/CodeGen/out-of-scop-phi-node-use.ll
M polly/test/CodeGen/param_div_div_div_2.ll
M polly/test/CodeGen/partial_write_array.ll
M polly/test/CodeGen/partial_write_emptyset.ll
M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
M polly/test/CodeGen/partial_write_impossible_restriction.ll
M polly/test/CodeGen/partial_write_in_region.ll
M polly/test/CodeGen/partial_write_in_region_with_loop.ll
M polly/test/CodeGen/partial_write_mapped_scalar.ll
M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
M polly/test/CodeGen/perf_monitoring.ll
M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
M polly/test/CodeGen/phi-defined-before-scop.ll
M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
M polly/test/CodeGen/phi_condition_modeling_1.ll
M polly/test/CodeGen/phi_condition_modeling_2.ll
M polly/test/CodeGen/phi_conditional_simple_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
M polly/test/CodeGen/phi_loop_carried_float.ll
M polly/test/CodeGen/phi_loop_carried_float_escape.ll
M polly/test/CodeGen/phi_scalar_simple_1.ll
M polly/test/CodeGen/phi_scalar_simple_2.ll
M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
M polly/test/CodeGen/phi_with_one_exit_edge.ll
M polly/test/CodeGen/pointer-type-expressions-2.ll
M polly/test/CodeGen/pointer-type-expressions.ll
M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
M polly/test/CodeGen/pointer_rem.ll
M polly/test/CodeGen/pr25241.ll
M polly/test/CodeGen/ptrtoint_as_parameter.ll
M polly/test/CodeGen/read-only-scalars.ll
M polly/test/CodeGen/reduction.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/reduction_simple_binary.ll
M polly/test/CodeGen/region-with-instructions.ll
M polly/test/CodeGen/region_exiting-domtree.ll
M polly/test/CodeGen/region_multiexit_partialwrite.ll
M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
M polly/test/CodeGen/run-time-condition.ll
M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/scalar_codegen_crash.ll
M polly/test/CodeGen/scev-backedgetaken.ll
M polly/test/CodeGen/scev-division-invariant-load.ll
M polly/test/CodeGen/scev.ll
M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
M polly/test/CodeGen/scev_looking_through_bitcasts.ll
M polly/test/CodeGen/scop_expander_insert_point.ll
M polly/test/CodeGen/scop_expander_segfault.ll
M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
M polly/test/CodeGen/select-base-pointer.ll
M polly/test/CodeGen/sequential_loops.ll
M polly/test/CodeGen/simple_loop_non_single_exit.ll
M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
M polly/test/CodeGen/simple_non_single_entry.ll
M polly/test/CodeGen/simple_nonaffine_loop.ll
M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_do_loop_one_iteration.ll
M polly/test/CodeGen/single_do_loop_scev_replace.ll
M polly/test/CodeGen/single_loop.ll
M polly/test/CodeGen/single_loop_int_max_iterations.ll
M polly/test/CodeGen/single_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_loop_one_iteration.ll
M polly/test/CodeGen/single_loop_param.ll
M polly/test/CodeGen/single_loop_param_less_equal.ll
M polly/test/CodeGen/single_loop_param_less_than.ll
M polly/test/CodeGen/single_loop_zero_iterations.ll
M polly/test/CodeGen/split_edge_of_exit.ll
M polly/test/CodeGen/split_edges.ll
M polly/test/CodeGen/split_edges_2.ll
M polly/test/CodeGen/srem-in-other-bb.ll
M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
M polly/test/CodeGen/stmt_split_no_dependence.ll
M polly/test/CodeGen/switch-in-non-affine-region.ll
M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/CodeGen/test.ll
M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
M polly/test/CodeGen/two-scops-in-row.ll
M polly/test/CodeGen/udiv_expansion_position.ll
M polly/test/CodeGen/uninitialized_scalar_memory.ll
M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
M polly/test/CodeGen/variant_load_empty_domain.ll
M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
M polly/test/DeLICM/confused_order.ll
M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/map_memset_zero.ll
M polly/test/DeLICM/nomap_alreadymapped.ll
M polly/test/DeLICM/nomap_escaping.ll
M polly/test/DeLICM/nomap_occupied.ll
M polly/test/DeLICM/nomap_readonly.ll
M polly/test/DeLICM/nomap_spuriouswrite.ll
M polly/test/DeLICM/nomap_storagesize.ll
M polly/test/DeLICM/nomap_writewrite.ll
M polly/test/DeLICM/outofquota-reverseDomain.ll
M polly/test/DeLICM/pass_existence.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reduction.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
M polly/test/DeLICM/reduction_unrelatedunusual.ll
M polly/test/DeLICM/reject_loadafterstore.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/DeLICM/reject_storeafterstore.ll
M polly/test/DeLICM/reject_storeinsubregion.ll
M polly/test/DeLICM/reject_unusualstore.ll
M polly/test/DeLICM/skip_maywrite.ll
M polly/test/DeLICM/skip_multiaccess.ll
M polly/test/DeLICM/skip_notinloop.ll
M polly/test/DeLICM/skip_scalaraccess.ll
M polly/test/DeadCodeElimination/chained_iterations.ll
M polly/test/DeadCodeElimination/chained_iterations_2.ll
M polly/test/DeadCodeElimination/computeout.ll
M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
M polly/test/DeadCodeElimination/non-affine.ll
M polly/test/DeadCodeElimination/null_schedule.ll
M polly/test/DependenceInfo/computeout.ll
M polly/test/DependenceInfo/different_schedule_dimensions.ll
M polly/test/DependenceInfo/do_pluto_matmult.ll
M polly/test/DependenceInfo/fine_grain_dep_0.ll
M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
M polly/test/DependenceInfo/infeasible_context.ll
M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
M polly/test/DependenceInfo/reduction_complex_location.ll
M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_dependences_not_null.ll
M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
M polly/test/DependenceInfo/reduction_multiple_reductions.ll
M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
M polly/test/DependenceInfo/reduction_privatization_deps.ll
M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
M polly/test/DependenceInfo/reduction_sequence.ll
M polly/test/DependenceInfo/reduction_simple_iv.ll
M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
M polly/test/DependenceInfo/sequential_loops.ll
M polly/test/ForwardOpTree/atax.ll
M polly/test/ForwardOpTree/changed-kind.ll
M polly/test/ForwardOpTree/forward_from_region.ll
M polly/test/ForwardOpTree/forward_hoisted.ll
M polly/test/ForwardOpTree/forward_instruction.ll
M polly/test/ForwardOpTree/forward_into_region.ll
M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
M polly/test/ForwardOpTree/forward_load.ll
M polly/test/ForwardOpTree/forward_load_differentarray.ll
M polly/test/ForwardOpTree/forward_load_double_write.ll
M polly/test/ForwardOpTree/forward_load_fromloop.ll
M polly/test/ForwardOpTree/forward_load_indirect.ll
M polly/test/ForwardOpTree/forward_load_memset_after.ll
M polly/test/ForwardOpTree/forward_load_memset_before.ll
M polly/test/ForwardOpTree/forward_load_tripleuse.ll
M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
M polly/test/ForwardOpTree/forward_phi_load.ll
M polly/test/ForwardOpTree/forward_readonly.ll
M polly/test/ForwardOpTree/forward_reusue.ll
M polly/test/ForwardOpTree/forward_store.ll
M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
M polly/test/ForwardOpTree/forward_transitive.ll
M polly/test/ForwardOpTree/jacobi-1d.ll
M polly/test/ForwardOpTree/noforward_from_region.ll
M polly/test/ForwardOpTree/noforward_load_conditional.ll
M polly/test/ForwardOpTree/noforward_load_writebetween.ll
M polly/test/ForwardOpTree/noforward_outofquota.ll
M polly/test/ForwardOpTree/noforward_partial.ll
M polly/test/ForwardOpTree/noforward_phi.ll
M polly/test/ForwardOpTree/noforward_selfrefphi.ll
M polly/test/ForwardOpTree/noforward_sideffects.ll
M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
M polly/test/IstAstInfo/alias_simple_1.ll
M polly/test/IstAstInfo/alias_simple_2.ll
M polly/test/IstAstInfo/alias_simple_3.ll
M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
M polly/test/IstAstInfo/dependence_distance_minimal.ll
M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
M polly/test/IstAstInfo/non_affine_access.ll
M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
M polly/test/IstAstInfo/run-time-condition.ll
M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
M polly/test/IstAstInfo/simple-run-time-condition.ll
M polly/test/IstAstInfo/single_loop_strip_mine.ll
M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
M polly/test/MaximalStaticExpansion/read_from_original.ll
M polly/test/MaximalStaticExpansion/too_many_writes.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
M polly/test/MaximalStaticExpansion/working_expansion.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
M polly/test/MaximalStaticExpansion/working_value_expansion.ll
M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
M polly/test/ScheduleOptimizer/computeout.ll
M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
M polly/test/ScheduleOptimizer/line-tiling-2.ll
M polly/test/ScheduleOptimizer/line-tiling.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
M polly/test/ScheduleOptimizer/one-dimensional-band.ll
M polly/test/ScheduleOptimizer/outer_coincidence.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
M polly/test/ScheduleOptimizer/prevectorization.ll
M polly/test/ScheduleOptimizer/rectangular-tiling.ll
M polly/test/ScheduleOptimizer/schedule_computeout.ll
M polly/test/ScheduleOptimizer/statistics.ll
M polly/test/ScheduleOptimizer/tile_after_fusion.ll
M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
M polly/test/ScopDetect/aliasing_simple_1.ll
M polly/test/ScopDetect/aliasing_simple_2.ll
M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
M polly/test/ScopDetect/callbr.ll
M polly/test/ScopDetect/collective_invariant_loads.ll
M polly/test/ScopDetect/cross_loop_non_single_exit.ll
M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
M polly/test/ScopDetect/dot-scops-npm.ll
M polly/test/ScopDetect/dot-scops.ll
M polly/test/ScopDetect/error-block-always-executed.ll
M polly/test/ScopDetect/error-block-referenced-from-scop.ll
M polly/test/ScopDetect/error-block-unreachable.ll
M polly/test/ScopDetect/expand-region-correctly-2.ll
M polly/test/ScopDetect/expand-region-correctly.ll
M polly/test/ScopDetect/ignore_func_flag_regex.ll
M polly/test/ScopDetect/index_from_unpredictable_loop.ll
M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
M polly/test/ScopDetect/indvars.ll
M polly/test/ScopDetect/intrinsics_1.ll
M polly/test/ScopDetect/intrinsics_2.ll
M polly/test/ScopDetect/intrinsics_3.ll
M polly/test/ScopDetect/invalid-latch-conditions.ll
M polly/test/ScopDetect/invalidate_scalar_evolution.ll
M polly/test/ScopDetect/invariant-load-before-scop.ll
M polly/test/ScopDetect/keep_going_expansion.ll
M polly/test/ScopDetect/mod_ref_read_pointer.ll
M polly/test/ScopDetect/more-than-one-loop.ll
M polly/test/ScopDetect/multidim-with-undef-size.ll
M polly/test/ScopDetect/multidim.ll
M polly/test/ScopDetect/multidim_indirect_access.ll
M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
M polly/test/ScopDetect/nested_loop_single_exit.ll
M polly/test/ScopDetect/non-affine-conditional.ll
M polly/test/ScopDetect/non-affine-float-compare.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopDetect/non-affine-loop.ll
M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
M polly/test/ScopDetect/non-simple-memory-accesses.ll
M polly/test/ScopDetect/non_affine_loop_condition.ll
M polly/test/ScopDetect/only-one-affine-loop.ll
M polly/test/ScopDetect/only_func_flag.ll
M polly/test/ScopDetect/only_func_flag_regex.ll
M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
M polly/test/ScopDetect/parametric-multiply-in-scev.ll
M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
M polly/test/ScopDetect/profitability-large-basic-blocks.ll
M polly/test/ScopDetect/profitability-two-nested-loops.ll
M polly/test/ScopDetect/remove_all_children.ll
M polly/test/ScopDetect/report-scop-location.ll
M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
M polly/test/ScopDetect/run_time_alias_check.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetect/sequential_loops.ll
M polly/test/ScopDetect/simple_loop.ll
M polly/test/ScopDetect/simple_loop_non_single_entry.ll
M polly/test/ScopDetect/simple_loop_non_single_exit.ll
M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
M polly/test/ScopDetect/simple_loop_with_param.ll
M polly/test/ScopDetect/simple_loop_with_param_2.ll
M polly/test/ScopDetect/simple_non_single_entry.ll
M polly/test/ScopDetect/skip_function_attribute.ll
M polly/test/ScopDetect/srem_with_parametric_divisor.ll
M polly/test/ScopDetect/statistics.ll
M polly/test/ScopDetect/switch-in-loop-patch.ll
M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
M polly/test/ScopInfo/Alias-0.ll
M polly/test/ScopInfo/Alias-1.ll
M polly/test/ScopInfo/Alias-2.ll
M polly/test/ScopInfo/Alias-3.ll
M polly/test/ScopInfo/Alias-4.ll
M polly/test/ScopInfo/BoundChecks/single-loop.ll
M polly/test/ScopInfo/BoundChecks/two-loops.ll
M polly/test/ScopInfo/NonAffine/div_backedge.ll
M polly/test/ScopInfo/NonAffine/div_domain.ll
M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
M polly/test/ScopInfo/NonAffine/modulo_domain.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
M polly/test/ScopInfo/aliasing_dead_access.ll
M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/assume_gep_bounds.ll
M polly/test/ScopInfo/assume_gep_bounds_2.ll
M polly/test/ScopInfo/assume_gep_bounds_many.ll
M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
M polly/test/ScopInfo/bool-addrec.ll
M polly/test/ScopInfo/bounded_loop_assumptions.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
M polly/test/ScopInfo/bug_2010_10_22.ll
M polly/test/ScopInfo/bug_2011_1_5.ll
M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
M polly/test/ScopInfo/cfg_consequences.ll
M polly/test/ScopInfo/complex-branch-structure.ll
M polly/test/ScopInfo/complex-condition.ll
M polly/test/ScopInfo/complex-expression.ll
M polly/test/ScopInfo/complex-loop-nesting.ll
M polly/test/ScopInfo/complex-successor-structure-2.ll
M polly/test/ScopInfo/complex-successor-structure-3.ll
M polly/test/ScopInfo/complex-successor-structure.ll
M polly/test/ScopInfo/complex_domain_binary_condition.ll
M polly/test/ScopInfo/complex_execution_context.ll
M polly/test/ScopInfo/cond_constant_in_loop.ll
M polly/test/ScopInfo/cond_in_loop.ll
M polly/test/ScopInfo/condition-after-error-block-2.ll
M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
M polly/test/ScopInfo/condtion-after-error-block.ll
M polly/test/ScopInfo/const_srem_sdiv.ll
M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
M polly/test/ScopInfo/constant_factor_in_parameter.ll
M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
M polly/test/ScopInfo/constant_start_integer.ll
M polly/test/ScopInfo/debug_call.ll
M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
M polly/test/ScopInfo/div_by_zero.ll
M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
M polly/test/ScopInfo/early_exit_for_complex_domains.ll
M polly/test/ScopInfo/error-blocks-1.ll
M polly/test/ScopInfo/error-blocks-2.ll
M polly/test/ScopInfo/escaping_empty_scop.ll
M polly/test/ScopInfo/exit-phi-1.ll
M polly/test/ScopInfo/exit-phi-2.ll
M polly/test/ScopInfo/exit_phi_accesses-2.ll
M polly/test/ScopInfo/exit_phi_accesses.ll
M polly/test/ScopInfo/expensive-boundary-context.ll
M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
M polly/test/ScopInfo/full-function.ll
M polly/test/ScopInfo/granularity_same_name.ll
M polly/test/ScopInfo/granularity_scalar-indep.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
M polly/test/ScopInfo/i1_params.ll
M polly/test/ScopInfo/infeasible-rtc.ll
M polly/test/ScopInfo/infeasible_invalid_context.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
M polly/test/ScopInfo/integers.ll
M polly/test/ScopInfo/inter-error-bb-dependence.ll
M polly/test/ScopInfo/inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra_bb_scalar_dep.ll
M polly/test/ScopInfo/intrinsics.ll
M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
M polly/test/ScopInfo/invariant-load-instlist.ll
M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
M polly/test/ScopInfo/invariant_load.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
M polly/test/ScopInfo/invariant_load_addrec_sum.ll
M polly/test/ScopInfo/invariant_load_base_pointer.ll
M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
M polly/test/ScopInfo/invariant_load_branch_condition.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
M polly/test/ScopInfo/invariant_load_complex_condition.ll
M polly/test/ScopInfo/invariant_load_condition.ll
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
M polly/test/ScopInfo/invariant_load_in_non_affine.ll
M polly/test/ScopInfo/invariant_load_loop_ub.ll
M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
M polly/test/ScopInfo/invariant_load_scalar_dep.ll
M polly/test/ScopInfo/invariant_load_stmt_domain.ll
M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
M polly/test/ScopInfo/invariant_load_zext_parameter.ll
M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
M polly/test/ScopInfo/invariant_loop_bounds.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
M polly/test/ScopInfo/isl_trip_count_01.ll
M polly/test/ScopInfo/isl_trip_count_02.ll
M polly/test/ScopInfo/isl_trip_count_03.ll
M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
M polly/test/ScopInfo/licm_load.ll
M polly/test/ScopInfo/licm_potential_store.ll
M polly/test/ScopInfo/licm_reduction_nested.ll
M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
M polly/test/ScopInfo/loop_affine_bound_0.ll
M polly/test/ScopInfo/loop_affine_bound_1.ll
M polly/test/ScopInfo/loop_affine_bound_2.ll
M polly/test/ScopInfo/loop_carry.ll
M polly/test/ScopInfo/many-scalar-dependences.ll
M polly/test/ScopInfo/max-loop-depth.ll
M polly/test/ScopInfo/memcpy-raw-source.ll
M polly/test/ScopInfo/memcpy.ll
M polly/test/ScopInfo/memmove.ll
M polly/test/ScopInfo/memset.ll
M polly/test/ScopInfo/memset_null.ll
M polly/test/ScopInfo/mismatching-array-dimensions.ll
M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointer.ll
M polly/test/ScopInfo/mod_ref_read_pointers.ll
M polly/test/ScopInfo/modulo_zext_1.ll
M polly/test/ScopInfo/modulo_zext_2.ll
M polly/test/ScopInfo/modulo_zext_3.ll
M polly/test/ScopInfo/multi-scop.ll
M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
M polly/test/ScopInfo/multidim_fold_constant_dim.ll
M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
M polly/test/ScopInfo/multidim_fortran_2d.ll
M polly/test/ScopInfo/multidim_fortran_2d_params.ll
M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_fortran_srem.ll
M polly/test/ScopInfo/multidim_gep_pointercast.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/multidim_nested_start_integer.ll
M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
M polly/test/ScopInfo/multidim_only_ivs_2d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
M polly/test/ScopInfo/multidim_param_in_subscript.ll
M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
M polly/test/ScopInfo/multidim_srem.ll
M polly/test/ScopInfo/multidim_with_bitcast.ll
M polly/test/ScopInfo/multiple-binary-or-conditions.ll
M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
M polly/test/ScopInfo/multiple-types-non-affine-2.ll
M polly/test/ScopInfo/multiple-types-non-affine.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
M polly/test/ScopInfo/multiple-types-two-dimensional.ll
M polly/test/ScopInfo/multiple-types.ll
M polly/test/ScopInfo/multiple_exiting_blocks.ll
M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
M polly/test/ScopInfo/multiple_latch_blocks.ll
M polly/test/ScopInfo/nested-loops.ll
M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
M polly/test/ScopInfo/non-affine-region-phi.ll
M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
M polly/test/ScopInfo/non-affine-region-with-loop.ll
M polly/test/ScopInfo/non-precise-inv-load-1.ll
M polly/test/ScopInfo/non-precise-inv-load-2.ll
M polly/test/ScopInfo/non-precise-inv-load-3.ll
M polly/test/ScopInfo/non-precise-inv-load-4.ll
M polly/test/ScopInfo/non-precise-inv-load-5.ll
M polly/test/ScopInfo/non-precise-inv-load-6.ll
M polly/test/ScopInfo/non-pure-function-call.ll
M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
M polly/test/ScopInfo/non-pure-function-calls.ll
M polly/test/ScopInfo/non_affine_access.ll
M polly/test/ScopInfo/non_affine_region_1.ll
M polly/test/ScopInfo/non_affine_region_2.ll
M polly/test/ScopInfo/non_affine_region_3.ll
M polly/test/ScopInfo/non_affine_region_4.ll
M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
M polly/test/ScopInfo/not-a-reduction.ll
M polly/test/ScopInfo/opaque-struct.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/ScopInfo/parameter-constant-division.ll
M polly/test/ScopInfo/parameter_in_dead_statement.ll
M polly/test/ScopInfo/parameter_product.ll
M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
M polly/test/ScopInfo/partially_invariant_load_1.ll
M polly/test/ScopInfo/partially_invariant_load_2.ll
M polly/test/ScopInfo/phi-in-non-affine-region.ll
M polly/test/ScopInfo/phi_after_error_block.ll
M polly/test/ScopInfo/phi_condition_modeling_1.ll
M polly/test/ScopInfo/phi_condition_modeling_2.ll
M polly/test/ScopInfo/phi_conditional_simple_1.ll
M polly/test/ScopInfo/phi_loop_carried_float.ll
M polly/test/ScopInfo/phi_not_grouped_at_top.ll
M polly/test/ScopInfo/phi_scalar_simple_1.ll
M polly/test/ScopInfo/phi_scalar_simple_2.ll
M polly/test/ScopInfo/phi_with_invoke_edge.ll
M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
M polly/test/ScopInfo/pointer-comparison.ll
M polly/test/ScopInfo/pointer-type-expressions.ll
M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
M polly/test/ScopInfo/process_added_dimensions.ll
M polly/test/ScopInfo/pwaff-complexity-bailout.ll
M polly/test/ScopInfo/ranged_parameter.ll
M polly/test/ScopInfo/ranged_parameter_2.ll
M polly/test/ScopInfo/ranged_parameter_wrap.ll
M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
M polly/test/ScopInfo/read-only-scalars.ll
M polly/test/ScopInfo/read-only-statements.ll
M polly/test/ScopInfo/reduction_alternating_base.ll
M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
M polly/test/ScopInfo/reduction_different_index.ll
M polly/test/ScopInfo/reduction_different_index1.ll
M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
M polly/test/ScopInfo/reduction_escaping_intermediate.ll
M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
M polly/test/ScopInfo/reduction_invalid_different_operators.ll
M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
M polly/test/ScopInfo/reduction_simple_fp.ll
M polly/test/ScopInfo/reduction_simple_w_constant.ll
M polly/test/ScopInfo/reduction_simple_w_iv.ll
M polly/test/ScopInfo/reduction_two_identical_reads.ll
M polly/test/ScopInfo/redundant_parameter_constraint.ll
M polly/test/ScopInfo/region-with-instructions.ll
M polly/test/ScopInfo/remarks.ll
M polly/test/ScopInfo/required-invariant-loop-bounds.ll
M polly/test/ScopInfo/restriction_in_dead_block.ll
M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
M polly/test/ScopInfo/run-time-check-many-parameters.ll
M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
M polly/test/ScopInfo/scalar.ll
M polly/test/ScopInfo/scalar_dependence_cond_br.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
M polly/test/ScopInfo/scev-invalidated.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
M polly/test/ScopInfo/sign_wrapped_set.ll
M polly/test/ScopInfo/simple_loop_1.ll
M polly/test/ScopInfo/simple_loop_2.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
M polly/test/ScopInfo/simple_loop_unsigned_2.ll
M polly/test/ScopInfo/simple_loop_unsigned_3.ll
M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
M polly/test/ScopInfo/smax.ll
M polly/test/ScopInfo/statistics.ll
M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
M polly/test/ScopInfo/stmt_split_no_after_split.ll
M polly/test/ScopInfo/stmt_split_no_dependence.ll
M polly/test/ScopInfo/stmt_split_on_store.ll
M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
M polly/test/ScopInfo/stmt_split_within_loop.ll
M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
M polly/test/ScopInfo/switch-1.ll
M polly/test/ScopInfo/switch-2.ll
M polly/test/ScopInfo/switch-3.ll
M polly/test/ScopInfo/switch-4.ll
M polly/test/ScopInfo/switch-5.ll
M polly/test/ScopInfo/switch-6.ll
M polly/test/ScopInfo/switch-7.ll
M polly/test/ScopInfo/tempscop-printing.ll
M polly/test/ScopInfo/test-wrapping-in-condition.ll
M polly/test/ScopInfo/truncate-1.ll
M polly/test/ScopInfo/truncate-2.ll
M polly/test/ScopInfo/truncate-3.ll
M polly/test/ScopInfo/two-loops-one-infinite.ll
M polly/test/ScopInfo/two-loops-right-after-each-other.ll
M polly/test/ScopInfo/undef_in_cond.ll
M polly/test/ScopInfo/unnamed_nonaffine.ll
M polly/test/ScopInfo/unnamed_stmts.ll
M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
M polly/test/ScopInfo/unprofitable_scalar-accs.ll
M polly/test/ScopInfo/unsigned-condition.ll
M polly/test/ScopInfo/unsigned-division-1.ll
M polly/test/ScopInfo/unsigned-division-2.ll
M polly/test/ScopInfo/unsigned-division-3.ll
M polly/test/ScopInfo/unsigned-division-4.ll
M polly/test/ScopInfo/unsigned-division-5.ll
M polly/test/ScopInfo/unsigned_wrap_uge.ll
M polly/test/ScopInfo/unsigned_wrap_ugt.ll
M polly/test/ScopInfo/unsigned_wrap_ule.ll
M polly/test/ScopInfo/unsigned_wrap_ult.ll
M polly/test/ScopInfo/user_context.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
M polly/test/ScopInfo/user_provided_assumptions.ll
M polly/test/ScopInfo/user_provided_assumptions_2.ll
M polly/test/ScopInfo/user_provided_assumptions_3.ll
M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
M polly/test/ScopInfo/variant_base_pointer.ll
M polly/test/ScopInfo/variant_load_empty_domain.ll
M polly/test/ScopInfo/wraping_signed_expr_0.ll
M polly/test/ScopInfo/wraping_signed_expr_1.ll
M polly/test/ScopInfo/wraping_signed_expr_2.ll
M polly/test/ScopInfo/wraping_signed_expr_3.ll
M polly/test/ScopInfo/wraping_signed_expr_4.ll
M polly/test/ScopInfo/wraping_signed_expr_5.ll
M polly/test/ScopInfo/wraping_signed_expr_6.ll
M polly/test/ScopInfo/wraping_signed_expr_7.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
M polly/test/ScopInfo/zero_ext_space_mismatch.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/Simplify/coalesce_3partials.ll
M polly/test/Simplify/coalesce_disjointelements.ll
M polly/test/Simplify/coalesce_overlapping.ll
M polly/test/Simplify/coalesce_partial.ll
M polly/test/Simplify/dead_access_load.ll
M polly/test/Simplify/dead_access_phi.ll
M polly/test/Simplify/dead_access_value.ll
M polly/test/Simplify/dead_instruction.ll
M polly/test/Simplify/emptyaccessdomain.ll
M polly/test/Simplify/exit_phi_accesses-2.ll
M polly/test/Simplify/func-b320a7.ll
M polly/test/Simplify/gemm.ll
M polly/test/Simplify/nocoalesce_differentvalues.ll
M polly/test/Simplify/nocoalesce_elementmismatch.ll
M polly/test/Simplify/nocoalesce_readbetween.ll
M polly/test/Simplify/nocoalesce_writebetween.ll
M polly/test/Simplify/notdead_region_exitphi.ll
M polly/test/Simplify/notdead_region_innerphi.ll
M polly/test/Simplify/notredundant_region_loop.ll
M polly/test/Simplify/notredundant_region_middle.ll
M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/Simplify/overwritten.ll
M polly/test/Simplify/overwritten_3phi.ll
M polly/test/Simplify/overwritten_3store.ll
M polly/test/Simplify/overwritten_implicit_and_explicit.ll
M polly/test/Simplify/overwritten_loadbetween.ll
M polly/test/Simplify/overwritten_scalar.ll
M polly/test/Simplify/pass_existence.ll
M polly/test/Simplify/phi_in_regionstmt.ll
M polly/test/Simplify/pr33323.ll
M polly/test/Simplify/redundant.ll
M polly/test/Simplify/redundant_differentindex.ll
M polly/test/Simplify/redundant_region.ll
M polly/test/Simplify/redundant_region_scalar.ll
M polly/test/Simplify/redundant_scalarwrite.ll
M polly/test/Simplify/redundant_storebetween.ll
M polly/test/Simplify/scalability1.ll
M polly/test/Simplify/scalability2.ll
M polly/test/Simplify/sweep_mapped_phi.ll
M polly/test/Simplify/sweep_mapped_value.ll
M polly/test/Simplify/ununsed_read_in_region_entry.ll
M polly/test/Support/Plugins.ll
M polly/test/Support/defaultpipelines.ll
M polly/test/Support/dumpfunction.ll
M polly/test/Support/dumpmodule.ll
M polly/test/Support/exportjson.ll
M polly/test/Support/isl-args.ll
M polly/test/Support/pipelineposition.ll
M polly/test/Support/pollyDebug.ll
M polly/test/lit.site.cfg.in
M polly/test/polly.ll
Log Message:
-----------
[polly] Port polly tests to use NPM (#90632)
Even as the NPM has been in use by Polly for a while now, the
majority of the tests continue using the LPM passes. This patch
ports the tests to use the NPM passes (for example, by replacing
a flag such as -polly-detect with -passes=polly-detect following
the NPM syntax for specifying passes) with some exceptions for
some missing features in the new passes. Additionally, the lit
substitution %loadPolly is replaced by the substitution of what
was %loadNPMPolly and %loadNPMPolly is removed.
Commit: 847c83f7cceeaec6676f33291081912d6b8fda5e
https://github.com/llvm/llvm-project/commit/847c83f7cceeaec6676f33291081912d6b8fda5e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/issue68120.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
Log Message:
-----------
InstCombine: Process addrspacecast uses in PointerReplacer (#91953)
This was looking through an addrspacecast, and not finding a later
unfoldable cast to another address space. Fixes improperly deleting
a required alloca + memcpy and introducing an illegal addrspacecast.
This also required fixing some worklist management issues with
addrspacecast, and assuming that only memcpy sources could need
replacement.
Regresses one test function, but this looks like it optimized
before by accident. It never saw the pointer use by the call
to readonly_callee, which should require insertion of a new cast.
Fixes #68120
Commit: 15397583e3d85eb1f1a051de26eb409aaedd3b54
https://github.com/llvm/llvm-project/commit/15397583e3d85eb1f1a051de26eb409aaedd3b54
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M polly/test/CodeGen/20100617.ll
M polly/test/CodeGen/20100622.ll
M polly/test/CodeGen/20100707.ll
M polly/test/CodeGen/20100707_2.ll
M polly/test/CodeGen/20100708.ll
M polly/test/CodeGen/20100708_2.ll
M polly/test/CodeGen/20100713.ll
M polly/test/CodeGen/20100713_2.ll
M polly/test/CodeGen/20100717.ll
M polly/test/CodeGen/20100718-DomInfo-2.ll
M polly/test/CodeGen/20100718-DomInfo.ll
M polly/test/CodeGen/20100720-MultipleConditions.ll
M polly/test/CodeGen/20100809-IndependentBlock.ll
M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
M polly/test/CodeGen/20101030-Overflow.ll
M polly/test/CodeGen/20101103-Overflow3.ll
M polly/test/CodeGen/20101103-signmissmatch.ll
M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
M polly/test/CodeGen/20110226-PHI-Node-removed.ll
M polly/test/CodeGen/20120316-InvalidCast.ll
M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
M polly/test/CodeGen/20130221.ll
M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
M polly/test/CodeGen/Intrinsics/llvm-expect.ll
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
M polly/test/CodeGen/MemAccess/bad_alignment.ll
M polly/test/CodeGen/MemAccess/codegen_address_space.ll
M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
M polly/test/CodeGen/MemAccess/codegen_simple.ll
M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
M polly/test/CodeGen/MemAccess/different_types.ll
M polly/test/CodeGen/MemAccess/generate-all.ll
M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
M polly/test/CodeGen/MemAccess/multiple_types.ll
M polly/test/CodeGen/MemAccess/simple.ll
M polly/test/CodeGen/MemAccess/update_access_functions.ll
M polly/test/CodeGen/OpenMP/alias-metadata.ll
M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
M polly/test/CodeGen/OpenMP/inlineasm.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
M polly/test/CodeGen/OpenMP/matmul-parallel.ll
M polly/test/CodeGen/OpenMP/recomputed-srem.ll
M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
M polly/test/CodeGen/OpenMP/reference-other-bb.ll
M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
M polly/test/CodeGen/OpenMP/reference_latest.ll
M polly/test/CodeGen/OpenMP/scev-rewriting.ll
M polly/test/CodeGen/OpenMP/single_loop.ll
M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
M polly/test/CodeGen/PHIInExit.ll
M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
M polly/test/CodeGen/alias-check-multi-dim.ll
M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
M polly/test/CodeGen/aliasing_different_pointer_types.ll
M polly/test/CodeGen/aliasing_multidimensional_access.ll
M polly/test/CodeGen/aliasing_parametric_simple_1.ll
M polly/test/CodeGen/aliasing_parametric_simple_2.ll
M polly/test/CodeGen/aliasing_struct_element.ll
M polly/test/CodeGen/alignment.ll
M polly/test/CodeGen/annotated_alias_scopes.ll
M polly/test/CodeGen/blas_sscal_simplified.ll
M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
M polly/test/CodeGen/constant_condition.ll
M polly/test/CodeGen/create-conditional-scop.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
M polly/test/CodeGen/debug-intrinsics.ll
M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
M polly/test/CodeGen/empty_domain_in_context.ll
M polly/test/CodeGen/entry_with_trivial_phi.ll
M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
M polly/test/CodeGen/exprModDiv.ll
M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
M polly/test/CodeGen/hoisting_1.ll
M polly/test/CodeGen/hoisting_2.ll
M polly/test/CodeGen/inner_scev_sdiv_1.ll
M polly/test/CodeGen/inner_scev_sdiv_2.ll
M polly/test/CodeGen/inner_scev_sdiv_3.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
M polly/test/CodeGen/intrinsics_lifetime.ll
M polly/test/CodeGen/intrinsics_misc.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
M polly/test/CodeGen/invariant-load-dimension.ll
M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
M polly/test/CodeGen/invariant_cannot_handle_void.ll
M polly/test/CodeGen/invariant_load.ll
M polly/test/CodeGen/invariant_load_address_space.ll
M polly/test/CodeGen/invariant_load_alias_metadata.ll
M polly/test/CodeGen/invariant_load_base_pointer.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/CodeGen/invariant_load_condition.ll
M polly/test/CodeGen/invariant_load_different_sized_types.ll
M polly/test/CodeGen/invariant_load_escaping.ll
M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
M polly/test/CodeGen/invariant_load_loop_ub.ll
M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
M polly/test/CodeGen/invariant_load_outermost.ll
M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
M polly/test/CodeGen/invariant_load_scalar_dep.ll
M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
M polly/test/CodeGen/invariant_verify_function_failed.ll
M polly/test/CodeGen/invariant_verify_function_failed_2.ll
M polly/test/CodeGen/issue56692.ll
M polly/test/CodeGen/large-numbers-in-boundary-context.ll
M polly/test/CodeGen/load_subset_with_context.ll
M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
M polly/test/CodeGen/loop_with_condition.ll
M polly/test/CodeGen/loop_with_condition_2.ll
M polly/test/CodeGen/loop_with_condition_ineq.ll
M polly/test/CodeGen/loop_with_condition_nested.ll
M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
M polly/test/CodeGen/memcpy_annotations.ll
M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
M polly/test/CodeGen/multidim-non-matching-typesize.ll
M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/CodeGen/multidim_alias_check.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/multiple-types-invariant-load-2.ll
M polly/test/CodeGen/multiple-types-invariant-load.ll
M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
M polly/test/CodeGen/no-overflow-tracking.ll
M polly/test/CodeGen/no_guard_bb.ll
M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
M polly/test/CodeGen/non-affine-exit-node-dominance.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
M polly/test/CodeGen/non-affine-phi-node-expansion.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
M polly/test/CodeGen/non-affine-region-implicit-store.ll
M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
M polly/test/CodeGen/non-affine-switch.ll
M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
M polly/test/CodeGen/non-affine-update.ll
M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
M polly/test/CodeGen/non_affine_float_compare.ll
M polly/test/CodeGen/only_non_affine_error_region.ll
M polly/test/CodeGen/openmp_limit_threads.ll
M polly/test/CodeGen/out-of-scop-phi-node-use.ll
M polly/test/CodeGen/param_div_div_div_2.ll
M polly/test/CodeGen/partial_write_array.ll
M polly/test/CodeGen/partial_write_emptyset.ll
M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
M polly/test/CodeGen/partial_write_impossible_restriction.ll
M polly/test/CodeGen/partial_write_in_region.ll
M polly/test/CodeGen/partial_write_in_region_with_loop.ll
M polly/test/CodeGen/partial_write_mapped_scalar.ll
M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
M polly/test/CodeGen/perf_monitoring.ll
M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
M polly/test/CodeGen/phi-defined-before-scop.ll
M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
M polly/test/CodeGen/phi_condition_modeling_1.ll
M polly/test/CodeGen/phi_condition_modeling_2.ll
M polly/test/CodeGen/phi_conditional_simple_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
M polly/test/CodeGen/phi_loop_carried_float.ll
M polly/test/CodeGen/phi_loop_carried_float_escape.ll
M polly/test/CodeGen/phi_scalar_simple_1.ll
M polly/test/CodeGen/phi_scalar_simple_2.ll
M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
M polly/test/CodeGen/phi_with_one_exit_edge.ll
M polly/test/CodeGen/pointer-type-expressions-2.ll
M polly/test/CodeGen/pointer-type-expressions.ll
M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
M polly/test/CodeGen/pointer_rem.ll
M polly/test/CodeGen/pr25241.ll
M polly/test/CodeGen/ptrtoint_as_parameter.ll
M polly/test/CodeGen/read-only-scalars.ll
M polly/test/CodeGen/reduction.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/reduction_simple_binary.ll
M polly/test/CodeGen/region-with-instructions.ll
M polly/test/CodeGen/region_exiting-domtree.ll
M polly/test/CodeGen/region_multiexit_partialwrite.ll
M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
M polly/test/CodeGen/run-time-condition.ll
M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/scalar_codegen_crash.ll
M polly/test/CodeGen/scev-backedgetaken.ll
M polly/test/CodeGen/scev-division-invariant-load.ll
M polly/test/CodeGen/scev.ll
M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
M polly/test/CodeGen/scev_looking_through_bitcasts.ll
M polly/test/CodeGen/scop_expander_insert_point.ll
M polly/test/CodeGen/scop_expander_segfault.ll
M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
M polly/test/CodeGen/select-base-pointer.ll
M polly/test/CodeGen/sequential_loops.ll
M polly/test/CodeGen/simple_loop_non_single_exit.ll
M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
M polly/test/CodeGen/simple_non_single_entry.ll
M polly/test/CodeGen/simple_nonaffine_loop.ll
M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_do_loop_one_iteration.ll
M polly/test/CodeGen/single_do_loop_scev_replace.ll
M polly/test/CodeGen/single_loop.ll
M polly/test/CodeGen/single_loop_int_max_iterations.ll
M polly/test/CodeGen/single_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_loop_one_iteration.ll
M polly/test/CodeGen/single_loop_param.ll
M polly/test/CodeGen/single_loop_param_less_equal.ll
M polly/test/CodeGen/single_loop_param_less_than.ll
M polly/test/CodeGen/single_loop_zero_iterations.ll
M polly/test/CodeGen/split_edge_of_exit.ll
M polly/test/CodeGen/split_edges.ll
M polly/test/CodeGen/split_edges_2.ll
M polly/test/CodeGen/srem-in-other-bb.ll
M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
M polly/test/CodeGen/stmt_split_no_dependence.ll
M polly/test/CodeGen/switch-in-non-affine-region.ll
M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/CodeGen/test.ll
M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
M polly/test/CodeGen/two-scops-in-row.ll
M polly/test/CodeGen/udiv_expansion_position.ll
M polly/test/CodeGen/uninitialized_scalar_memory.ll
M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
M polly/test/CodeGen/variant_load_empty_domain.ll
M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
M polly/test/DeLICM/confused_order.ll
M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/map_memset_zero.ll
M polly/test/DeLICM/nomap_alreadymapped.ll
M polly/test/DeLICM/nomap_escaping.ll
M polly/test/DeLICM/nomap_occupied.ll
M polly/test/DeLICM/nomap_readonly.ll
M polly/test/DeLICM/nomap_spuriouswrite.ll
M polly/test/DeLICM/nomap_storagesize.ll
M polly/test/DeLICM/nomap_writewrite.ll
M polly/test/DeLICM/outofquota-reverseDomain.ll
M polly/test/DeLICM/pass_existence.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reduction.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
M polly/test/DeLICM/reduction_unrelatedunusual.ll
M polly/test/DeLICM/reject_loadafterstore.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/DeLICM/reject_storeafterstore.ll
M polly/test/DeLICM/reject_storeinsubregion.ll
M polly/test/DeLICM/reject_unusualstore.ll
M polly/test/DeLICM/skip_maywrite.ll
M polly/test/DeLICM/skip_multiaccess.ll
M polly/test/DeLICM/skip_notinloop.ll
M polly/test/DeLICM/skip_scalaraccess.ll
M polly/test/DeadCodeElimination/chained_iterations.ll
M polly/test/DeadCodeElimination/chained_iterations_2.ll
M polly/test/DeadCodeElimination/computeout.ll
M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
M polly/test/DeadCodeElimination/non-affine.ll
M polly/test/DeadCodeElimination/null_schedule.ll
M polly/test/DependenceInfo/computeout.ll
M polly/test/DependenceInfo/different_schedule_dimensions.ll
M polly/test/DependenceInfo/do_pluto_matmult.ll
M polly/test/DependenceInfo/fine_grain_dep_0.ll
M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
M polly/test/DependenceInfo/infeasible_context.ll
M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
M polly/test/DependenceInfo/reduction_complex_location.ll
M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_dependences_not_null.ll
M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
M polly/test/DependenceInfo/reduction_multiple_reductions.ll
M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
M polly/test/DependenceInfo/reduction_privatization_deps.ll
M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
M polly/test/DependenceInfo/reduction_sequence.ll
M polly/test/DependenceInfo/reduction_simple_iv.ll
M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
M polly/test/DependenceInfo/sequential_loops.ll
M polly/test/ForwardOpTree/atax.ll
M polly/test/ForwardOpTree/changed-kind.ll
M polly/test/ForwardOpTree/forward_from_region.ll
M polly/test/ForwardOpTree/forward_hoisted.ll
M polly/test/ForwardOpTree/forward_instruction.ll
M polly/test/ForwardOpTree/forward_into_region.ll
M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
M polly/test/ForwardOpTree/forward_load.ll
M polly/test/ForwardOpTree/forward_load_differentarray.ll
M polly/test/ForwardOpTree/forward_load_double_write.ll
M polly/test/ForwardOpTree/forward_load_fromloop.ll
M polly/test/ForwardOpTree/forward_load_indirect.ll
M polly/test/ForwardOpTree/forward_load_memset_after.ll
M polly/test/ForwardOpTree/forward_load_memset_before.ll
M polly/test/ForwardOpTree/forward_load_tripleuse.ll
M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
M polly/test/ForwardOpTree/forward_phi_load.ll
M polly/test/ForwardOpTree/forward_readonly.ll
M polly/test/ForwardOpTree/forward_reusue.ll
M polly/test/ForwardOpTree/forward_store.ll
M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
M polly/test/ForwardOpTree/forward_transitive.ll
M polly/test/ForwardOpTree/jacobi-1d.ll
M polly/test/ForwardOpTree/noforward_from_region.ll
M polly/test/ForwardOpTree/noforward_load_conditional.ll
M polly/test/ForwardOpTree/noforward_load_writebetween.ll
M polly/test/ForwardOpTree/noforward_outofquota.ll
M polly/test/ForwardOpTree/noforward_partial.ll
M polly/test/ForwardOpTree/noforward_phi.ll
M polly/test/ForwardOpTree/noforward_selfrefphi.ll
M polly/test/ForwardOpTree/noforward_sideffects.ll
M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
M polly/test/IstAstInfo/alias_simple_1.ll
M polly/test/IstAstInfo/alias_simple_2.ll
M polly/test/IstAstInfo/alias_simple_3.ll
M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
M polly/test/IstAstInfo/dependence_distance_minimal.ll
M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
M polly/test/IstAstInfo/non_affine_access.ll
M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
M polly/test/IstAstInfo/run-time-condition.ll
M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
M polly/test/IstAstInfo/simple-run-time-condition.ll
M polly/test/IstAstInfo/single_loop_strip_mine.ll
M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
M polly/test/MaximalStaticExpansion/read_from_original.ll
M polly/test/MaximalStaticExpansion/too_many_writes.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
M polly/test/MaximalStaticExpansion/working_expansion.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
M polly/test/MaximalStaticExpansion/working_value_expansion.ll
M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
M polly/test/ScheduleOptimizer/computeout.ll
M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
M polly/test/ScheduleOptimizer/line-tiling-2.ll
M polly/test/ScheduleOptimizer/line-tiling.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
M polly/test/ScheduleOptimizer/one-dimensional-band.ll
M polly/test/ScheduleOptimizer/outer_coincidence.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
M polly/test/ScheduleOptimizer/prevectorization.ll
M polly/test/ScheduleOptimizer/rectangular-tiling.ll
M polly/test/ScheduleOptimizer/schedule_computeout.ll
M polly/test/ScheduleOptimizer/statistics.ll
M polly/test/ScheduleOptimizer/tile_after_fusion.ll
M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
M polly/test/ScopDetect/aliasing_simple_1.ll
M polly/test/ScopDetect/aliasing_simple_2.ll
M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
M polly/test/ScopDetect/callbr.ll
M polly/test/ScopDetect/collective_invariant_loads.ll
M polly/test/ScopDetect/cross_loop_non_single_exit.ll
M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
M polly/test/ScopDetect/dot-scops-npm.ll
M polly/test/ScopDetect/dot-scops.ll
M polly/test/ScopDetect/error-block-always-executed.ll
M polly/test/ScopDetect/error-block-referenced-from-scop.ll
M polly/test/ScopDetect/error-block-unreachable.ll
M polly/test/ScopDetect/expand-region-correctly-2.ll
M polly/test/ScopDetect/expand-region-correctly.ll
M polly/test/ScopDetect/ignore_func_flag_regex.ll
M polly/test/ScopDetect/index_from_unpredictable_loop.ll
M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
M polly/test/ScopDetect/indvars.ll
M polly/test/ScopDetect/intrinsics_1.ll
M polly/test/ScopDetect/intrinsics_2.ll
M polly/test/ScopDetect/intrinsics_3.ll
M polly/test/ScopDetect/invalid-latch-conditions.ll
M polly/test/ScopDetect/invalidate_scalar_evolution.ll
M polly/test/ScopDetect/invariant-load-before-scop.ll
M polly/test/ScopDetect/keep_going_expansion.ll
M polly/test/ScopDetect/mod_ref_read_pointer.ll
M polly/test/ScopDetect/more-than-one-loop.ll
M polly/test/ScopDetect/multidim-with-undef-size.ll
M polly/test/ScopDetect/multidim.ll
M polly/test/ScopDetect/multidim_indirect_access.ll
M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
M polly/test/ScopDetect/nested_loop_single_exit.ll
M polly/test/ScopDetect/non-affine-conditional.ll
M polly/test/ScopDetect/non-affine-float-compare.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopDetect/non-affine-loop.ll
M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
M polly/test/ScopDetect/non-simple-memory-accesses.ll
M polly/test/ScopDetect/non_affine_loop_condition.ll
M polly/test/ScopDetect/only-one-affine-loop.ll
M polly/test/ScopDetect/only_func_flag.ll
M polly/test/ScopDetect/only_func_flag_regex.ll
M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
M polly/test/ScopDetect/parametric-multiply-in-scev.ll
M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
M polly/test/ScopDetect/profitability-large-basic-blocks.ll
M polly/test/ScopDetect/profitability-two-nested-loops.ll
M polly/test/ScopDetect/remove_all_children.ll
M polly/test/ScopDetect/report-scop-location.ll
M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
M polly/test/ScopDetect/run_time_alias_check.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetect/sequential_loops.ll
M polly/test/ScopDetect/simple_loop.ll
M polly/test/ScopDetect/simple_loop_non_single_entry.ll
M polly/test/ScopDetect/simple_loop_non_single_exit.ll
M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
M polly/test/ScopDetect/simple_loop_with_param.ll
M polly/test/ScopDetect/simple_loop_with_param_2.ll
M polly/test/ScopDetect/simple_non_single_entry.ll
M polly/test/ScopDetect/skip_function_attribute.ll
M polly/test/ScopDetect/srem_with_parametric_divisor.ll
M polly/test/ScopDetect/statistics.ll
M polly/test/ScopDetect/switch-in-loop-patch.ll
M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
M polly/test/ScopInfo/Alias-0.ll
M polly/test/ScopInfo/Alias-1.ll
M polly/test/ScopInfo/Alias-2.ll
M polly/test/ScopInfo/Alias-3.ll
M polly/test/ScopInfo/Alias-4.ll
M polly/test/ScopInfo/BoundChecks/single-loop.ll
M polly/test/ScopInfo/BoundChecks/two-loops.ll
M polly/test/ScopInfo/NonAffine/div_backedge.ll
M polly/test/ScopInfo/NonAffine/div_domain.ll
M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
M polly/test/ScopInfo/NonAffine/modulo_domain.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
M polly/test/ScopInfo/aliasing_dead_access.ll
M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/assume_gep_bounds.ll
M polly/test/ScopInfo/assume_gep_bounds_2.ll
M polly/test/ScopInfo/assume_gep_bounds_many.ll
M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
M polly/test/ScopInfo/bool-addrec.ll
M polly/test/ScopInfo/bounded_loop_assumptions.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
M polly/test/ScopInfo/bug_2010_10_22.ll
M polly/test/ScopInfo/bug_2011_1_5.ll
M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
M polly/test/ScopInfo/cfg_consequences.ll
M polly/test/ScopInfo/complex-branch-structure.ll
M polly/test/ScopInfo/complex-condition.ll
M polly/test/ScopInfo/complex-expression.ll
M polly/test/ScopInfo/complex-loop-nesting.ll
M polly/test/ScopInfo/complex-successor-structure-2.ll
M polly/test/ScopInfo/complex-successor-structure-3.ll
M polly/test/ScopInfo/complex-successor-structure.ll
M polly/test/ScopInfo/complex_domain_binary_condition.ll
M polly/test/ScopInfo/complex_execution_context.ll
M polly/test/ScopInfo/cond_constant_in_loop.ll
M polly/test/ScopInfo/cond_in_loop.ll
M polly/test/ScopInfo/condition-after-error-block-2.ll
M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
M polly/test/ScopInfo/condtion-after-error-block.ll
M polly/test/ScopInfo/const_srem_sdiv.ll
M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
M polly/test/ScopInfo/constant_factor_in_parameter.ll
M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
M polly/test/ScopInfo/constant_start_integer.ll
M polly/test/ScopInfo/debug_call.ll
M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
M polly/test/ScopInfo/div_by_zero.ll
M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
M polly/test/ScopInfo/early_exit_for_complex_domains.ll
M polly/test/ScopInfo/error-blocks-1.ll
M polly/test/ScopInfo/error-blocks-2.ll
M polly/test/ScopInfo/escaping_empty_scop.ll
M polly/test/ScopInfo/exit-phi-1.ll
M polly/test/ScopInfo/exit-phi-2.ll
M polly/test/ScopInfo/exit_phi_accesses-2.ll
M polly/test/ScopInfo/exit_phi_accesses.ll
M polly/test/ScopInfo/expensive-boundary-context.ll
M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
M polly/test/ScopInfo/full-function.ll
M polly/test/ScopInfo/granularity_same_name.ll
M polly/test/ScopInfo/granularity_scalar-indep.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
M polly/test/ScopInfo/i1_params.ll
M polly/test/ScopInfo/infeasible-rtc.ll
M polly/test/ScopInfo/infeasible_invalid_context.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
M polly/test/ScopInfo/integers.ll
M polly/test/ScopInfo/inter-error-bb-dependence.ll
M polly/test/ScopInfo/inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra_bb_scalar_dep.ll
M polly/test/ScopInfo/intrinsics.ll
M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
M polly/test/ScopInfo/invariant-load-instlist.ll
M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
M polly/test/ScopInfo/invariant_load.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
M polly/test/ScopInfo/invariant_load_addrec_sum.ll
M polly/test/ScopInfo/invariant_load_base_pointer.ll
M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
M polly/test/ScopInfo/invariant_load_branch_condition.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
M polly/test/ScopInfo/invariant_load_complex_condition.ll
M polly/test/ScopInfo/invariant_load_condition.ll
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
M polly/test/ScopInfo/invariant_load_in_non_affine.ll
M polly/test/ScopInfo/invariant_load_loop_ub.ll
M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
M polly/test/ScopInfo/invariant_load_scalar_dep.ll
M polly/test/ScopInfo/invariant_load_stmt_domain.ll
M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
M polly/test/ScopInfo/invariant_load_zext_parameter.ll
M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
M polly/test/ScopInfo/invariant_loop_bounds.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
M polly/test/ScopInfo/isl_trip_count_01.ll
M polly/test/ScopInfo/isl_trip_count_02.ll
M polly/test/ScopInfo/isl_trip_count_03.ll
M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
M polly/test/ScopInfo/licm_load.ll
M polly/test/ScopInfo/licm_potential_store.ll
M polly/test/ScopInfo/licm_reduction_nested.ll
M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
M polly/test/ScopInfo/loop_affine_bound_0.ll
M polly/test/ScopInfo/loop_affine_bound_1.ll
M polly/test/ScopInfo/loop_affine_bound_2.ll
M polly/test/ScopInfo/loop_carry.ll
M polly/test/ScopInfo/many-scalar-dependences.ll
M polly/test/ScopInfo/max-loop-depth.ll
M polly/test/ScopInfo/memcpy-raw-source.ll
M polly/test/ScopInfo/memcpy.ll
M polly/test/ScopInfo/memmove.ll
M polly/test/ScopInfo/memset.ll
M polly/test/ScopInfo/memset_null.ll
M polly/test/ScopInfo/mismatching-array-dimensions.ll
M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointer.ll
M polly/test/ScopInfo/mod_ref_read_pointers.ll
M polly/test/ScopInfo/modulo_zext_1.ll
M polly/test/ScopInfo/modulo_zext_2.ll
M polly/test/ScopInfo/modulo_zext_3.ll
M polly/test/ScopInfo/multi-scop.ll
M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
M polly/test/ScopInfo/multidim_fold_constant_dim.ll
M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
M polly/test/ScopInfo/multidim_fortran_2d.ll
M polly/test/ScopInfo/multidim_fortran_2d_params.ll
M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_fortran_srem.ll
M polly/test/ScopInfo/multidim_gep_pointercast.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/multidim_nested_start_integer.ll
M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
M polly/test/ScopInfo/multidim_only_ivs_2d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
M polly/test/ScopInfo/multidim_param_in_subscript.ll
M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
M polly/test/ScopInfo/multidim_srem.ll
M polly/test/ScopInfo/multidim_with_bitcast.ll
M polly/test/ScopInfo/multiple-binary-or-conditions.ll
M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
M polly/test/ScopInfo/multiple-types-non-affine-2.ll
M polly/test/ScopInfo/multiple-types-non-affine.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
M polly/test/ScopInfo/multiple-types-two-dimensional.ll
M polly/test/ScopInfo/multiple-types.ll
M polly/test/ScopInfo/multiple_exiting_blocks.ll
M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
M polly/test/ScopInfo/multiple_latch_blocks.ll
M polly/test/ScopInfo/nested-loops.ll
M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
M polly/test/ScopInfo/non-affine-region-phi.ll
M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
M polly/test/ScopInfo/non-affine-region-with-loop.ll
M polly/test/ScopInfo/non-precise-inv-load-1.ll
M polly/test/ScopInfo/non-precise-inv-load-2.ll
M polly/test/ScopInfo/non-precise-inv-load-3.ll
M polly/test/ScopInfo/non-precise-inv-load-4.ll
M polly/test/ScopInfo/non-precise-inv-load-5.ll
M polly/test/ScopInfo/non-precise-inv-load-6.ll
M polly/test/ScopInfo/non-pure-function-call.ll
M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
M polly/test/ScopInfo/non-pure-function-calls.ll
M polly/test/ScopInfo/non_affine_access.ll
M polly/test/ScopInfo/non_affine_region_1.ll
M polly/test/ScopInfo/non_affine_region_2.ll
M polly/test/ScopInfo/non_affine_region_3.ll
M polly/test/ScopInfo/non_affine_region_4.ll
M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
M polly/test/ScopInfo/not-a-reduction.ll
M polly/test/ScopInfo/opaque-struct.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/ScopInfo/parameter-constant-division.ll
M polly/test/ScopInfo/parameter_in_dead_statement.ll
M polly/test/ScopInfo/parameter_product.ll
M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
M polly/test/ScopInfo/partially_invariant_load_1.ll
M polly/test/ScopInfo/partially_invariant_load_2.ll
M polly/test/ScopInfo/phi-in-non-affine-region.ll
M polly/test/ScopInfo/phi_after_error_block.ll
M polly/test/ScopInfo/phi_condition_modeling_1.ll
M polly/test/ScopInfo/phi_condition_modeling_2.ll
M polly/test/ScopInfo/phi_conditional_simple_1.ll
M polly/test/ScopInfo/phi_loop_carried_float.ll
M polly/test/ScopInfo/phi_not_grouped_at_top.ll
M polly/test/ScopInfo/phi_scalar_simple_1.ll
M polly/test/ScopInfo/phi_scalar_simple_2.ll
M polly/test/ScopInfo/phi_with_invoke_edge.ll
M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
M polly/test/ScopInfo/pointer-comparison.ll
M polly/test/ScopInfo/pointer-type-expressions.ll
M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
M polly/test/ScopInfo/process_added_dimensions.ll
M polly/test/ScopInfo/pwaff-complexity-bailout.ll
M polly/test/ScopInfo/ranged_parameter.ll
M polly/test/ScopInfo/ranged_parameter_2.ll
M polly/test/ScopInfo/ranged_parameter_wrap.ll
M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
M polly/test/ScopInfo/read-only-scalars.ll
M polly/test/ScopInfo/read-only-statements.ll
M polly/test/ScopInfo/reduction_alternating_base.ll
M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
M polly/test/ScopInfo/reduction_different_index.ll
M polly/test/ScopInfo/reduction_different_index1.ll
M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
M polly/test/ScopInfo/reduction_escaping_intermediate.ll
M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
M polly/test/ScopInfo/reduction_invalid_different_operators.ll
M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
M polly/test/ScopInfo/reduction_simple_fp.ll
M polly/test/ScopInfo/reduction_simple_w_constant.ll
M polly/test/ScopInfo/reduction_simple_w_iv.ll
M polly/test/ScopInfo/reduction_two_identical_reads.ll
M polly/test/ScopInfo/redundant_parameter_constraint.ll
M polly/test/ScopInfo/region-with-instructions.ll
M polly/test/ScopInfo/remarks.ll
M polly/test/ScopInfo/required-invariant-loop-bounds.ll
M polly/test/ScopInfo/restriction_in_dead_block.ll
M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
M polly/test/ScopInfo/run-time-check-many-parameters.ll
M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
M polly/test/ScopInfo/scalar.ll
M polly/test/ScopInfo/scalar_dependence_cond_br.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
M polly/test/ScopInfo/scev-invalidated.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
M polly/test/ScopInfo/sign_wrapped_set.ll
M polly/test/ScopInfo/simple_loop_1.ll
M polly/test/ScopInfo/simple_loop_2.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
M polly/test/ScopInfo/simple_loop_unsigned_2.ll
M polly/test/ScopInfo/simple_loop_unsigned_3.ll
M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
M polly/test/ScopInfo/smax.ll
M polly/test/ScopInfo/statistics.ll
M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
M polly/test/ScopInfo/stmt_split_no_after_split.ll
M polly/test/ScopInfo/stmt_split_no_dependence.ll
M polly/test/ScopInfo/stmt_split_on_store.ll
M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
M polly/test/ScopInfo/stmt_split_within_loop.ll
M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
M polly/test/ScopInfo/switch-1.ll
M polly/test/ScopInfo/switch-2.ll
M polly/test/ScopInfo/switch-3.ll
M polly/test/ScopInfo/switch-4.ll
M polly/test/ScopInfo/switch-5.ll
M polly/test/ScopInfo/switch-6.ll
M polly/test/ScopInfo/switch-7.ll
M polly/test/ScopInfo/tempscop-printing.ll
M polly/test/ScopInfo/test-wrapping-in-condition.ll
M polly/test/ScopInfo/truncate-1.ll
M polly/test/ScopInfo/truncate-2.ll
M polly/test/ScopInfo/truncate-3.ll
M polly/test/ScopInfo/two-loops-one-infinite.ll
M polly/test/ScopInfo/two-loops-right-after-each-other.ll
M polly/test/ScopInfo/undef_in_cond.ll
M polly/test/ScopInfo/unnamed_nonaffine.ll
M polly/test/ScopInfo/unnamed_stmts.ll
M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
M polly/test/ScopInfo/unprofitable_scalar-accs.ll
M polly/test/ScopInfo/unsigned-condition.ll
M polly/test/ScopInfo/unsigned-division-1.ll
M polly/test/ScopInfo/unsigned-division-2.ll
M polly/test/ScopInfo/unsigned-division-3.ll
M polly/test/ScopInfo/unsigned-division-4.ll
M polly/test/ScopInfo/unsigned-division-5.ll
M polly/test/ScopInfo/unsigned_wrap_uge.ll
M polly/test/ScopInfo/unsigned_wrap_ugt.ll
M polly/test/ScopInfo/unsigned_wrap_ule.ll
M polly/test/ScopInfo/unsigned_wrap_ult.ll
M polly/test/ScopInfo/user_context.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
M polly/test/ScopInfo/user_provided_assumptions.ll
M polly/test/ScopInfo/user_provided_assumptions_2.ll
M polly/test/ScopInfo/user_provided_assumptions_3.ll
M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
M polly/test/ScopInfo/variant_base_pointer.ll
M polly/test/ScopInfo/variant_load_empty_domain.ll
M polly/test/ScopInfo/wraping_signed_expr_0.ll
M polly/test/ScopInfo/wraping_signed_expr_1.ll
M polly/test/ScopInfo/wraping_signed_expr_2.ll
M polly/test/ScopInfo/wraping_signed_expr_3.ll
M polly/test/ScopInfo/wraping_signed_expr_4.ll
M polly/test/ScopInfo/wraping_signed_expr_5.ll
M polly/test/ScopInfo/wraping_signed_expr_6.ll
M polly/test/ScopInfo/wraping_signed_expr_7.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
M polly/test/ScopInfo/zero_ext_space_mismatch.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/Simplify/coalesce_3partials.ll
M polly/test/Simplify/coalesce_disjointelements.ll
M polly/test/Simplify/coalesce_overlapping.ll
M polly/test/Simplify/coalesce_partial.ll
M polly/test/Simplify/dead_access_load.ll
M polly/test/Simplify/dead_access_phi.ll
M polly/test/Simplify/dead_access_value.ll
M polly/test/Simplify/dead_instruction.ll
M polly/test/Simplify/emptyaccessdomain.ll
M polly/test/Simplify/exit_phi_accesses-2.ll
M polly/test/Simplify/func-b320a7.ll
M polly/test/Simplify/gemm.ll
M polly/test/Simplify/nocoalesce_differentvalues.ll
M polly/test/Simplify/nocoalesce_elementmismatch.ll
M polly/test/Simplify/nocoalesce_readbetween.ll
M polly/test/Simplify/nocoalesce_writebetween.ll
M polly/test/Simplify/notdead_region_exitphi.ll
M polly/test/Simplify/notdead_region_innerphi.ll
M polly/test/Simplify/notredundant_region_loop.ll
M polly/test/Simplify/notredundant_region_middle.ll
M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/Simplify/overwritten.ll
M polly/test/Simplify/overwritten_3phi.ll
M polly/test/Simplify/overwritten_3store.ll
M polly/test/Simplify/overwritten_implicit_and_explicit.ll
M polly/test/Simplify/overwritten_loadbetween.ll
M polly/test/Simplify/overwritten_scalar.ll
M polly/test/Simplify/pass_existence.ll
M polly/test/Simplify/phi_in_regionstmt.ll
M polly/test/Simplify/pr33323.ll
M polly/test/Simplify/redundant.ll
M polly/test/Simplify/redundant_differentindex.ll
M polly/test/Simplify/redundant_region.ll
M polly/test/Simplify/redundant_region_scalar.ll
M polly/test/Simplify/redundant_scalarwrite.ll
M polly/test/Simplify/redundant_storebetween.ll
M polly/test/Simplify/scalability1.ll
M polly/test/Simplify/scalability2.ll
M polly/test/Simplify/sweep_mapped_phi.ll
M polly/test/Simplify/sweep_mapped_value.ll
M polly/test/Simplify/ununsed_read_in_region_entry.ll
M polly/test/Support/Plugins.ll
M polly/test/Support/defaultpipelines.ll
M polly/test/Support/dumpfunction.ll
M polly/test/Support/dumpmodule.ll
M polly/test/Support/exportjson.ll
M polly/test/Support/isl-args.ll
M polly/test/Support/pipelineposition.ll
M polly/test/Support/pollyDebug.ll
M polly/test/lit.site.cfg.in
M polly/test/polly.ll
Log Message:
-----------
Revert "[polly] Port polly tests to use NPM" (#92215)
Reverts llvm/llvm-project#90632.
Causing failures on buildbots that dynamically load polly. Reverting
while we sort it out.
Commit: 24180ea0c295856a696992f072c36259a266226b
https://github.com/llvm/llvm-project/commit/24180ea0c295856a696992f072c36259a266226b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Treat break, continue, goto, and label statements as trivial in WebKit checkers. (#91873)
Also allow CXXBindTemporaryExpr, which creates a temporary object with a
non-trivial destructor, and add a few more std and WTF functions to the
explicitly allowed list.
Commit: 0980f715cf7c3d78be6ba64e902bd2dfad3ebc75
https://github.com/llvm/llvm-project/commit/0980f715cf7c3d78be6ba64e902bd2dfad3ebc75
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/include/llvm-libc-macros/generic-error-number-macros.h
Log Message:
-----------
[libc][errno] Remove previously added errno numbers (#92163)
Introduced in https://github.com/llvm/llvm-project/pull/91150. Not
needed anymore as https://github.com/llvm/llvm-project/pull/92041 fixed
the root cause. `ENAMETOOLONG` and `EOVERFLOW` are well defined in
`<linux/errno.h>`.
Post mortem: Due to the previously missing inclusion of
`<linux/errno.h>` (fixed with
https://github.com/llvm/llvm-project/pull/92041), I misinterpreted an
undefined macro issue during the development of
https://github.com/llvm/llvm-project/pull/91150 as being caused by a
missing definition rather than by the missing inclusion of the linux
header. I realized too late that `ENAMETOOLONG` and `EOVERFLOW` were
correctly defined in `<linux/errno.h>` and that it was my missing
inclusion that caused the problem.
Commit: d7bb0723fe79d2b75d41789d2ffadda3567dd94e
https://github.com/llvm/llvm-project/commit/d7bb0723fe79d2b75d41789d2ffadda3567dd94e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/exp2-1.ll
A llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
Log Message:
-----------
InstCombine: Emit ldexp intrinsic in exp2->ldexp combine (#92039)
Prefer to emit the intrinsic over a libcall in the
intrinsic or no-math-errno case.
Commit: e6216906f528b948018b883068cef0fd4157bfd1
https://github.com/llvm/llvm-project/commit/e6216906f528b948018b883068cef0fd4157bfd1
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
[MLIR][LLVM] Improve atomic verifier to properly support larger types (#92120)
This commit extends the verifier for atomics to properly verify larger
types. Beforehand, the verifier strictly rejected larger integer types,
while it now consults the data layout to determine if their bitsize is a
power of two. This behavior reflects what LLVM's verifier is checking
for.
Commit: d6ee7e8481fbaee30f37d82778ef12e135db5e67
https://github.com/llvm/llvm-project/commit/d6ee7e8481fbaee30f37d82778ef12e135db5e67
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/splitMove_addressReg.mir
Log Message:
-----------
[SystemZ] Handle address clobbering in splitMove(). (#92105)
When expanding an L128 (which is used to reload i128) it is
possible that the quadword destination register clobbers an
address register. This patch adds an assertion against the case
where both of the expanded parts clobber the address, and in the
case where one of the expanded parts do so puts it last.
Fixes #91437
Commit: 45726c1a3a3d89ff9f6ebe657c3cb7bcd59b88db
https://github.com/llvm/llvm-project/commit/45726c1a3a3d89ff9f6ebe657c3cb7bcd59b88db
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
A llvm/test/Instrumentation/DataFlowSanitizer/dataflow-disable-sanitizer-instrumentation.ll
A llvm/test/Instrumentation/SanitizerCoverage/coverage-disable-sanitizer-instrumentation.ll
Log Message:
-----------
[LLVM] Make sanitizers respect the disable_santizer_instrumentation attribute. (#91732)
`disable_sanitizer_instrumetation` is attached to functions that shall
not be instrumented e.g. ifunc resolver because those run before
everything is initialised.
Some sanitizer already handles this attribute, this patch adds it to
DataFLow and Coverage too.
Commit: 4688df68f9d022dd8bc102675a9e86ad274355d6
https://github.com/llvm/llvm-project/commit/4688df68f9d022dd8bc102675a9e86ad274355d6
Author: Stephan Bergmann <sbergman at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp
Log Message:
-----------
Avoid partial munmap (#92109)
...which caused issues like
> ==42==ERROR: AddressSanitizer failed to deallocate 0x32 (50) bytes at
address 0x117e0000 (error code: 28)
> ==42==Cannot dump memory map on emscriptenAddressSanitizer: CHECK
failed: sanitizer_common.cpp:81 "((0 && "unable to unmmap")) != (0)"
(0x0, 0x0) (tid=288045824)
> #0 0x14f73b0c in __asan::CheckUnwind()+0x14f73b0c
(this.program+0x14f73b0c)
> #1 0x14f8a3c2 in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)+0x14f8a3c2
(this.program+0x14f8a3c2)
> #2 0x14f7d6e1 in __sanitizer::ReportMunmapFailureAndDie(void*,
unsigned long, int, bool)+0x14f7d6e1 (this.program+0x14f7d6e1)
> #3 0x14f81fbd in __sanitizer::UnmapOrDie(void*, unsigned
long)+0x14f81fbd (this.program+0x14f81fbd)
> #4 0x14f875df in __sanitizer::SuppressionContext::ParseFromFile(char
const*)+0x14f875df (this.program+0x14f875df)
> #5 0x14f74eab in __asan::InitializeSuppressions()+0x14f74eab
(this.program+0x14f74eab)
> #6 0x14f73a1a in __asan::AsanInitInternal()+0x14f73a1a
(this.program+0x14f73a1a)
when trying to use an ASan suppressions file under Emscripten: Even
though it would be considered OK by SUSv4, the Emscripten runtime states
"We don't support partial munmapping" (see
<https://github.com/emscripten-core/emscripten/commit/f4115eb2c36bac741685300273cb9fa186d719e1>
"Implement MAP_ANONYMOUS on top of malloc in STANDALONE_WASM mode
(#16289)").
Co-authored-by: Stephan Bergmann <stephan.bergmann at allotropia.de>
Commit: 73324cbc9c5892541aa82d466799748b435ece29
https://github.com/llvm/llvm-project/commit/73324cbc9c5892541aa82d466799748b435ece29
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
Log Message:
-----------
[ASan] Remove COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION. (#91832)
Since the set of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION is removed in
commit 8421fa5d536aadf42c0e54c566bc439a40ebdb8e,
cleanup the use of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION.
Commit: 7f3ac51b946bf6d6fa8c8443457ebee219879302
https://github.com/llvm/llvm-project/commit/7f3ac51b946bf6d6fa8c8443457ebee219879302
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx98.cpp
Log Message:
-----------
[clang][Interp] Only accept constant variables in c++98
Commit: d12c48cad52798f4846dd8ef882af0f854118d16
https://github.com/llvm/llvm-project/commit/d12c48cad52798f4846dd8ef882af0f854118d16
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/source/Target/UnwindLLDB.cpp
A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
Log Message:
-----------
[lldb/aarch64] Allow unaligned PC addresses below a trap handler (#92093)
The stack validation heuristic is counter-productive in this case, as
the unaligned address is most likely the thing that caused the signal in
the first place.
Commit: 6479e3cb66895754089dc017a33478e9eb4b8d65
https://github.com/llvm/llvm-project/commit/6479e3cb66895754089dc017a33478e9eb4b8d65
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/bitfields.cpp
Log Message:
-----------
[clang][Interp] Use proper type for non-primitive reference dummies
Commit: 1d43ec8191e55d6efd552a1510ce63dbdea00cc0
https://github.com/llvm/llvm-project/commit/1d43ec8191e55d6efd552a1510ce63dbdea00cc0
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove unnecessary if condition
This is already in a if(isBlockPointer()) block.
Commit: afba3daf822c839db1be40464041307679c803a9
https://github.com/llvm/llvm-project/commit/afba3daf822c839db1be40464041307679c803a9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Add basic support for AddrLabelExprs
Just create a local variable for them.
Commit: ca4a405232cf170f20a2f111bf72beab82095935
https://github.com/llvm/llvm-project/commit/ca4a405232cf170f20a2f111bf72beab82095935
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/test/Analysis/memory-model.cpp
Log Message:
-----------
[analyzer] Refactor recognition of the errno getter functions (#91531)
There are many environments where `errno` is a macro that expands to
something like `(*__errno())` (different standard library
implementations use different names instead of "__errno").
In these environments the ErrnoModeling checker creates a symbolic
region which will be used to represent the return value of this "get the
location of errno" function.
Previously this symbol was only created when the checker was able to
find the declaration of the "get the location of errno" function; but
this commit eliminates the complex logic that was responsible for this
and always creates the symbolic region when `errno` is not available as
a "regular" global variable.
This significantly simplifies a code and only introduces a minimal
performance reduction (one extra symbol) in the case when `errno` is not
declared (neither as a variable nor as a function).
In addition to this simplification, this commit specifies that the
`CallDescription`s for the "get the location of errno" functions are
matched in `CDM::CLibrary` mode. (This was my original goal, but I was
sidetracked by resolving a FIXME above the `CallDescriptionSet` in
`ErrnoModeling.cpp`.)
This change is very close to being NFC, but it fixes weird corner cases
like the handling of a C++ method that happens to be named "__errno()"
(previously it could've been recognized as an errno location getter
function).
Commit: f090801a9651cf4f0d05cc361a2a1b14805b62bf
https://github.com/llvm/llvm-project/commit/f090801a9651cf4f0d05cc361a2a1b14805b62bf
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
Log Message:
-----------
[lldb] Disable unaligned-pc-sigbus.test on arm(32)
I though the test could work there as well, but (of course) it does not,
because the lowest bit just means "run the code as thumb".
Commit: 2f6c0e6e180c81087c26f4afac2155ea70472ec6
https://github.com/llvm/llvm-project/commit/2f6c0e6e180c81087c26f4afac2155ea70472ec6
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Transforms/tbaa.fir
Log Message:
-----------
[flang][Alias Analysis] not all block arguments are dummy arguments (#92156)
Arguments to openmp regions should not be tagged as dummy arguments.
This is particularly unsafe because these openmp blocks will eventually
be inlined into the calling function, where they will trivially alias
with other values inside of the calling function.
This is probably a theoretical issue because the calls to openmp runtime
function calls would act as barriers, preventing optimizations that are
too aggressive. But a lot more thought would need to go into a bet like
that.
This came out of discussion on
https://github.com/llvm/llvm-project/pull/92036
Commit: f39e75b45160ae69222d6ae197ee20c365146717
https://github.com/llvm/llvm-project/commit/f39e75b45160ae69222d6ae197ee20c365146717
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
[CodeGen][ARM64EC][NFC] Factor out emitFunctionAlias and getSymbolFromMetadata in emitFunctionEntryLabel. (#92098)
Commit: 421862f8e4ffddf57e210a205984a0ee39c57d96
https://github.com/llvm/llvm-project/commit/421862f8e4ffddf57e210a205984a0ee39c57d96
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/ext-int-cc.c
Log Message:
-----------
[Clang] Fix incorrect passing of _BitInt args (#90741)
This patch removes incorrect `byval` attribute from pointer argument
passed with >128 bit long _BitInt types.
Commit: d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
https://github.com/llvm/llvm-project/commit/d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
Log Message:
-----------
[VPlan] Update VPBlendRecipe codegen for for first-lane only.
Update VPBlendRecipe::execute to support generating code for first-lane
only. This fixes a crash in the newly added test
@test_not_first_lane_only_wide_compare_incoming_order_swapped.
Commit: b0a1ae2cca4a438753e093df2f949e73a313dbe2
https://github.com/llvm/llvm-project/commit/b0a1ae2cca4a438753e093df2f949e73a313dbe2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
Log Message:
-----------
[LV] Add additional variants of tests with udiv/urem/sdiv/srem in TC.
Add additional tests with udiv/urem/sdiv/srem in trip counts, where the
divisor is constant.
For https://github.com/llvm/llvm-project/pull/92177.
Commit: b6f050fa129b08b6bc35168f0b8010742cd1ed9d
https://github.com/llvm/llvm-project/commit/b6f050fa129b08b6bc35168f0b8010742cd1ed9d
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb] Document some more packets (#92124)
Comparing a bit of the mock GDB server code to what was in the document
I found these:
* QLaunchArch
* qSpeedTest
* qSymbol
qSymbol is the most mysterious but it did have some examples in a
comment so I've adapted that.
Commit: 03bdfb65617e3cf714a106fdf7a6ae7551d17bce
https://github.com/llvm/llvm-project/commit/03bdfb65617e3cf714a106fdf7a6ae7551d17bce
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentTwoBreakpointsOneSignal.py
Log Message:
-----------
[lldb][test][FreeBSD] Fix some concurrent event tests (#84155)
A lot of `TestConcurrent*.py` expect one of the threads to crash, but we
weren't checking for it properly.
Possibly because signal reporting got better on FreeBSD at some point,
and it now shows the same info as Linux does.
```
lldb-api :: functionalities/inferior-changed/TestInferiorChanged.py
lldb-api :: functionalities/inferior-crashing/TestInferiorCrashing.py
lldb-api :: functionalities/inferior-crashing/TestInferiorCrashingStep.py
lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py
lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithBreak.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithSignal.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpoint.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpointBreakpointSignal.py
```
Fixes #48777
`TestConcurrentTwoBreakpointsOneSignal.py` no longer fails, at least on
an AWS instance, so I've removed the xfail there.
Commit: e67080df999c035d764c42aaa6d85417331ac52c
https://github.com/llvm/llvm-project/commit/e67080df999c035d764c42aaa6d85417331ac52c
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
[mlir][ods] Populate properties in generated builder (#90430)
Previously this was only populated in the create method later. This
resolves some of invalid builder paths. This may also be sufficient that
type inference functions no longer have to consider whether property
conversion has happened (but haven't verified that yet).
This also makes Attributes corresponding to Properties as optional
inside the set from attributes method. Today that is in effect what
happens with Property value initialization and folks use it to define
custom C++ types whose default initialization is what they want. This is
the behavior users get if they use properties directly. Propagating
Attributes without allowing partial setting would require iterating over
the dictionary attribute considering the properties of the op type that
will be created. This could also have been an additional method
generated or optional behavior on the set method. But doing it
consistently seems better. In terms of whats lost, it doesn't seem like
anything compared to the pure Property path where Property is default
value initialized and then partially overwritten (this doesn't seem to
buy anything else verification wise).
Default valued Properties (as specified ODS side rather than C++ side)
triggered error as the containing class was not yet complete but
referenced nested class, so that we couldn't have default initializer
for them in the parent class. Added an additional forwarding builder to
avoid needing to update call sites. This could be split out to separate
change.
Inlined templated function in unit test that was only used once. Moved
initialization earlier where seen.
Commit: 7621a0d36465cf870769cd54035d254d409c2ce4
https://github.com/llvm/llvm-project/commit/7621a0d36465cf870769cd54035d254d409c2ce4
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Improve custom lowering for EXTRACT_SUBVECTOR. (#90963)
We can extract any legal fixed length vector from a scalable vector by
using VECTOR_SPLICE.
Commit: eacefba9aa3d1a5181d3d49823df24aca0d2b344
https://github.com/llvm/llvm-project/commit/eacefba9aa3d1a5181d3d49823df24aca0d2b344
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestPty.py
M lldb/test/API/tools/lldb-server/TestPtyServer.py
Log Message:
-----------
[lldb][Windows] Fixed tests TestPty and TestPtyServer (#92090)
The tests TestPty and TestPtyServer use the Unix specific python builtin
module termios. They are failed in case of Windows host and Linux
target. Disable them for Windows host too.
Commit: 3c3f6d877623d0d821f59f4ec6038b27f27ee01d
https://github.com/llvm/llvm-project/commit/3c3f6d877623d0d821f59f4ec6038b27f27ee01d
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Eliminate Match_PreferE32. (#92159)
Was added in 88e0b251815563016ad50241dd592e304bc03ee5 and is unused
since fcef407aa21ad5a79d66a088e6f2a66a5745725d.
Commit: de18f5ecf80ef7183625c80b04445c614a17c483
https://github.com/llvm/llvm-project/commit/de18f5ecf80ef7183625c80b04445c614a17c483
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/taskgroup.f90
Log Message:
-----------
[flang][OpenMP] Remove `allocate` from `taskgroup` in test (#92173)
Remove the `allocate`, because it needs to be used together with a
privatizing clause. The only such clause for `taskgroup` is
`task_reduction`, but it's not yet supported.
Commit: e6ef836f23aa44520e0823c38e44b2f58eb5a52f
https://github.com/llvm/llvm-project/commit/e6ef836f23aa44520e0823c38e44b2f58eb5a52f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/teams.f90
Log Message:
-----------
[flang][OpenMP] Add -fopenmp-version=52 to teams.f90 (#92180)
One of the functions in the test has `teams if(...)`. The `if` clause
was only allowed on the `teams` directive in OpenMP 5.2.
Commit: ccbf908b0836d8e3945f9331fd3679cbc6be0be1
https://github.com/llvm/llvm-project/commit/ccbf908b0836d8e3945f9331fd3679cbc6be0be1
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/test/src/string/strerror_test.cpp
Log Message:
-----------
[libc] Fix GPU test build error (#92235)
This fixes a build error on the AMDGPU buildbot introduced in PR
https://github.com/llvm/llvm-project/pull/92172
Commit: 1650f1b3d7f97ca95eb930984e74bdfd91b02b4e
https://github.com/llvm/llvm-project/commit/1650f1b3d7f97ca95eb930984e74bdfd91b02b4e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/include/clang/AST/VTTBuilder.h
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.h
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectStepOrder.py
M flang/docs/HighLevelFIR.md
M flang/test/Lower/HLFIR/forall.f90
M libc/src/stdio/printf_core/parser.h
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Target/Target.td
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.h
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Support/ELFAttributeParser.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/CodeGen/X86/avx-vperm2x128.ll
M llvm/test/DebugInfo/PDB/Inputs/every-type.yaml
M llvm/test/MC/ARM/eh-directive-personalityindex-diagnostics.s
M llvm/test/Transforms/InstCombine/phi-extractvalue.ll
M llvm/test/Transforms/InstCombine/phi-of-insertvalues.ll
M llvm/test/Transforms/VectorCombine/X86/scalarize-vector-gep.ll
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
Fix typo "indicies" (#92232)
Commit: 398162ddbcf741c49e86bef2ef4aaa3fd0213916
https://github.com/llvm/llvm-project/commit/398162ddbcf741c49e86bef2ef4aaa3fd0213916
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/test/src/string/strerror_test.cpp
Log Message:
-----------
[libc] Fix typo in test message
Commit: 3b5a121a2478e586f59e3277d04d17fb63be5d76
https://github.com/llvm/llvm-project/commit/3b5a121a2478e586f59e3277d04d17fb63be5d76
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] replace comparison of begin and end iterators with range empty (#91994)
Improves readability by changing comparisons of `*_begin` and `*_end`
iterators into `.empty()` on their range.
Commit: 8a71284cb9463a90fab0d9e8edbeb5d879531e32
https://github.com/llvm/llvm-project/commit/8a71284cb9463a90fab0d9e8edbeb5d879531e32
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/MC/X86/abs8.s
M llvm/test/MC/X86/align-branch-variant-symbol.s
M llvm/test/MC/X86/data-prefix-fail.s
M llvm/test/MC/X86/displacement-overflow.s
M llvm/test/MC/X86/dwarf-segment-register.s
M llvm/test/MC/X86/index-operations.s
M llvm/test/MC/X86/ret.s
M llvm/test/MC/X86/x86_errors.s
Log Message:
-----------
[MC][X86] Cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names where possible
Commit: 89873694654a635cabdd861ddebd61a041d8342f
https://github.com/llvm/llvm-project/commit/89873694654a635cabdd861ddebd61a041d8342f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/sibcall-2.ll
M llvm/test/CodeGen/X86/sibcall-byval.ll
Log Message:
-----------
[X86] sibcall - cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names
Commit: 932f0de43a9e334e161a69a50bd6b01cd51e238e
https://github.com/llvm/llvm-project/commit/932f0de43a9e334e161a69a50bd6b01cd51e238e
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
Log Message:
-----------
[clang-tidy] fix crash due to assumed callee in min-max-use-initializer-list (#91992)
Previously, the call to `findArgs` for a `CallExpr` inside of a `min` or
`max` call would call `findArgs` before checking if the argument is a
call to `min` or `max`, which is what `findArgs` is expecting.
The fix moves the name checking before the call to `findArgs`, such that
only a `min` or `max` function call is used as an argument.
Fixes #91982
Fixes #92249
Commit: 83d9aa27680b6a7f3556fcf13ada70b4be95bab2
https://github.com/llvm/llvm-project/commit/83d9aa27680b6a7f3556fcf13ada70b4be95bab2
Author: Pietro Ghiglio <pietro.ghiglio at codeplay.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
A llvm/test/Transforms/LoopVectorize/as_cast.ll
Log Message:
-----------
[VPlan] Add scalar inferencing support for addrspace cast (#92107)
Fixes https://github.com/llvm/llvm-project/issues/91434
PR: https://github.com/llvm/llvm-project/pull/92107
Commit: d06270ee00e37b247eb99268fb2f106dbeee08ff
https://github.com/llvm/llvm-project/commit/d06270ee00e37b247eb99268fb2f106dbeee08ff
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
Log Message:
-----------
[workflows] Fix libclang-abi-tests to work with new version scheme (#91865)
Commit: 97418bb519d90542aad3c1f82c80264381a5758e
https://github.com/llvm/llvm-project/commit/97418bb519d90542aad3c1f82c80264381a5758e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/patchable-function-entry-ibt.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/CodeGen/X86/patchable-prologue.ll
Log Message:
-----------
[X86] patchable functions - cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names
Commit: 96ac2e3af78a45c4fdf4ecc3f9a76cc00663cac7
https://github.com/llvm/llvm-project/commit/96ac2e3af78a45c4fdf4ecc3f9a76cc00663cac7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/cmpxchg-clobber-flags.ll
Log Message:
-----------
[X86] cmpxchg-clobber-flags.ll - cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names
Commit: e26eacf771fed3226058a84d5d83f94994f583b2
https://github.com/llvm/llvm-project/commit/e26eacf771fed3226058a84d5d83f94994f583b2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/prefetch.ll
Log Message:
-----------
[X86] prefetch.ll - cleanup check prefixes identified in #92248
Avoid using leading numbers in check prefixes - replace with actual triple config names (and makes it easier to add X64 test coverage in a future commit).
Commit: 3f07430c383dffad77a120c91df79cbc7d99313c
https://github.com/llvm/llvm-project/commit/3f07430c383dffad77a120c91df79cbc7d99313c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir
Log Message:
-----------
[X86] avoid-sfb-g-no-change.mir - cleanup check prefixes identified in #92248
Don't include "-LABEL" (or any other FileCheck modifier) in the core check prefix name
Commit: f8395f8420cee8fc0854f43c9e88819c0ed54696
https://github.com/llvm/llvm-project/commit/f8395f8420cee8fc0854f43c9e88819c0ed54696
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/align-branch-boundary-suppressions-tls.ll
M llvm/test/CodeGen/X86/asm-modifier.ll
M llvm/test/CodeGen/X86/pr32345.ll
M llvm/test/CodeGen/X86/x32-va_start.ll
Log Message:
-----------
[X86] Cleanup check prefixes identified in #92248
Avoid using leading numbers in check prefixes - replace with actual triple config names.
Commit: b59760d83d10c27f22d77b7df24871500167c3e8
https://github.com/llvm/llvm-project/commit/b59760d83d10c27f22d77b7df24871500167c3e8
Author: Kamlesh Kumar <kamleshbhalui at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/examples/ExceptionDemo/CMakeLists.txt
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
Log Message:
-----------
Revert "[ExceptionDemo] Correct and update example ExceptionDemo" (#92257)
Reverts llvm/llvm-project#69485
Commit: 3bb39690d729d85cd93c9dd6e750d82d6f367541
https://github.com/llvm/llvm-project/commit/3bb39690d729d85cd93c9dd6e750d82d6f367541
Author: Hans <hans at hanshq.net>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
R clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M llvm/docs/Coroutines.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
R llvm/test/Transforms/Coroutines/coro-preserve-final.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
Log Message:
-----------
[coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (#89751)
The C++ standard requires that symmetric transfer from one coroutine to
another is performed via a tail call. Failure to do so is a miscompile
and often breaks programs by quickly overflowing the stack.
Until now, the coro split pass tried to ensure this in the
`addMustTailToCoroResumes()` function by searching for
`llvm.coro.resume` calls to lower as tail calls if the conditions were
right: the right function arguments, attributes, calling convention
etc., and if a `ret void` was sure to be reached after traversal with
some ad-hoc constant folding following the call.
This was brittle, as the kind of implicit variants required for a tail
call to happen could easily be broken by other passes (e.g. if some
instruction got in between the `resume` and `ret`), see for example
9d1cb18d19862fc0627e4a56e1e491a498e84c71 and
284da049f5feb62b40f5abc41dda7895e3d81d72.
Also the logic seemed backwards: instead of searching for possible tail
call candidates and doing them if the circumstances are right, it seems
better to start with the intention of making the tail calls we need, and
forcing the circumstances to be right.
Now that we have the `llvm.coro.await.suspend.handle` intrinsic (since
f78688134026686288a8d310b493d9327753a022) which corresponds exactly to
symmetric transfer, change the lowering of that to also include the
`resume` part, always lowered as a tail call.
Commit: 95e307caeb17c080724921564d96e1b8457264bc
https://github.com/llvm/llvm-project/commit/95e307caeb17c080724921564d96e1b8457264bc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M bolt/lib/Rewrite/CMakeLists.txt
Log Message:
-----------
Fix bolt build with -DBUILD_SHARED_LIBS=ON after 71fbbb69d
Commit 71fbbb69d63c461f391cbabf1e32cd9977c4ce68 moved getGUID out of
line in llvm/IR/GlobalValue, now users have to link LLVMCore to have
the definition of it.
/usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::parsePseudoProbe()':
PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter16parsePseudoProbeEv+0x3d0): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)'
/usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::encodePseudoProbes()':
PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter18encodePseudoProbesEv+0x11a1): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/bolt/lib/Rewrite/CMakeFiles/LLVMBOLTRewrite.dir/build.make:275: lib/libLLVMBOLTRewrite.so.19.0git] Error 1
Commit: c2fba6df944e11e2c9a7073405c6a817fdba14e3
https://github.com/llvm/llvm-project/commit/c2fba6df944e11e2c9a7073405c6a817fdba14e3
Author: Koakuma <koachan at protonmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/test/CodeGen/sparcv9-abi.c
A clang/test/CodeGen/sparcv9-class-return.cpp
Log Message:
-----------
[clang][SPARC] Treat empty structs as if it's a one-bit type in the CC (#90338)
Make sure that empty structs are treated as if it has a size of one bit
in function parameters and return types so that it occupies a full
argument and/or return register slot.
This fixes crashes and miscompilations when passing and/or returning
empty structs.
Reviewed by: @s-barannikov
Commit: 97a30448f9477e0196f9340303aa20d544f1629a
https://github.com/llvm/llvm-project/commit/97a30448f9477e0196f9340303aa20d544f1629a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/parallel-sections.f90
Log Message:
-----------
[flang][OpenMP] Add `private` to `allocate` in parallel-sections.f90 (#92185)
Add a privatizing clause to the construct that uses `allocate` clause.
Amend the CHECK lines to reflect the expected output.
Commit: 4ec4a8e7fe463852e197d4ff396f4911ccce7449
https://github.com/llvm/llvm-project/commit/4ec4a8e7fe463852e197d4ff396f4911ccce7449
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Privatizing clauses in construct decomposition (#92176)
Add remaining clauses with the "privatizing" property to construct
decomposition, specifically to the part handling the `allocate` clause.
---------
Co-authored-by: Tom Eccles <t at freedommail.info>
Commit: 8d386c63a8d38bc50acba8dba2cd5f0daca57012
https://github.com/llvm/llvm-project/commit/8d386c63a8d38bc50acba8dba2cd5f0daca57012
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
Log Message:
-----------
[Frontend][OpenMP] Reduction modifier must be applied somewhere (#92160)
Detect the case when a reduction modifier ends up not being applied
after construct decomposition, treat it as an error.
This fixes a regression in the gfortran test suite after PR90098.
Commit: 7c8176ebd39c357fc4fa488861318409cd87d8f2
https://github.com/llvm/llvm-project/commit/7c8176ebd39c357fc4fa488861318409cd87d8f2
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[Coroutines] Remove unused function (NFC)
llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:1223:1:
error: unused function 'scanPHIsAndUpdateValueMap' [-Werror,-Wunused-function]
scanPHIsAndUpdateValueMap(Instruction *Prev, BasicBlock *NewBlock,
^
1 error generated.
Commit: 466d266945196ebbdefd8d72f654551d54d68600
https://github.com/llvm/llvm-project/commit/466d266945196ebbdefd8d72f654551d54d68600
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
Log Message:
-----------
[AMDGPU] Fix GFX90x check prefixes in tests (#92254)
Commit: 61da6366d043792d7db280ce9edd2db62516e0e8
https://github.com/llvm/llvm-project/commit/61da6366d043792d7db280ce9edd2db62516e0e8
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
[flang] Initial debug info support for local variables. (#90905)
We need the information in the `DeclareOp` to generate debug information
for variables. Currently, cg-rewrite removes the `DeclareOp`. As
`AddDebugInfo` runs after that, it cannot process the `DeclareOp`. My
initial plan was to make the `AddDebugInfo` pass run before the cg-rewrite
but that has few issues.
1. Initially I was thinking to use the memref op to carry the variable
attr. But as @tblah suggested in the #86939, it makes more sense to
carry that information on `DeclareOp`. It also makes it easy to handle
it in codegen and there is no special handling needed for arguments. For
this reason, we need to preserve the `DeclareOp` till the codegen.
2. Running earlier, we will miss the changes in passes that run between
cg-rewrite and codegen.
But not removing the DeclareOp in cg-rewrite has the issue that ShapeOp
remains and it causes errors during codegen. To solve this problem, I
convert DeclareOp to XDeclareOp in cg-rewrite instead of removing
it. This was mentioned as possible solution by @jeanPerier in
https://reviews.llvm.org/D136254
The conversion follows similar logic as used for other operators in that
file. The FortranAttr and CudaAttr are currently not converted but left
as TODO when the need arise.
Now `AddDebugInfo` pass can extracts information about local variables
from `XDeclareOp` and creates `DILocalVariableAttr`. These are attached
to `XDeclareOp` using `FusedLoc` approach. Codegen can use them to
create `DbgDeclareOp`. I have added tests that checks the debug
information in mlir from and also in llvm ir.
Currently we only handle very limited types. Rest are given a place
holder type. The previous placeholder type was basic type with
`DW_ATE_address` encoding. When variables are added, it started
causing assertions in the llvm debug info generation logic for some
types. It has been changed to an interger type to prevent these issues
until we handle those types properly.
Commit: eda098aadea3e542f95b5f0d4173f00eae42dc72
https://github.com/llvm/llvm-project/commit/eda098aadea3e542f95b5f0d4173f00eae42dc72
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
A clang/test/Analysis/block-in-critical-section.c
Log Message:
-----------
[clang][analyzer] Fix a crash in alpha.unix.BlockInCriticalSection (#90030)
When analyzing C code with function pointers the checker crashes because
of how the implementation extracts `IdentifierInfo`. Without the fix, this
test crashes.
Commit: da116bd82c0a78d2022c34b56e45cf6e4f91eaed
https://github.com/llvm/llvm-project/commit/da116bd82c0a78d2022c34b56e45cf6e4f91eaed
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
Log Message:
-----------
[Clang] Use ULL for std::max constant argument to fix build failure.
getKnownMinValue returns uint64_t, use ULL to make sure the second arg
is also 64 bit.
Commit: b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
https://github.com/llvm/llvm-project/commit/b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
Log Message:
-----------
[GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (#92197)
There is no reason to call combineMetadata directly with a list of MD_
nodes. The combineMetadataForCSE function handles all the metadata
correctly
Partially fixes: #30866
Commit: 8a4cbeada930bf11fe740a2038bd5a3230712284
https://github.com/llvm/llvm-project/commit/8a4cbeada930bf11fe740a2038bd5a3230712284
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
Log Message:
-----------
[Clang] Unbreak build take 2 using uint64_t() explicitly.
Commit: dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
https://github.com/llvm/llvm-project/commit/dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Support/MemoryBuffer.cpp
Log Message:
-----------
[Support] Use malloc instead of non-throwing new (#92157)
When allocating a memory buffer, we use a non-throwing new so that we
can explicitly handle memory buffers that are too large to fit into
memory. However, when exceptions are disabled, LLVM installs a custom
new handler
(https://github.com/llvm/llvm-project/blob/90109d444839683b09f0aafdc50b749cb4b3203b/llvm/lib/Support/InitLLVM.cpp#L61)
that explicitly crashes when we run out of memory
(https://github.com/llvm/llvm-project/blob/de14b749fee41d4ded711e771e43043ae3100cb3/llvm/lib/Support/ErrorHandling.cpp#L188)
and that means this particular out-of-memory situation cannot be
gracefully handled.
This was discovered while working on #embed
(https://github.com/llvm/llvm-project/pull/68620) on Windows and
resulted in a crash rather than the preprocessor issuing a diagnostic as
expected.
This patch switches away from the non-throwing new to a call to malloc
(and free), which will return a null pointer without calling a custom
new handler. It is the only instance in Clang or LLVM that I could find
which used a non-throwing new, so I did not think we would need anything
more involved than this change.
Testing this would be highly platform dependent and so it does not come
with test coverage. And because it doesn't change behavior that users
are likely to be able to observe, it does not come with a release note.
Commit: 8ab753c121447c1388c4cb1af08ab27b2cd62a82
https://github.com/llvm/llvm-project/commit/8ab753c121447c1388c4cb1af08ab27b2cd62a82
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
Log Message:
-----------
[flang][OpenMP] Add `REQUIRES: asserts` to test that relies on it
This should fix failures in release builds.
Commit: 413aaf11cd74f422f05b990613f822dc10db4391
https://github.com/llvm/llvm-project/commit/413aaf11cd74f422f05b990613f822dc10db4391
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Support IntAP(S) in emitPrimCast
Commit: 28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
https://github.com/llvm/llvm-project/commit/28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/IntegralAP.h
Log Message:
-----------
[clang][Interp][NFC] Use a smaller default size for IntegralAP
Since we later possibly initialize the value by using operator-new,
we need the default value to _not_ allocate memory.
Commit: 4527adc500ea0dc4b942a51dc7209da4ea26d9a2
https://github.com/llvm/llvm-project/commit/4527adc500ea0dc4b942a51dc7209da4ea26d9a2
Author: Daniel Kuts <kutz at ispras.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
Log Message:
-----------
Fix null pointer dereference in logging in mlir TransformOps (#92237)
A variable `typeConverterOp` may be nullptr after dynamic cast. There is
a security guard for this, but during logging error message the variable
getting dereferenced.
Found with static analysis.
Commit: b576a6b0452b9bfb634feaa215506d8a1afe857d
https://github.com/llvm/llvm-project/commit/b576a6b0452b9bfb634feaa215506d8a1afe857d
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-tile-basic.ll
Log Message:
-----------
[X86][AMX] Fix a bug after #83628 (#91207)
We need to check if `GR64Cand` a valid register before using it.
Test is not needed since it's covered in llvm-test-suite.
Fixes #90954
Commit: bed5546bb53bdb231b62f569b67f449019426ce8
https://github.com/llvm/llvm-project/commit/bed5546bb53bdb231b62f569b67f449019426ce8
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
Log Message:
-----------
[DebugInfo] Get rid of redundant conditional checks in `/DebugInfo` (#92111)
Resolves #90326
Commit: dcf3102be8458fe7588f9d11315beddfca4323b0
https://github.com/llvm/llvm-project/commit/dcf3102be8458fe7588f9d11315beddfca4323b0
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A bolt/docs/CommandLineArgumentReference.md
Log Message:
-----------
[BOLT][NFC] Add documentation on BOLT options (#92117)
Add .md file documentation with all BOLT options to display it more
conveniently.
Commit: 8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
https://github.com/llvm/llvm-project/commit/8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
A offload/test/mapping/map_both_pointer_pointee.c
Log Message:
-----------
[Clang][OpenMP] Fix runtime problem when explicit map both pointer and pointee (#92210)
ponter int *p for following map, test currently crash.
map(p, p[:100]) or map(p, p[1])
Currly IR looks like
// &p, &p, sizeof(int), TARGET_PARAM | TO | FROM
// &p, p[0], 100sizeof(float) TO | FROM
Worrking IR is
// map(p, p[0:100]) to map(p[0:100])
// &p, &p[0], 100*sizeof(float), TARGET_PARAM | TO | FROM | PTR_AND_OBJ
The change is add new argument AreBothBasePtrAndPteeMapped in
generateInfoForComponentList
Use that to skip map for map(p), when processing map(p[:100]) generate
map with right flag.
Commit: ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
https://github.com/llvm/llvm-project/commit/ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.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/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
Log Message:
-----------
[RISCV] Remove hasSideEffects=1 for vsetvli pseudos (#91319)
In a similar vein to #90049, we currently model all of the effects of a
vsetvli pseudo:
* VL and VTYPE are marked as defs
* VL preserving x0,x0 vsetvlis doesn't get emitted until
RISCVInsertVSETVLI, and when they are they have implicit uses on VL
* Regular vector pseudos are fully modelled too: Before
RISCVInsertVSETVLI they can be moved between vsetvli pseudos because we
will eventually insert vsetvlis to correct VL and VTYPE. Afterwards,
they will have implicit uses on VL and VTYPE.
Since we model everything we can remove hasSideEffects=1. This gives us
some improvements like sinking in vsetvli-insert-crossbb.ll.
We need to update RISCVDeadRegisterDefinitions to keep handling vsetvli
pseudos since it only operates on instructions with unmodelled side
effects.
Commit: 74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
https://github.com/llvm/llvm-project/commit/74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_convertvector
Commit: 3a8d176af519e4385652e762c615ace9b80ef045
https://github.com/llvm/llvm-project/commit/3a8d176af519e4385652e762c615ace9b80ef045
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/filecheck_lint/filecheck_lint.py
Log Message:
-----------
[utils][filecheck-lint] Add shebang (#92243)
Commit: ba3447601c435bb2b24ad9e3c8d146c578f00568
https://github.com/llvm/llvm-project/commit/ba3447601c435bb2b24ad9e3c8d146c578f00568
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
Log Message:
-----------
[clang-tidy] Fix crash in modernize-use-constraints (#92019)
Improved modernize-use-constraints check by fixing a crash that occurred
in some scenarios and excluded system headers from analysis.
Problem were with DependentNameTypeLoc having null type location as
getQualifierLoc().getTypeLoc().
Fixes #91872
Commit: 54c6ee922abbaea7d2f138a209f320c414c1657b
https://github.com/llvm/llvm-project/commit/54c6ee922abbaea7d2f138a209f320c414c1657b
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
Log Message:
-----------
[clang-tidy] Add AllowImplicitlyDeletedCopyOrMove option to cppcoreguidelines-special-member-functions (#71683)
Improved cppcoreguidelines-special-member-functions check with a new
option AllowImplicitlyDeletedCopyOrMove, which removes the requirement
for explicit copy or move special member functions when they are already
implicitly deleted.
Closes #62392
Commit: 9bbefb7f600019c9d7025281132dd160729bfff2
https://github.com/llvm/llvm-project/commit/9bbefb7f600019c9d7025281132dd160729bfff2
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Parse/Parser.cpp
A clang/test/PCH/optnone.cpp
Log Message:
-----------
[clang] Store FPOptions earlier when parsing function (#92146)
After https://github.com/llvm/llvm-project/pull/85605 ([clang] Set
correct FPOptions if attribute 'optnone' presents) the current FP
options in Sema are saved during parsing function because Sema can
modify them if optnone is present. However they were saved too late, it
caused fails in some cases when precompiled headers are used. This patch
moves the storing earlier.
Commit: 03c53c69a367008da689f0d2940e2197eb4a955c
https://github.com/llvm/llvm-project/commit/03c53c69a367008da689f0d2940e2197eb4a955c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] Remove UseAssemblerInfoForParsing
Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).
`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.
I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.
```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc # succeeded
% clang -c b.cc # succeeded with this patch
% clang -S b.cc # still failed
<inline asm>:4:5: error: expected absolute expression
4 | .if . -_start == 1
| ^
1 error generated.
```
Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841
Pull Request: https://github.com/llvm/llvm-project/pull/91082
Commit: 141391ad2f22885342935442642c6c892f43e1ed
https://github.com/llvm/llvm-project/commit/141391ad2f22885342935442642c6c892f43e1ed
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lld/test/MachO/objc.s
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[lld] Fix -ObjC load behavior with LTO (#92162)
When -ObjC is passed, the linker must force load any object files that
contain special sections that store Objective-C / Swift information that
is used at runtime.
This should work regadless if input files are bitcode or native, but it
was not working with bitcode. This is because the sections that identify
an object file that should be loaded were inconsistent when dealing with
a native file vs bitcode file. In particular, bitcode files were not
searched for `__TEXT,__swift` prefixed sections, while native files
were.
This means LLD wasn't loading certain bitcode files and forcing the user
to introduce --force-load to their linker invocation for that archive.
Co-authored-by: Nuri Amari <nuriamari at fb.com>
Commit: f0e79db215ada7316b4d4046490ab715194a519a
https://github.com/llvm/llvm-project/commit/f0e79db215ada7316b4d4046490ab715194a519a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Fix 80 columns in RISCVMatInt.cpp. NFC
Commit: 29c2475f215110d9e6b3955d5eb2832b3f719c2f
https://github.com/llvm/llvm-project/commit/29c2475f215110d9e6b3955d5eb2832b3f719c2f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[mlir] Fix the build after 03c53c69a367008da689f0d2940e2197eb4a955c
Commit: 3f954f575156bce8ac81d6b4d94de443786befed
https://github.com/llvm/llvm-project/commit/3f954f575156bce8ac81d6b4d94de443786befed
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Support/MemoryBuffer.cpp
Log Message:
-----------
Correct mismatched allocation/deallocation calls
This amends dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6 because ASAN
caught an issue where the allocation and deallocation were not properly
paired: https://lab.llvm.org/buildbot/#/builders/239/builds/7001
Use malloc and free throughout this file to ensure that all kinds of
memory buffers use the proper pairing.
Commit: 332de4b2677ce7a95cc2df30d761fbb55376fe07
https://github.com/llvm/llvm-project/commit/332de4b2677ce7a95cc2df30d761fbb55376fe07
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M offload/CMakeLists.txt
M openmp/CMakeLists.txt
Log Message:
-----------
[Offload] Correctly reject building on unsupported architectures (#92276)
Summary:
Previously we had this `LIBOMPTARGET_ENABLED` variable which controlled
including `libomptarget`. This is now redundant since it's controlled by
`LLVM_ENABLE_RUNTIMES`. However, this had the extra effect of not
building it when given unsupported targets. THis was lost during the
move to `offload`. This patch moves this logic back and makes the
`offload` target just quit without doing anything if used on an
unsupported architecture.
https://github.com/llvm/llvm-project/issues/91881
https://github.com/llvm/llvm-project/issues/91819
---------
Co-authored-by: Sylvestre Ledru <sylvestre at debian.org>
Commit: be10746f3a4381456eb5082a968766201c17ab5d
https://github.com/llvm/llvm-project/commit/be10746f3a4381456eb5082a968766201c17ab5d
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/OpenBSD.cpp
Log Message:
-----------
[clang] Don't assume location of compiler-rt for OpenBSD (#92183)
If the `/usr/lib/...` path where compiler-rt is conventionally installed
on OpenBSD does not exist, fall back to the regular logic to find it.
This is a minimal change to allow OpenBSD cross compilation from a
toolchain that doesn't adopt all of OpenBSD's monorepo's conventions.
Commit: e2d74a25eb562b117974add098ba2b9dd4cfc7f5
https://github.com/llvm/llvm-project/commit/e2d74a25eb562b117974add098ba2b9dd4cfc7f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp16.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
Log Message:
-----------
[X86] EmitCmp - always use cmpw with foldable loads (#92251)
By default, EmitCmp avoids cmpw with i16 immediates due to 66/67h length-changing prefixes causing stalls, instead extending the value to i32 and using a cmpl with a i32 immediate, unless it has the TuningFastImm16 flag or we're building for optsize/minsize.
However, if we're loading the value for comparison, the performance costs of the decode stalls are likely to be exceeded by the impact of the load latency of the folded load, the shorter encoding and not needing an extra register to store the ext-load.
This matches the behaviour of gcc and msvc.
Fixes #90355
Commit: 34f33babc28d240d4ceee69f9afe7d6f5e8ac29b
https://github.com/llvm/llvm-project/commit/34f33babc28d240d4ceee69f9afe7d6f5e8ac29b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py
Log Message:
-----------
[lldb] Fixed the TestGdbRemoteCompletion test (#92268)
Do not try to run lldb-server on localhost in case of the remote target.
Commit: fc1df55bcf9b6cc2dec157bcd188b471bc91b945
https://github.com/llvm/llvm-project/commit/fc1df55bcf9b6cc2dec157bcd188b471bc91b945
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Log Message:
-----------
[lldb][Windows] Fixed the test gdb_remote_client/TestGDBRemotePlatformFile (#92088)
The tests `test_file_permissions` and `test_file_permissions_fallback`
are disabled for Windows target. These tests use MockGDBServerResponder
and do not depend on the real target. These tests failed in case of
Windows host and Linux target. Disable them for Windows host too.
Commit: 2ec85713bd910c5b22ce090798ca00f742d5eb14
https://github.com/llvm/llvm-project/commit/2ec85713bd910c5b22ce090798ca00f742d5eb14
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Add back in `ENABLE_LIBOMPTARGET' definition
Summary:
Even though we moved `libomptarget` this is still present in `omp.h` and
can't be removed.
Commit: 4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
https://github.com/llvm/llvm-project/commit/4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Don't pass clauses to op-generating functions anymore (#90108)
Remove parameter `const List<Clause> &clauses` from functions that take
construct queue. The clauses should now be accessed from the construct
queue.
Commit: eb822dc25853299ea81166f9bb8a43436ab8b0c8
https://github.com/llvm/llvm-project/commit/eb822dc25853299ea81166f9bb8a43436ab8b0c8
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
[lldb] Fixed the TestCompletion test running on a remote target (#92281)
Install the image to the remote target if necessary.
Commit: 7645269710493c188d1d270b9e4e085b3e92b9b0
https://github.com/llvm/llvm-project/commit/7645269710493c188d1d270b9e4e085b3e92b9b0
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
Log Message:
-----------
[lldb] Fixed the TestNetBSDCore test (#92285)
TestNetBSDCore.py contains 3 classes with the same test names
test_aarch64 and test_amd64. It causes conflicts because the same build
dir. Add suffixes to avoid conflicts.
Commit: d92c67784f21063d6334a009dbf4f9e0f8217b41
https://github.com/llvm/llvm-project/commit/d92c67784f21063d6334a009dbf4f9e0f8217b41
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
Log Message:
-----------
[lldb][Windows] Fixed the TestIOHandlerResizeNoEditline test (#92286)
This test caused python crash on Windows x86_64 host with the exit code
0xC0000409 (STATUS_STACK_BUFFER_OVERRUN). Close the input stream before
exit to avoid this crash.
Commit: 217668f641e82f901645f428ae0d07a3c01e9a8a
https://github.com/llvm/llvm-project/commit/217668f641e82f901645f428ae0d07a3c01e9a8a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/Object/WindowsResource.cpp
Log Message:
-----------
[nfc] Allow forwarding `Error` returns from `Expected` callers (#92208)
On a few compilers (clang 11/12 for example [1]), the following does not
result in a copy elision, and since `Error`'s copy dtor is elided,
results in a compile error:
```
Expect<Something> foobar() {
...
if (Error E = aCallReturningError())
return E;
...
}
```
Moving `E` would, conversely, result in the pessimizing-move warning on
more recent clangs ("moving a local object in a return statement
prevents copy elision")
We just need to make the `Expected` ctor taking an `Error` take it as a
r-value reference.
[1] https://lab.llvm.org/buildbot/#/builders/54/builds/10505
Commit: 0647d1035cb208195e002b38089b82004b6f7b92
https://github.com/llvm/llvm-project/commit/0647d1035cb208195e002b38089b82004b6f7b92
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC
Most of these were to avoid undefined behavior if a shift left
changed the sign of the result. I don't think its possible to change
the sign of the result here. We're shifting left by 12 after an arithmetic
right shift by more than 12. The bits we are shifting out with the left
shift are guaranteed to be sign bits.
Also use SignExtend64<32> to force upper bits to all 1s instead of an
Or. We know the value isUInt<32> && !isInt<32> which means bit 31 is set.
Commit: ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
https://github.com/llvm/llvm-project/commit/ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
Log Message:
-----------
[LAA] Add tests with invariant dependences before strided ones.
Add extra test coverage for loops with strided and invariant accesses to
the same object.
Commit: c19f2c773b0e23fd623502888894add822079f63
https://github.com/llvm/llvm-project/commit/c19f2c773b0e23fd623502888894add822079f63
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
Reapply "[ctx_profile] Profile reader and writer" (#92199)
This reverts commit 03c7458a3603396d2d0e1dee43399d3d1664a264.
One of the problems was addressed in #92208
The other problem: needed to add `BitstreamReader` to the list of
link deps of `LLVMProfileData`
Commit: df5804aec48f99704ef26c740e19deaa4072fe27
https://github.com/llvm/llvm-project/commit/df5804aec48f99704ef26c740e19deaa4072fe27
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port c19f2c773b0e
Commit: 468357114c64633651ebcc5ef17161990da25a78
https://github.com/llvm/llvm-project/commit/468357114c64633651ebcc5ef17161990da25a78
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
A flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
R flang/test/Transforms/debug-local-var-2.f90
R flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
Revert "[flang] Initial debug info support for local variables. (#909… (#92302)
…05)"
This reverts commit 61da6366d043792d7db280ce9edd2db62516e0e8.
Update #90905 was causing many tests to fail.
See comments in #90905.
Commit: 411bf385ba27f15145c635c7d8ff2701fe8de5b9
https://github.com/llvm/llvm-project/commit/411bf385ba27f15145c635c7d8ff2701fe8de5b9
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Include npm install in the extension installation steps (#92028)
Otherwise the build step fails due to missing dependencies.
Commit: 2c54bf497f7d7aecd24f4b849ee08e37a3519611
https://github.com/llvm/llvm-project/commit/2c54bf497f7d7aecd24f4b849ee08e37a3519611
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
R llvm/lib/ProfileData/PGOCtxProfReader.cpp
R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
Revert "Reapply "[ctx_profile] Profile reader and writer" (#92199)"
This reverts commit c19f2c773b0e23fd623502888894add822079f63.
Broke the gcc-7 bot.
Commit: 9ae2177843f681c70ad89506155a2cb83eeebfd4
https://github.com/llvm/llvm-project/commit/9ae2177843f681c70ad89506155a2cb83eeebfd4
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Handle undef AVLs in RISCVInsertVSETVLI
Before #91440 a VSETVLIInfo would have had an IMPLICIT_DEF defining
instruction, but now we look up a VNInfo which doesn't exist, which
triggers an assertion failure. Mark these undef AVLs as AVLIsIgnored.
Commit: 378c9e952a3d198873677fb2d2afb33695185b72
https://github.com/llvm/llvm-project/commit/378c9e952a3d198873677fb2d2afb33695185b72
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port 2c54bf497f7d
Commit: d542eb7aa830e94490b943a3ea0937506fece15b
https://github.com/llvm/llvm-project/commit/d542eb7aa830e94490b943a3ea0937506fece15b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg2630.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for CWG issues regarding completeness of types (#92113)
This patch covers the following Core issues:
[CWG930](https://cplusplus.github.io/CWG/issues/930.html) "`alignof`
with incomplete array type"
[CWG1110](https://cplusplus.github.io/CWG/issues/1110.html) "Incomplete
return type should be allowed in `decltype` operand"
[CWG1340](https://cplusplus.github.io/CWG/issues/1340.html) "Complete
type in member pointer expressions"
[CWG1352](https://cplusplus.github.io/CWG/issues/1352.html)
"Inconsistent class scope and completeness rules"
[CWG1458](https://cplusplus.github.io/CWG/issues/1458.html) "Address of
incomplete type vs `operator&()`"
[CWG1824](https://cplusplus.github.io/CWG/issues/1824.html)
"Completeness of return type vs point of instantiation"
[CWG1832](https://cplusplus.github.io/CWG/issues/1832.html) "Casting to
incomplete enumeration"
[CWG2304](https://cplusplus.github.io/CWG/issues/2304.html) "Incomplete
type vs overload resolution"
[CWG2310](https://cplusplus.github.io/CWG/issues/2310.html) "Type
completeness and derived-to-base pointer conversions"
[CWG2430](https://cplusplus.github.io/CWG/issues/2430.html)
"Completeness of return and parameter types of member functions"
[CWG2512](https://cplusplus.github.io/CWG/issues/2512.html) "`typeid`
and incomplete class types"
[CWG2630](https://cplusplus.github.io/CWG/issues/2630.html) "Syntactic
specification of class completeness"
[CWG2718](https://cplusplus.github.io/CWG/issues/2718.html) "Type
completeness for derived-to-base conversions"
[CWG2857](https://cplusplus.github.io/CWG/issues/2857.html)
"Argument-dependent lookup with incomplete class types"
Current wording for CWG1110 came from
[P0135R1](https://wg21.link/p0135R1) "Wording for guaranteed copy
elision through simplified value categories".
As a drive-by fix, I fixed incorrect status of CWG1815, test for which
was added in #87933. CC @yronglin
Commit: 64b3cdc0220174c1af236a42b227a5226f0f12c5
https://github.com/llvm/llvm-project/commit/64b3cdc0220174c1af236a42b227a5226f0f12c5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
Log Message:
-----------
[libc] Fix GPU handling for unsupported backends (#92271)
Summary:
If the user does not have the selected backend enabled, we should still
be able to build the LLVM-IR an ddistribute it. This patch makes logic
to suppress tests if the backend can't build it, as well as removing a
flag for the building that's only present int he NVPTX backend.
Commit: 4ab2ac22d0a481460536f673377b644702cb3372
https://github.com/llvm/llvm-project/commit/4ab2ac22d0a481460536f673377b644702cb3372
Author: Patrick O'Neill <patrick at rivosinc.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/RISCV/pr92193.ll
Log Message:
-----------
[DAGCombiner] Mark vectors as not AllAddOne/AllSubOne on type mismatch (#92195)
Fixes #92193.
Commit: fc8775e2142c6bd7876831c27c3fbef0d64860bc
https://github.com/llvm/llvm-project/commit/fc8775e2142c6bd7876831c27c3fbef0d64860bc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
"Reapply "[ctx_profile] Profile reader and writer" (#92199)"
This reverts commit 2c54bf497f7d7aecd24f4b849ee08e37a3519611.
Fixed gcc-7 issue.
Commit: 2fb92520cba15afff6f25a1f0b959ef39912fa0a
https://github.com/llvm/llvm-project/commit/2fb92520cba15afff6f25a1f0b959ef39912fa0a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port fc8775e2142c
Commit: 24c39261e62d9f99bab91edf67bb9607a681b038
https://github.com/llvm/llvm-project/commit/24c39261e62d9f99bab91edf67bb9607a681b038
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][test] Add tests for parsing profiles using RISCVISAInfo::parseArchString
Commit: 891d687137ad9bb3b4efae116f9539addb5be0ea
https://github.com/llvm/llvm-project/commit/891d687137ad9bb3b4efae116f9539addb5be0ea
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Gate unratified profiles behind -menable-experimental-extensions (#92167)
As discussed in the last sync-up call, because these profiles are not
yet finalised they shouldn't be exposed to users unless they opt-in to
them (much like experimental extensions). We may later want to add a
more specific flag, but reusing `-menable-experimental-extensions`
solves the immediate problem.
This is implemented using the new support for marking profiles s
experimental added in #91993 to move the unratified profiles to
RISCVExperimentalProfile and making the necessary changes to logic in
RISCVISAInfo to handle this.
Commit: 80d9ae9cbf692a73404995a88665af7166c7e8ad
https://github.com/llvm/llvm-project/commit/80d9ae9cbf692a73404995a88665af7166c7e8ad
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Fully support Environment construction for Stmt analysis. (#91616)
Assume in fewer places that the analysis is of a `FunctionDecl`, and
initialize the `Environment` properly for `Stmt`s.
Moves constructors for `Environment` to header to make it more obvious
that there are only minor differences between them and very little
initialization in the constructors.
Tested with check-clang-tooling.
Commit: ee765b0c94df7e636d9739216b1646d3a2d3b5db
https://github.com/llvm/llvm-project/commit/ee765b0c94df7e636d9739216b1646d3a2d3b5db
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/Internalize/lists.ll
Log Message:
-----------
[NewPM] Add pass options for `InternalizePass` to preserve GVs. (#91334)
This PR adds a string interface to `InternalizePass`' `MustPreserveGV`
option, which is a callback function to indicate if a GV is not to be
internalized. This is for use in LLVM.jl, the Julia wrapper for LLVM,
which uses the C API and is thus required to use the PassBuilder string
API for building NewPM pipelines.
Commit: ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
https://github.com/llvm/llvm-project/commit/ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
Log Message:
-----------
AMDGPU/gfx12: avoid crashing on legacy waitcnt intrinsics (#92306)
They *are* still accepted by the HW but have a conservative effect.
Leave them untouched since handling them would complicate the logic a
bit, and developers who code to such a low level really need to revisit
what they're doing anyway.
Commit: 81d20d861e48f5202c9f79b47dee244674fb9121
https://github.com/llvm/llvm-project/commit/81d20d861e48f5202c9f79b47dee244674fb9121
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/LegacyAPI.cpp
M offload/src/OpenMP/API.cpp
M offload/src/OpenMP/Mapping.cpp
M offload/src/omptarget.cpp
Log Message:
-----------
[Offload][NFC] Fix warning messages in runtime
Summary:
These are lots of random warnings due to inconsistent initialization or
signedness.
Commit: 83f065d582977aca5c037c27a7290f30850bdd35
https://github.com/llvm/llvm-project/commit/83f065d582977aca5c037c27a7290f30850bdd35
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] static_assert SupportedProfiles and SupportedExperimentalProfiles are sorted
Just as we do for the arrays of extension names.
Commit: e1ed138a67a92ef1ff0214ca198094be13045090
https://github.com/llvm/llvm-project/commit/e1ed138a67a92ef1ff0214ca198094be13045090
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port #92199
Commit: 8530b1c464ae9af4a5c8be145a8db043798634f6
https://github.com/llvm/llvm-project/commit/8530b1c464ae9af4a5c8be145a8db043798634f6
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/source/Core/FormatEntity.cpp
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
Log Message:
-----------
[lldb] Support custom LLVM formatting for variables (#91868)
Re-apply https://github.com/llvm/llvm-project/pull/81196, with a fix that handles the
absence of llvm formatting:
https://github.com/llvm/llvm-project/pull/91868/commits/3ba650e91eded3543764f37921dcce3b
b47d425f
Commit: 1daa7fd3fadd17e61d9dfa56f84228617c5514d9
https://github.com/llvm/llvm-project/commit/1daa7fd3fadd17e61d9dfa56f84228617c5514d9
Author: Amara Emerson <amara at apple.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll
Log Message:
-----------
[AArch64][SME] Remove Darwin compile error for ABI support routine calls.
These are allowed for Darwin and use the same ABI.
Commit: 537a94b2ef67cd96a4b3a9b5612ea726a91c602b
https://github.com/llvm/llvm-project/commit/537a94b2ef67cd96a4b3a9b5612ea726a91c602b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/Internalize/lists.ll
Log Message:
-----------
Revert "[NewPM] Add pass options for `InternalizePass` to preserve GVs." (#92321)
Reverts llvm/llvm-project#91334
This broke the gcc7 build.
I suspect the issue is a mismatch on user-defined move constructor on
the return: `return PreservedGVs;` does not match the return type of the
function.
Commit: f97f039e0bb7bb60c9cc437f678059c5ee19c8da
https://github.com/llvm/llvm-project/commit/f97f039e0bb7bb60c9cc437f678059c5ee19c8da
Author: klensy <klensy at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lld/test/MachO/install-name.s
M lld/test/MachO/objc-methname.s
Log Message:
-----------
[lld,test] Fix few FileCheck annotation typos (#92238)
Commit: 00179e92c147e16de1f7c653f88c8805aef820c1
https://github.com/llvm/llvm-project/commit/00179e92c147e16de1f7c653f88c8805aef820c1
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add new dependencies (#92323)
This also fixes building ... on Linux. Seems like target_compatible_with
isn't enough but you also need a manual tag.
Commit: 050593fc4f9a7f2b9450ee093c4638b8539315b7
https://github.com/llvm/llvm-project/commit/050593fc4f9a7f2b9450ee093c4638b8539315b7
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/coroutine.cpp
Log Message:
-----------
[Coverage] Handle `CoroutineSuspendExpr` correctly (#88898)
This avoids visiting `co_await` or `co_yield` operand 5 times (it is
repeated under transformed awaiter subexpression, and under
`await_ready`, `await_suspend`, and `await_resume` generated call
subexpressions).
Commit: 5ff6c6542ac451daaed6c417e481e313165d3454
https://github.com/llvm/llvm-project/commit/5ff6c6542ac451daaed6c417e481e313165d3454
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/decomposition.cpp
Log Message:
-----------
[Coverage] Handle array decomposition correctly (#88881)
`ArrayInitLoopExpr` AST node has two occurences of its as-written
initializing expression in its subexpressions through a non-unique
`OpaqueValueExpr`. It causes double-visiting of the initializing
expression if not handled explicitly, as discussed in #85837.
Commit: aa889d7783af050ce5d19af67c7225ee119d625e
https://github.com/llvm/llvm-project/commit/aa889d7783af050ce5d19af67c7225ee119d625e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lld/test/ELF/arm-exidx-shared.s
M lld/test/ELF/mips-tls-hilo.s
M lld/test/ELF/ppc32-reloc-rel.s
M lld/test/ELF/ppc64-pcrel-call-to-extern.s
M lld/test/ELF/ppc64-toc-relax-ifunc.s
M lld/test/ELF/riscv-gp.s
Log Message:
-----------
[ELF,test] Fix FileCheck prefixes
Most violations are stale and should be removed while a few can be
adjusted.
Reported at #92238
Commit: 0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
https://github.com/llvm/llvm-project/commit/0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Support publishing to the VSCode market place (#92320)
Update the publisher and add a publish script that we can use from
Github actions.
Commit: e00a3ccf43563209b71c5b68f56d83f4052dca63
https://github.com/llvm/llvm-project/commit/e00a3ccf43563209b71c5b68f56d83f4052dca63
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Semantics/unparse-with-symbols.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/test/Driver/unparse-with-modules.f90
Log Message:
-----------
[flang] New -fdebug-unparse-with-modules option (#91660)
This option is a compilation action that parses a source file and
performs semantic analysis on it, like the existing -fdebug-unparse
option does. Its output, however, is preceded by the effective contents
of all of the non-intrinsic modules on which it depends but does not
define, transitively preceded by the closure of all of those modules'
dependencies.
The output from this option is therefore the analyzed parse tree for a
source file encapsulated with all of its non-intrinsic module
dependencies. This output may be useful for extracting code from large
applications for use as an attachment to a bug report, or as input to a
test case reduction tool for problem isolation.
Commit: 667d12f86e626173726e87e101626a9060b8d967
https://github.com/llvm/llvm-project/commit/667d12f86e626173726e87e101626a9060b8d967
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp
Log Message:
-----------
[Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (#91534)
We do not deduce template arguments from the exception specification
when determining the primary template of a function template
specialization or when taking the address of a function template.
Therefore, this patch changes `isAtLeastAsSpecializedAs` such that we do
not mark template parameters in the exception specification as 'used'
during partial ordering (per [temp.deduct.partial]
p12) to prevent the following from being ambiguous:
```
template<typename T, typename U>
void f(U) noexcept(noexcept(T())); // #1
template<typename T>
void f(T*) noexcept; // #2
template<>
void f<int>(int*) noexcept; // currently ambiguous, selects #2 with this patch applied
```
Although there is no corresponding wording in the standard (see core issue filed here
https://github.com/cplusplus/CWG/issues/537), this seems
to be the intended behavior given the definition of _deduction
substitution loci_ in [temp.deduct.general] p7 (and EDG does the same thing).
Commit: 325d1d0b73aa6bff0ce4174b45a7601f6b32a793
https://github.com/llvm/llvm-project/commit/325d1d0b73aa6bff0ce4174b45a7601f6b32a793
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Semantics/check-purity.cpp
A flang/test/Semantics/pure02.f90
Log Message:
-----------
[flang] Fix purity checking for internal subprograms (#91759)
ELEMENTAL internal subprograms are pure unless explicitly IMPURE.
Commit: c227bf1b217598066acd32de8c9a75c2e0928f89
https://github.com/llvm/llvm-project/commit/c227bf1b217598066acd32de8c9a75c2e0928f89
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
Log Message:
-----------
[clang] Create new warning group for deprecation of '-fno-relaxed-template-template-args' (#92324)
This allows the warning to be disabled in isolation, as it helps when
treating them as errors.
Commit: 7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
https://github.com/llvm/llvm-project/commit/7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/resolve102.f90
Log Message:
-----------
[flang] Always check procedure characterizability (#92008)
When a procedure is defined with a subprogram but never referenced in a
compilation unit, it may not be characterized until lowering, and any
errors in characterization then may crash the compiler. So always ensure
that procedure definitions are characterizable in declaration checking.
Fixes https://github.com/llvm/llvm-project/issues/91845.
Commit: 463f58a564a8d136b3e5d56d23bb86b99ab75245
https://github.com/llvm/llvm-project/commit/463f58a564a8d136b3e5d56d23bb86b99ab75245
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bind-c15.f90
Log Message:
-----------
[flang] Further work on relaxing BIND(C) enforcement (#92029)
When a BIND(C) interface or subprogram has a dummy argument whose
derived type is not BIND(C) but meets the constraints and requirements
of a BIND(C) type, accept it with a warning.
Commit: 5bbb63bd6d6d3929de643fcd88babbda20c97b69
https://github.com/llvm/llvm-project/commit/5bbb63bd6d6d3929de643fcd88babbda20c97b69
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-directives.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-unparse.CUF
A flang/test/Semantics/reduce.cuf
Log Message:
-----------
[flang] Parse REDUCE clauses in !$CUF KERNEL DO (#92154)
A !$CUF KERNEL DO directive is allowed to have advisory REDUCE clauses
similar to those in OpenACC and DO CONCURRENT. Parse and represent them.
Semantic validation will follow.
Commit: 3ddfb6807e905868a3a9df71fa5ea87309181270
https://github.com/llvm/llvm-project/commit/3ddfb6807e905868a3a9df71fa5ea87309181270
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Evaluate/fold.cpp
Log Message:
-----------
[flang] Prevent crash from unfoldable TRANSFER() (#92282)
When the MOLD= argument's type is polymorphic, the type of the result
cannot be known at compilation time, so the call cannot be folded even
when the SOURCE= is constant.
Fixes https://github.com/llvm/llvm-project/issues/92264.
Commit: c87b1ca4edefe3c267a20f28eaf79f6b83d36c66
https://github.com/llvm/llvm-project/commit/c87b1ca4edefe3c267a20f28eaf79f6b83d36c66
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/tools/llvm-profdata/trace-limit.proftext
Log Message:
-----------
[InstrProf] Fix bug when clearing traces with samples (#92310)
The `--temporal-profile-max-trace-length=0` flag in the `llvm-profdata
merge` command is used to remove traces from a profile. There was a bug
where traces would not be cleared if the profile was already sampled.
This patch fixes that.
Commit: c00e012bcf5da384a3e7339dc2e046779b339063
https://github.com/llvm/llvm-project/commit/c00e012bcf5da384a3e7339dc2e046779b339063
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
Log Message:
-----------
[ctx_profile] Follow the pattern elsewhere for choosing the block IDs
This was an oversight in #91859. Using the subblock ID mechanism
other places that use the bitstream APIs (e.g. `BitstreamRemarkSerializer`) use.
Commit: 772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
https://github.com/llvm/llvm-project/commit/772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] Move the chunk update into functions (#83493)
The code paths for mte enabled and disabled were interleaving and which
increases the difficulty of reading each path in both source level and
assembly level. In this change, we move the parts that they have
different logic into functions and minor refactors on the code
structure.
Commit: c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
https://github.com/llvm/llvm-project/commit/c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion
```
.irp foo,1
nop
.endr
nop
```
expands to an excess EOL between two nop lines. Remove the excess EOL.
Commit: 26fabdded34f8cea490060a70188a07ad6b76b8b
https://github.com/llvm/llvm-project/commit/26fabdded34f8cea490060a70188a07ad6b76b8b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Pass FrameIdConverter and CallStackIdConverter by reference (#92327)
CallStackIdConverter sets LastUnmappedId when a mapping failure
occurs. Now, since toMemProfRecord takes an instance of
CallStackIdConverter by value, namely std::function, the caller of
toMemProfRecord never receives the mapping failure that occurs inside
toMemProfRecord. The same problem applies to FrameIdConverter.
The patch fixes the problem by passing FrameIdConverter and
CallStackIdConverter by reference, namely llvm::function_ref.
While I am it, this patch deletes the copy constructor and copy
assignment operator to avoid accidental copies.
Commit: fa750f09be6966de7423ddce1af7d1eaf817182c
https://github.com/llvm/llvm-project/commit/fa750f09be6966de7423ddce1af7d1eaf817182c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
Revert "[MC] Remove UseAssemblerInfoForParsing"
This reverts commit 03c53c69a367008da689f0d2940e2197eb4a955c.
This causes very large compile-time regressions in some cases,
e.g. sqlite3 at O0 regresses by 5%.
Commit: a9763deb2f3f20d789b947ec69360c258377db6a
https://github.com/llvm/llvm-project/commit/a9763deb2f3f20d789b947ec69360c258377db6a
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir
Log Message:
-----------
Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (#90922)
Make sure to merge the sourcelocation of the Dominating Instruction that
is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass.
If this is not done, we can have a incorrect line table entry that makes
the instruction pointer jump around.
For example the line table without this patch looks like:
```
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000 0 0 1 0 0 0 is_stmt
0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end
0x0000000000000028 12 1 1 0 0 0 is_stmt
0x000000000000002c 12 15 1 0 0 0
0x000000000000004c 12 13 1 0 0 0
0x000000000000005c 13 1 1 0 0 0 is_stmt
0x0000000000000064 12 13 1 0 0 0 is_stmt
0x000000000000007c 13 7 1 0 0 0 is_stmt
0x00000000000000c8 13 1 1 0 0 0
0x00000000000000e8 13 1 1 0 0 0 epilogue_begin
0x00000000000000f8 13 1 1 0 0 0 end_sequence
```
The line table entry for 0x000000000000005c should be 0
After this patch, the line table looks like:
```
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000 0 0 1 0 0 0 is_stmt
0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end
0x0000000000000028 12 1 1 0 0 0 is_stmt
0x000000000000002c 12 15 1 0 0 0
0x000000000000004c 12 13 1 0 0 0
0x000000000000005c 0 0 1 0 0 0
0x0000000000000064 12 13 1 0 0 0
0x000000000000007c 13 7 1 0 0 0 is_stmt
0x00000000000000c8 13 1 1 0 0 0
0x00000000000000e8 13 1 1 0 0 0 epilogue_begin
0x00000000000000f8 13 1 1 0 0 0 end_sequence
```
Commit: 72200fcc346bee1830d9e640e42d717a55acd74c
https://github.com/llvm/llvm-project/commit/72200fcc346bee1830d9e640e42d717a55acd74c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Check C++ base or member initializer in WebKit checkers. (#92220)
Co-authored-by: Ryosuke Niwa <rniwa at apple.com>
Commit: f0b3654701bde1cf7821d60698b42383edaff9f3
https://github.com/llvm/llvm-project/commit/f0b3654701bde1cf7821d60698b42383edaff9f3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
Log Message:
-----------
[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)
The znver3/znver4 scheduler models are outliers, specifying very large
LoopMicroOpBufferSizes at 512, while typical values for other subtargets
are on the order of ~50. Even if this information is
micro-architecturally correct (*), this does not mean that we want to
runtime unroll all loops to a size that completely fills the loop
buffer. Unless this is the single hot loop in the entire application,
the massive code size increase will bust the micro-op and instruction
caches.
Protect against this by clamping to the default PartialThreshold of 150,
which is the same as the default full-unroll threshold and half the
aggressive full-unroll threshold. Allowing more partial unrolling than
full unrolling certainly does not make sense.
(*) I strongly doubt that this is actually correct -- I believe this may
derive from an incorrect reading of Agner Fog's micro-architecture
guide. The number 4096 that was originally used here is the size of the
general micro-op cache, not that of a loop buffer. A separate loop
buffer is not listed for the Zen microarchitecture. Comparing this to
the listing for Skylake, it has a 1536 micro-op buffer, but only a 64
micro-op loopback buffer, with a note that it's rarely fully utilized.
Our scheduling model specifies LoopMicroOpBufferSize of 50 in that case.
Commit: f60c699d37c41c46dd0be4ec98e5b4d74e73b2b7
https://github.com/llvm/llvm-project/commit/f60c699d37c41c46dd0be4ec98e5b4d74e73b2b7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix intermediate header locations for OpenMP
Summary:
A previous patch moved the code here and accidentally overrwrote the
include path that the LSP interface used. This caused incorrect errors
when using clangd with the offload project. This patch removes the
unnecessary header and makes sure we include the correct folder.
Commit: 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
https://github.com/llvm/llvm-project/commit/1595988ee6f9732e7ea79928af8a470ad5ef7dbe
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/Frontend/noderef_templates.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92283)
This patch reapplies #90500, addressing a bug which caused binary
operators with dependent operands to be incorrectly rebuilt by
`TreeTransform`.
Commit: 3a4c1b9b4428b08d4475decf74c11e0d328c5842
https://github.com/llvm/llvm-project/commit/3a4c1b9b4428b08d4475decf74c11e0d328c5842
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it (#92218)
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other.
For example,
```
SomeType a = ...;
SomeType b = a;
```
Previously, when we load variable `b`, we need to load the initializer,
then we need to load `a`. We can only mark the variable `b` as loaded
after we load `a`. Then `a` is always initialized before `b`. However,
it is not true after we implement lazy loading for initializers.
So here we try to load the initializers of static variables to make sure
they are passed to code generator by order. If we read any thing
interesting, we would consume that before emitting the current
declaration.
Commit: 1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
https://github.com/llvm/llvm-project/commit/1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
Author: Dhruv Chawla <dhruvc at nvidia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
Log Message:
-----------
[AArch64][GISel] Fold COPY(y:gpr, DUP(x:fpr, i)) -> UMOV(y:gpr, x:fpr, i) (#89017)
This patch adds a peephole to AArch64PostSelectOptimize for codegen
that is caused by RegBankSelect limiting G_EXTRACT_VECTOR_ELT
only to FPR registers in both the input and output registers. This can
cause a generation of COPY from FPR to GPR when, for example, the
output register of the G_EXTRACT_VECTOR_ELT is used in a branch
condition.
This was noticed when looking at codegen differences between SDAG and GI
for the s1279 kernel in the TSVC benchmark.
Commit: 31c903890a905d203de3303eaaa63063754ffbca
https://github.com/llvm/llvm-project/commit/31c903890a905d203de3303eaaa63063754ffbca
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Add additional inbounds preservation tests (NFC)
Adding these for NVPTX because for AMDGPU the problematic -1 case
does not get reordered in the first place.
Commit: b4d1a606c7492d827aff6ff0c1c109adff1253b9
https://github.com/llvm/llvm-project/commit/b4d1a606c7492d827aff6ff0c1c109adff1253b9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Check correct index for non-negativity
We were checking the index of GEP twice, instead of checking both
GEP and PtrGEP.
Commit: 83e61d03deaaa8f4dd8395cfa753af7b38f74b24
https://github.com/llvm/llvm-project/commit/83e61d03deaaa8f4dd8395cfa753af7b38f74b24
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Add tests for multiple indices (NFC)
Commit: e91ea1b5d88805ebf7657da57ca6a7577374e4ad
https://github.com/llvm/llvm-project/commit/e91ea1b5d88805ebf7657da57ca6a7577374e4ad
Author: Jim M. R. Teichgräber <a at teichgraeber.digital>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/C/C2x/n2900_n3011.c
M clang/test/C/C2x/n2900_n3011_2.c
M clang/test/Sema/compound-literal.c
Log Message:
-----------
[Clang] Disallow VLA type compound literals (#91891)
C99-C23 6.5.2.5 says: The type name shall specify an object type or an
array of unknown size, but not a variable length array type.
Fixes #89835.
Commit: 90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
https://github.com/llvm/llvm-project/commit/90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
Log Message:
-----------
[MCAsmParser] Simplify. NFC
Commit: ce961c5607dd5c2d181117938720e410b406a49f
https://github.com/llvm/llvm-project/commit/ce961c5607dd5c2d181117938720e410b406a49f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
Log Message:
-----------
[lldb] Fixed the TestFdLeak test (#92273)
Use `os.devnull` instead of `/dev/null`.
Commit: b11a6607cb6522c58dfbd5f54239e7daa281368e
https://github.com/llvm/llvm-project/commit/b11a6607cb6522c58dfbd5f54239e7daa281368e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format][NFC] Reformat with 18.1.5
Commit: 526553b25131a69d9d6426e17c7b69c2ba27144f
https://github.com/llvm/llvm-project/commit/526553b25131a69d9d6426e17c7b69c2ba27144f
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/loop01.fir
M flang/test/Lower/array-substring.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Add nsw flag to do-variable increment with a new option (#91579)
This patch adds nsw flag to the increment of do-variables when a new
option is enabled.
NOTE 11.10 in the Fortran 2018 standard says they never overflow.
See also the discussion in #74709 and the following discourse post.
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/5
Commit: 3cc445a6608dc0e88f7d5f16501ef827199cf0c4
https://github.com/llvm/llvm-project/commit/3cc445a6608dc0e88f7d5f16501ef827199cf0c4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
[MCAsmParser] Simplify expandMacro
The error checking is only for .macro directives. Move it to the .macro
parser to remove one parameter.
Commit: 245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
https://github.com/llvm/llvm-project/commit/245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
A flang/test/Semantics/etime.f90
Log Message:
-----------
[flang] Add ETIME runtime and lowering intrinsics implementation (#90578)
This patch add support of intrinsics GNU extension ETIME
https://github.com/llvm/llvm-project/issues/84205. Some usage info and
example has been added to `flang/docs/Intrinsics.md`. The patch contains
both the lowering and the runtime code and works on both Windows and
Linux.
| System | Implmentation |
|-----------|--------------------|
| Windows| GetProcessTimes |
| Linux |times |
Commit: f2d74002fdad2171b62392eaedf38aac7e4fb50d
https://github.com/llvm/llvm-project/commit/f2d74002fdad2171b62392eaedf38aac7e4fb50d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
Log Message:
-----------
[LegalizeVectorOps][X86] Add ISD::ABDS/ABSDU to the list of opcodes handled by LegalizeVectorOps. (#92332)
The expand code is present, but we were missing the type query code
so the nodes would be ignored until LegalizeDAG.
Commit: 487b43cdc9fff9e370b8ea948c0cc19ca817aa86
https://github.com/llvm/llvm-project/commit/487b43cdc9fff9e370b8ea948c0cc19ca817aa86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[RISCV] Pass subvector type to isLegalInterleavedAccessType in getInterleavedMemoryOpCost. (#91825)
isLegalInterleavedAccessType expects the subvector type, but
getInterleavedMemoryOpCost is called with the full vector type. So we
need to divide by Factor.
Commit: 6bf185920bd6831efc151d7d4158d6390006c50b
https://github.com/llvm/llvm-project/commit/6bf185920bd6831efc151d7d4158d6390006c50b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC] Support visionOS in LC_BUILD_VERSIONs for JITDylibs.
rdar://127846581
Commit: 566fbb450092bf8c9f966a6ab1b0381626e3e535
https://github.com/llvm/llvm-project/commit/566fbb450092bf8c9f966a6ab1b0381626e3e535
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV] Defer creating RISCVInsertVSETVLI to avoid leak with -stop-after (#92303)
As noted in
https://github.com/llvm/llvm-project/pull/91440#discussion_r1601976425,
if the pass pipeline stops early because of -stop-after any allocated
passes added with insertPass will not be freed if they haven't already
been added.
This was showing up as a failure on the address sanitizer buildbots. We
can fix it by instead passing the pass ID instead so that allocation is
deferred.
Commit: 70a926cfb1d4af326be5afe6419991aeff8f44b2
https://github.com/llvm/llvm-project/commit/70a926cfb1d4af326be5afe6419991aeff8f44b2
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] NFC: Add a few more interesting test cases for CWG2398
Commit: 5bd8091f4bde53de48329e14d5b955314e6518f4
https://github.com/llvm/llvm-project/commit/5bd8091f4bde53de48329e14d5b955314e6518f4
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R mlir/docs/Dialects/Polynomial.md
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[mlir] fix polynomial docs for MLIR website (#92348)
I built it and confirmed this fixes the issue locally.
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: afce597baa9c6cf46feb30aba97cf832bff32673
https://github.com/llvm/llvm-project/commit/afce597baa9c6cf46feb30aba97cf832bff32673
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt
Log Message:
-----------
[mlir] fix IRDL dialect docs (#92349)
Currently the irdl dialect page has no content beyond the header.
By referring to the Ops.td in the CMake config, it pulls in all the
types, attributes, etc., so that the doc generation can include them all
in the page.
Rendered locally to confirm it fixes the issue
![image](https://github.com/llvm/llvm-project/assets/2467754/8758f324-6bc3-4f0e-8fa9-8962cdb0177f)
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 3c2638dae58466f7eb4384bb7f26c9af904bf94c
https://github.com/llvm/llvm-project/commit/3c2638dae58466f7eb4384bb7f26c9af904bf94c
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
R clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
Revert "[Serialization] Read the initializer for interesting static variables before consuming it (#92218)"
This reverts commit 3a4c1b9b4428b08d4475decf74c11e0d328c5842.
This breaks a bot on clang-s390x-linux
Commit: 5c35b63da3c2e3c773580f748129fdec76354ede
https://github.com/llvm/llvm-project/commit/5c35b63da3c2e3c773580f748129fdec76354ede
Author: William G Hatch <william at hatch.uno>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] add dwarfAddressSpace to DIDerivedType (#92043)
This field is present in LLVM, but was missing from the MLIR wrapper
type. This addition allows MLIR languages to add proper DWARF info for
GPU programs.
Commit: 6706aebefac3c89d8df55bade022f3aeb55cfeb9
https://github.com/llvm/llvm-project/commit/6706aebefac3c89d8df55bade022f3aeb55cfeb9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
R flang/test/Lower/Intrinsics/etime-function.f90
R flang/test/Lower/Intrinsics/etime.f90
R flang/test/Semantics/etime.f90
Log Message:
-----------
Revert "[flang] Add ETIME runtime and lowering intrinsics implementation" (#92354)
Reverts llvm/llvm-project#90578
This broke the premerge linux buildbot.
Commit: 45cc6bdea97be10793e4cd5f0ef11abd9d19adea
https://github.com/llvm/llvm-project/commit/45cc6bdea97be10793e4cd5f0ef11abd9d19adea
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M .github/CODEOWNERS
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_shufflevector
Commit: e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
https://github.com/llvm/llvm-project/commit/e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add keith back to bazel codeowners
Wrongly removed in 45cc6bdea97be10793e4cd5f0ef11abd9d19adea.
Commit: 7c956293d856224dd6a1b633820ef53009f7ef1c
https://github.com/llvm/llvm-project/commit/7c956293d856224dd6a1b633820ef53009f7ef1c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmMacro.h
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s
Log Message:
-----------
MCAsmParser: Support \+
In .macro, \+ expands to the per-macro invocation count.
https://sourceware.org/pipermail/binutils/2024-May/134009.html
\+ counts from 0 for .irp/.irpc/.rept .
Note: We currently prints \q for `.print "\q"` while gas doesn't. This
patch does not change this behavior.
Commit: 89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
https://github.com/llvm/llvm-project/commit/89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[Flang][OpenMP] Fix update operation not found issue (#92165)
If there is only one non-terminator operation in the update region then
the update operation can be found and we can try to generate an
atomicrmw instruction. Otherwise use the cmpxchg loop.
Fixes #91929
Commit: ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
https://github.com/llvm/llvm-project/commit/ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/test/ELF/aarch64-reloc-pauth.s
Log Message:
-----------
[lld][AArch64][ELF][PAC] Support `.relr.auth.dyn` section (#87635)
Support `R_AARCH64_AUTH_RELATIVE` relocation compression as described in
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#relocation-compression
Commit: ce1ce5d30c7696fddcb0c040909a9b786fe7cb06
https://github.com/llvm/llvm-project/commit/ce1ce5d30c7696fddcb0c040909a9b786fe7cb06
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/pow-1.ll
Log Message:
-----------
InstCombine: Try to use exp10 intrinsic instead of libcall (#92287)
Addresses old TODO about the exp10 intrinsic not existing.
Commit: b5107bdda332234d632c9749e01d60dd0f01bf39
https://github.com/llvm/llvm-project/commit/b5107bdda332234d632c9749e01d60dd0f01bf39
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
Log Message:
-----------
[mlir][ArmSME] Verify ops on tile types post LLVM conversion (#92076)
Unsupported ops on tile types can become dead after
`-convert-arm-sme-to-llvm` resulting in incorrect results. Verify such
operations don't exist post-conversion and fail if they do.
Based on discussion from
https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543
Commit: 8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
https://github.com/llvm/llvm-project/commit/8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
SimplifyLibCalls: Use IRBuilder helpers for creating intrinsics (#92288)
Commit: de483ad513895c0adf7f21c7001c30f031998ea3
https://github.com/llvm/llvm-project/commit/de483ad513895c0adf7f21c7001c30f031998ea3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Deprecate StringRef::equals (#92351)
This patch deprecates StringRef::equals. Note that I've migrated all
known users to operator==(StringRef, StringRef).
Commit: 8f711aa32488beb3382de101a290e11b41ceb876
https://github.com/llvm/llvm-project/commit/8f711aa32488beb3382de101a290e11b41ceb876
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][test] `__cpp_lib_within_lifetime` -> `__cpp_lib_is_within_lifetime` (#91896)
The feature test macro was renamed when
[P2641R4](https://wg21.link/P2641R4) was adopted into the standard:
https://github.com/cplusplus/draft/commit/0facada4cadd97e1ba15bfaea76a804f1dc5c309
https://wg21.link/version.syn#lib:__cpp_lib_is_constant_evaluated
Commit: dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
https://github.com/llvm/llvm-project/commit/dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fold pack-unpack with unbalanced outer_dims_perm attr (#92234)
Extends pack/unpack perm attribute checker to account for cases when the
optional outer_dims_perm attribute might be missing in one operation and
the other one has explicit identity permutation. This enables
canonicalizer to fold more unpack(pack(x)) variants.
Commit: cd5ee2715e89ad31982f91cc85fc3939977f2f4e
https://github.com/llvm/llvm-project/commit/cd5ee2715e89ad31982f91cc85fc3939977f2f4e
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
[reland][flang] Initial debug info support for local variables (#92304)
This is same as #90905 with an added fix. The issue was that we
generated variable info even when user asked for line-tables-only. This
caused llvm dwarf generation code to fail an assertion as it expected an
empty variable list.
Fixed by not generating debug info for variables when user wants only
line table. I also updated a test check for this case.
Commit: 0ea178b085ba386d9d7bfea5afa072aa37f633fd
https://github.com/llvm/llvm-project/commit/0ea178b085ba386d9d7bfea5afa072aa37f633fd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/exp2-1.ll
M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
Log Message:
-----------
SimplifyLibCalls: Emit vector ldexp intrinsics in exp2->ldexp combine (#92219)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 710f4bd054a857dd25012c9fef0cb66104f17ec0
https://github.com/llvm/llvm-project/commit/710f4bd054a857dd25012c9fef0cb66104f17ec0
Author: Alex Zinenko <ftynse at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
Log Message:
-----------
[mlir] add missing include to MemRefTransformOps.h
The ODS-generated code has the following:
```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
*getODSOperands(0).begin());
}
```
that may require the compiler seing the definition of `OperationType` so
include the corresponding header.
Commit: 51403ada789e63e98e0dd5ac0ceba351465490d1
https://github.com/llvm/llvm-project/commit/51403ada789e63e98e0dd5ac0ceba351465490d1
Author: Alex Zinenko <ftynse at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/docs/Dialects/Transform.md
Log Message:
-----------
[mlir] fix orphaned IRDLExtensionOps documentation
.md files should be included into other .md files so they don't show up in the
top-level menu.
Commit: 72a895336b1e4df1ec2f485f8786ead6c356edb8
https://github.com/llvm/llvm-project/commit/72a895336b1e4df1ec2f485f8786ead6c356edb8
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] move ArchInfo into tablegen [NFC] (#92037)
This moves the architecture version, profile and extension information
into tablegen, and generates the TargetParser ArchInfo objects from
this data.
There are two lists of "dependencies" defined for each architecture: the
SubtargetFeature::Implies which controls which features are
automatically enabled in the backend when the corresponding architecture
SubtargetFeature is enabled; and the list of Extensions which are
enabled by default for this architecture. As far as I can tell, the idea
here is that the SubtargetFeature models the mandatory dependencies (although
they can still be disabled if desired) while the default extensions models
the typical use case for that architecture.
Commit: ca02f36bacaec58071a26ff65329fbab5526d1d7
https://github.com/llvm/llvm-project/commit/ca02f36bacaec58071a26ff65329fbab5526d1d7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
Log Message:
-----------
[mlir][vector] Teach `TransferOptimization` to forward masked stores (#87794)
This only handles one case (that's fairly common in practice*), storing
a masked constant splat, then reloading again with the same mask and a
padding value that matches the splat.
* For SVE/SME (without peeling) this occurs when you have a
`linalg.fill` preceding a `linalg.matmul`.
Commit: 30410018d32b2cc19552c6d6a3b7b6de84d99382
https://github.com/llvm/llvm-project/commit/30410018d32b2cc19552c6d6a3b7b6de84d99382
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
A llvm/test/CodeGen/LoongArch/target-abi.ll
Log Message:
-----------
[LoongArch] Enable all -target-abi options
This is a pre-commit for modifying `computeTargetABI` logic.
This patch will provide warning prompts when using those ABIs that have
not yet been standardized.
Reviewed By: xen0n, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92222
Commit: 70608c24fae8943cb93276db4d0358722705507b
https://github.com/llvm/llvm-project/commit/70608c24fae8943cb93276db4d0358722705507b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
Log Message:
-----------
[LoongArch] Refactor LoongArchABI::computeTargetABI
The previous logic did not consider whether the architectural features
meet the requirements of the ABI, resulting in the generation of
incorrect object files in some cases. For example:
```
llc -mtriple=loongarch64 -filetype=obj test/CodeGen/LoongArch/ir-instruction/fadd.ll -o t.o
llvm-readelf -h t.o
```
The object file indicates the ABI as lp64d, however, the generated code
is lp64s.
The new logic introduces the `feature-implied` ABI. When both target-abi
and triple-implied ABI are invalid, the feature-implied ABI is used.
Reviewed By: SixWeining, xen0n
Pull Request: https://github.com/llvm/llvm-project/pull/92223
Commit: 53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
https://github.com/llvm/llvm-project/commit/53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix bazel build.
Commit: cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
https://github.com/llvm/llvm-project/commit/cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lld/test/ELF/emulation-loongarch.s
Log Message:
-----------
[lld][test] Fix test failure after #92223
https://lab.llvm.org/buildbot/#/builders/272/builds/16745
Commit: 90d2f8c630e1ddddd034e4a0e575929c08dd26bf
https://github.com/llvm/llvm-project/commit/90d2f8c630e1ddddd034e4a0e575929c08dd26bf
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
Log Message:
-----------
[mlir][vector] Teach `TransferOptimization` to look through trivial aliases (#87805)
This allows `TransferOptimization` to eliminate and forward stores that
are to trivial aliases (rather than just to identical memref values).
A trivial aliases is (currently) defined as:
1. A `memref.cast`
2. A `memref.subview` with a zero offset and unit strides
3. A chain of 1 and 2
Commit: 1795fa58bac5092f758bf27e1b27a2b333307bab
https://github.com/llvm/llvm-project/commit/1795fa58bac5092f758bf27e1b27a2b333307bab
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[NFC] Update example in comment
Commit: 5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
https://github.com/llvm/llvm-project/commit/5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
Log Message:
-----------
[analyzer] Clean up list of taint propagation functions (#91635)
This commit refactors GenericTaintChecker and performs various
improvements in the list of taint propagation functions:
1. The matching mode (usually `CDM::CLibrary` or
`CDM::CLibraryMaybeHardened`) was specified to avoid matching e.g. C++
methods or functions from a user-defined namespace that happen to share
the name of a well-known library function.
2. With these matching modes, a `CallDescription` can automatically
match builtin variants of the functions, so entries that explicitly
specified a builtin function were removed. This eliminated
inconsistencies where the "normal" and the builtin variant of the same
function was handled differently (e.g. `__builtin_strlcat` was covered,
while plain `strlcat` wasn't; while `__builtin_memcpy` and `memcpy` were
both on the list with different propagation rules).
3. The modeling of the functions `strlcat` and `strncat` was updated to
propagate taint from the first argument (index 0), because a tainted
string should remain tainted even if we append something else to it.
Note that this was already applied to `strcat` and `wcsncat` by commit
6ceb1c0ef9f544be0eed65e46cc7d99941a001bf.
4. Some functions were updated to propagate taint from a size/length
argument to the result: e.g. `memcmp(p, q, get_tainted_int())` will now
return a tainted value (because the attacker can manipulate it). This
principle was already present in some propagation rules (e.g.
`__builtin_memcpy` was handled this way), and even after this commit
there are still some functions where it isn't applied. (I only aimed for
consistency within the same function family.)
5. Functions that have hardened `__FOO_chk()` variants are matched in
`CDM:CLibraryMaybeHardened` to ensure consistent handling of the
"normal" and the hardened variant. I added special handling for the
hardened variants of "sprintf" and "snprintf" because there the extra
parameters are inserted into the middle of the parameter list.
6. Modeling of `sscanf_s` was added, to complete the group of `fscanf`,
`fscanf_s` and `sscanf`.
7. The `Source()` specifications for `gets`, `gets_s` and `wgetch` were
ill-formed: they were specifying variadic arguments starting at argument
index `ReturnValueIndex`. (That is, in addition to the return value they
were propagating taint to all arguments.)
8. Functions that were related to each other were grouped together. (I
know that this makes the diff harder to read, but I felt that the full
list is unreadable without some reorganization.)
9. I spotted and removed some redundant curly braces. Perhaps would be
good to switch to a cleaner layout with less nested braces...
10. I updated some obsolete comments and added two TODOs for issues that
should be fixed in followup commits.
Commit: 83974a4b92d1fd33b8e21d7a868862893d9430e9
https://github.com/llvm/llvm-project/commit/83974a4b92d1fd33b8e21d7a868862893d9430e9
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
Log Message:
-----------
Revert "[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)"
This reverts commit f0b3654701bde1cf7821d60698b42383edaff9f3.
This commit triggers UB by reading an uninitialized variable.
`UP.PartialThreshold` is used uninitialized in `getUnrollingPreferences()` when
it is called from `LoopVectorizationPlanner::executePlan()`. In this case the
`UP` variable is created on the stack and its fields are not initialized.
```
==8802==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x557c0b081b99 in llvm::BasicTTIImplBase<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h
#1 0x557c0b07a40c in llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h:2277:17
#2 0x557c0f5d69ee in llvm::TargetTransformInfo::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) const llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp:387:19
#3 0x557c0e6b96a0 in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7624:7
#4 0x557c0e6e4b63 in llvm::LoopVectorizePass::processLoop(llvm::Loop*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10253:13
#5 0x557c0e6f2429 in llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10344:30
#6 0x557c0e6f2f97 in llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10383:9
[...]
Uninitialized value was created by an allocation of 'UP' in the stack frame
#0 0x557c0e6b961e in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7623:3
```
Commit: ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
https://github.com/llvm/llvm-project/commit/ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/AST/ast-dump-expr.cpp
Log Message:
-----------
[clang] Fix CXXNewExpr end source location for 'new struct S' (#92266)
Currently, `new struct S` fails to set any valid end source location
because the token corresponding to `S` is consumed in
`ParseClassSpecifier` and is not accessible in the
`ParseDeclarationSpecifiers` that normally sets the end source location.
Fixes #35300
Commit: 239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
https://github.com/llvm/llvm-project/commit/239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/AST/RecursiveASTVisitor.h
A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
Log Message:
-----------
[AST] RecursiveASTVisitor: Don't traverse the alias deduction guides in the default mode. (#91454)
By default (`shouldVisitImplicitCode()` returns `false`), RAV should not
traverse AST nodes that are not spelled in the source code. Deduction
guides for alias templates are always synthesized, so they should not be
traversed.
This is usually done by checking the implicit bit of the Decl. However,
this doesn't work deduction guides that are synthesized from explicit
user-defined deduction guides, as we must maintain the explicit bit to
ensure correct overload resolution.
Commit: a9605730a481707623358d3b12220f05cfdc50a8
https://github.com/llvm/llvm-project/commit/a9605730a481707623358d3b12220f05cfdc50a8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/TypeTraits.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[clang] CTAD: implement the missing IsDeducible constraint for alias templates (#89358)
Fixes https://github.com/llvm/llvm-project/issues/85192
Fixes https://github.com/llvm/llvm-project/issues/84492
This patch implements the "IsDeducible" constraint where the template
arguments of the alias template can be deduced from the returned type of
the synthesized deduction guide, per C++ [over.match.class.deduct]p4. In
the implementation, we perform the deduction directly, which is more
efficient than the way specified in the standard.
Also update relevant CTAD tests which were incorrectly compiled due to
the missing constraint.
Commit: 46bc54f4e688870da8356a9b85257ffb12d47e1f
https://github.com/llvm/llvm-project/commit/46bc54f4e688870da8356a9b85257ffb12d47e1f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Fix assertion failure when `computeKnownFPClass` returns fcNone (#92355)
Fixes
https://github.com/llvm/llvm-project/pull/92084#issuecomment-2114083188.
Commit: 0bc1ec5cda8d68a681534bda9fd121b7f58fb495
https://github.com/llvm/llvm-project/commit/0bc1ec5cda8d68a681534bda9fd121b7f58fb495
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Reduce KnownBits usage in matcher combines (#92381)
Two icmp/and combines forced computation of KnownBits on all operands
everytime. We can avoid computing KnownBits on the LHS by exploiting a
couple of properties:
- Constants are always on the RHS for those instructions. If we have no
KnownBits on the RHS, we can bail out early and avoid computing LHS
knownbits.
- For icmp uge/ult 0, we don't need to know the KBs of the LHS to infer
the result
This allows to save some KnownBits calls, which are very expensive,
without affecting codegen.
Commit: 7d81062352f75cf328d91d4900af52c1842b950e
https://github.com/llvm/llvm-project/commit/7d81062352f75cf328d91d4900af52c1842b950e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/test/TableGen/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitterHwModes.td
M llvm/utils/TableGen/Common/CMakeLists.txt
M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Refactor Combiner MatchData & Apply C++ Code Handling (#92239)
Combiners that use C++ code in their "apply" pattern only use that. They
never mix it with MIR patterns as that has little added value.
This patch restricts C++ apply code so that if C++ is used, we cannot
use MIR patterns or builtins with it. Adding this restriction allows us
to merge calls to match and apply C++ code together, which in turns
makes it so we can just have MatchData variables on the stack.
So before, we would have
```
GIM_CheckCxxInsnPredicate // match
GIM_CheckCxxInsnPredicate // apply
GIR_Done
```
Alongside a massive C++ struct holding the MatchData of all rules
possible (which was a big space/perf issue).
Now we just have
```
GIR_DoneWithCustomAction
```
And the function being ran just does
```
unsigned SomeMatchData;
if (match(SomeMatchData))
apply(SomeMatchData)
```
This approach solves multiple issues in one:
- MatchData handling is greatly simplified and more efficient, "don't
pay for what you don't use"
- We reduce the size of the match table
- Calling C++ code has a certain overhead (we need a switch), and this
overhead is only paid once now.
Handling of C++ code inside PatFrags is unchanged though, that still
emits a `GIM_CheckCxxInsnPredicate`. This is completely fine as they
can't use MatchDatas.
Commit: cf92e51f5b66afc315f2b43c238291ca87a5602e
https://github.com/llvm/llvm-project/commit/cf92e51f5b66afc315f2b43c238291ca87a5602e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn build] Port 7d81062352f7
Commit: 311339e25cd4d431902f93b1cbc6b67ac3fd2abf
https://github.com/llvm/llvm-project/commit/311339e25cd4d431902f93b1cbc6b67ac3fd2abf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - ISD::AND - only request DemandedElts when looking for a splat constant
Limit the isConstOrConstSplat call to the vector elements we care about
Noticed while investigating regressions in #92096
Commit: fdaad738753cde2bba6480c2ee5d1e9fb45064b9
https://github.com/llvm/llvm-project/commit/fdaad738753cde2bba6480c2ee5d1e9fb45064b9
Author: XChy <xxs_chy at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
A llvm/test/Transforms/Reg2Mem/callbr-crash.ll
Log Message:
-----------
[Reg2Mem] Handle CallBr instructions (#90953)
Fixes #90900
Commit: 911207338add39b8439a09fd7f9d97bbe4a335bd
https://github.com/llvm/llvm-project/commit/911207338add39b8439a09fd7f9d97bbe4a335bd
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Bindings/llvm-c/debug_info.ll
A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-c-test/main.c
Log Message:
-----------
[RemoveDIs][NFC] Fix rotten green C API test (#92362)
`llvm_test_dibuilder(/*NewDebugInfoMode=*/true)` isn't currently executed in
`return llvm_test_dibuilder(false) && llvm_test_dibuilder(true);`
because `llvm_test_dibuilder` returns 0 for success.
Split the llvm-c-test flag `--test-dibuilder` into two, one for the old and
one for the new debug info format. Add another lit test for the new format.
Now that the test actually runs, it crashes using the new format with
`llvm/lib/IR/LLVMContextImpl.cpp:53:llvm::LLVMContextImpl::~LLVMContextImpl(): Assertion 'TrailingDbgRecords.empty() && "DbgRecords in blocks not cleaned"' failed. Aborted`.
Insert terminators into the blocks so that we don't leave the debug records
trailing, unattached to any instructions, which fixes that.
Commit: 03d8e613911bdef52fec23924a4e5b4235997bb8
https://github.com/llvm/llvm-project/commit/03d8e613911bdef52fec23924a4e5b4235997bb8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[Transforms] Fix -Wsign-compare in DemoteRegToStack.cpp (NFC)
llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:54:23:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
for (int i = 0; i < CBI->getNumSuccessors(); i++) {
~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: 99de3a685170c24208b00ef83fe0416373387acc
https://github.com/llvm/llvm-project/commit/99de3a685170c24208b00ef83fe0416373387acc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
A llvm/docs/vplan-scope.png
A llvm/docs/vplan-transform-pipeline.png
Log Message:
-----------
[VPlan] Document current status. (#85689)
Update VectorizationPlan.rst to include a section about the current
status of VPlan and its use in LoopVectorize, based on "VPlan: Status
Update and Future Roadmap", LLVM Developers’ Meeting 2023,
https://www.youtube.com/watch?v=SzGP4PgMuLE
PR: https://github.com/llvm/llvm-project/pull/85689
Commit: 7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
https://github.com/llvm/llvm-project/commit/7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
Author: David Truby <david.truby at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
A clang/test/Driver/flang/msvc-link.f90
Log Message:
-----------
[clang][flang][windows] Prefer user-provided library paths (-L) (#90758)
Currently the paths to compiler-rt and the Flang runtimes from the LLVM
build/install directory are preferred over any user-provided library
paths. This means a user can't override compiler-rt or the Flang
runtimes with custom versions.
This patch changes the link order to prefer library paths specified with
-L over the LLVM paths. This matches the behaviour of clang and flang on
Linux.
Commit: 7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
https://github.com/llvm/llvm-project/commit/7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Remove unnecessary `Fortran::` qualification, NFC (#92298)
The `Fortran::` namespace is redundant for all parts of the code in this
PR, except for names of functions in their definitions.
Commit: 2bc9af96567eeda1effdf0cb7662511d896fb386
https://github.com/llvm/llvm-project/commit/2bc9af96567eeda1effdf0cb7662511d896fb386
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
Log Message:
-----------
[lldb][Windows] Disable the TestGdbRemoteLibrariesSvr4Support test for Windows host (#92341)
Windows does not allow quotes in file names. So it is impossible to
build `libsvr4lib_b".so` on Windows.
Commit: 588ce34ba626a369a416b883342af48c69e70925
https://github.com/llvm/llvm-project/commit/588ce34ba626a369a416b883342af48c69e70925
Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
Log Message:
-----------
[libc++][z/OS] Fixup two linear_congruential_engine tests (#92261)
Commit: e948da1021b207dbcee9ed484ccb3409c2295561
https://github.com/llvm/llvm-project/commit/e948da1021b207dbcee9ed484ccb3409c2295561
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[Transforms] Fix -Wunused-variable in DemoteRegToStack.cpp (NFC)
llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:58:21:
error: unused variable 'BB' [-Werror,-Wunused-variable]
BasicBlock *BB = SplitCriticalEdge(II, i);
^
1 error generated.
Commit: 80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
https://github.com/llvm/llvm-project/commit/80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/rot32.ll
Log Message:
-----------
[X86] rot32.ll - remove old shld check prefixes
This was missed in 8dbd745b09c9f65fefc2ffac14e8f7f288766861
Commit: 44eded31e0bd5739391298497affe3412e4091aa
https://github.com/llvm/llvm-project/commit/44eded31e0bd5739391298497affe3412e4091aa
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Move TestBase.runCmd() to the Base class (#92252)
runCmd() is called from Base.getCPUInfo() but implemented only in
TestBase(Base). Usually it works if TestBase is used. But call
getCPUInfo() from a class based on Base will cause something like
```
File "E:\projects\llvm-nino\lldb\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 1256, in getCPUInfo
self.runCmd('platform get-file "/proc/cpuinfo" ' + cpuinfo_path)
AttributeError: 'TestGdbRemoteExpeditedRegisters' object has no attribute 'runCmd'
```
BTW, TestBase.setUp() called runCmd() before applying
LLDB_MAX_LAUNCH_COUNT and LLDB_TIME_WAIT_NEXT_LAUNCH.
This patch fixes the test TestGdbRemoteExpeditedRegisters in case of
Windows host and Linux target.
Commit: f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
https://github.com/llvm/llvm-project/commit/f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
Log Message:
-----------
[AArch64] Add intrinsics for bfloat16 min/max/minnm/maxnm (#90105)
According to specifications in
[ARM-software/acle/pull/309](https://github.com/ARM-software/acle/pull/309)
Add following intrinsics:
```
// svmax single,multi
svbfloat16x2_t svmax_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmax_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmax_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmax_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
```
// svmin single,multi
svbfloat16x2_t svmin_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmin_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmin_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmin_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
```
// svmaxnm single,multi
svbfloat16x2_t svmaxnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmaxnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmaxnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmaxnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
```
// svminnm single,multi
svbfloat16x2_t svminnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svminnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svminnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svminnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
- Variations other than bfloat16 are already supported.
Commit: af57ad6536c7df19e6df7217d9d976067fdaf882
https://github.com/llvm/llvm-project/commit/af57ad6536c7df19e6df7217d9d976067fdaf882
Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/include/__algorithm/simd_utils.h
Log Message:
-----------
[libc++][z/OS] Correct a definition of __native_vector_size (#91995)
Fix `std/ranges/range.adaptors/range.lazy.split/general.pass.cpp` which
started failing on z/OS after this
[commit](https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0af).
This test case is passing on other platforms such as AIX. This is
because the `__ALTIVEC__` macro is defined and `__mismatch` under
`_LIBCPP_VECTORIZE_ALGORITHMS` guard is compiled out. However, on z/OS
`_LIBCPP_VECTORIZE_ALGORITHMS` is defined. Analyzing the algorithm of
`__mismatch` shows that the culprit is the definition of
`__native_vector_size` which was defined wrongly as 1. This PR corrects
the definition of `__native_vector_size` and fixes the affected test.
Commit: 4a5dffc67499640c71357d8f3f49edc97af5482f
https://github.com/llvm/llvm-project/commit/4a5dffc67499640c71357d8f3f49edc97af5482f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
Log Message:
-----------
[CodeGen][ARM64EC][NFC] Add ARM64EC alias symbols test. (#92100)
Commit: 54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
https://github.com/llvm/llvm-project/commit/54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
Log Message:
-----------
[X86] Reduce znver3/4 LoopMicroOpBufferSize to practical loop unrolling values (#91340)
The znver3/4 scheduler models have previously associated the LoopMicroOpBufferSize with the maximum size of their op caches, and when this led to quadratic complexity issues this were reduced to a value of 512 uops, based mainly on compilation time and not its effectiveness on runtime performance.
>From a runtime performance POV, a large LoopMicroOpBufferSize leads to a higher number of loop unrolls, meaning the cpu has to rely on the frontend decode rate (4 ins/cy max) for much longer to fill the op cache before looping begins and we make use of the faster op cache rate (8/9 ops/cy).
This patch proposes we instead cap the size of the LoopMicroOpBufferSize based off the maximum rate from the op cache (znver3 = 8op/cy, znver4 = 9op/cy) and the branch misprediction penalty from the opcache (~12cy) as a estimate of the useful number of ops we can unroll a loop by before mispredictions are likely to cause stalls. This isn't a perfect metric, but does try to be closer to the spirit of how we use LoopMicroOpBufferSize in the compiler vs the size of a similar naming buffer in the cpu.
Commit: 93c02b7dc3bd07d3d62b56cb3299288901205f3a
https://github.com/llvm/llvm-project/commit/93c02b7dc3bd07d3d62b56cb3299288901205f3a
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
Log Message:
-----------
[CodeGen][ARM64EC] Use MCSymbolRefExpr::VK_None for function aliases. (#92100)
Commit: c675a58edec6d1a876a0d0e7d261f74764855b38
https://github.com/llvm/llvm-project/commit/c675a58edec6d1a876a0d0e7d261f74764855b38
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen][SubtargetEmitter] Early exit from loop in FindWriteResources and FindReadAdvance (#92202)
This gives us a 30% speed improvement in our downstream.
Commit: 6c7ec6e1e6646fb334064bda6f301fdb52390d9b
https://github.com/llvm/llvm-project/commit/6c7ec6e1e6646fb334064bda6f301fdb52390d9b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
Log Message:
-----------
[mlir][ArmSME] Remove empty line in test (NFC) (#92404)
Commit: 74a87548e5b62881108e6cd1fd63b45580fc3097
https://github.com/llvm/llvm-project/commit/74a87548e5b62881108e6cd1fd63b45580fc3097
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
Log Message:
-----------
[flang][MLIR][OpenMP] make reduction by-ref toggled per variable (#92244)
Fixes #88935
Toggling reduction by-ref broke when multiple reduction clauses were
used. Decisions made for the by-ref status for later clauses could then
invalidate decisions for earlier clauses. For example,
```
reduction(+:scalar,scalar2) reduction(+:array)
```
The first clause would choose by value reduction and generate by-value
reduction regions, but then after this the second clause would force
by-ref to support the array argument. But by the time the second clause
is processed, the first clause has already had the wrong kind of
reduction regions generated.
This is solved by toggling whether a variable should be reduced by
reference per variable. In the above example, this allows only `array`
to be reduced by ref.
Commit: d94582eea410a04f9f84e39a54276a8418aa2dbb
https://github.com/llvm/llvm-project/commit/d94582eea410a04f9f84e39a54276a8418aa2dbb
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
Log Message:
-----------
[flang][OpenMP] Add test for checking overloaded operator in atomic update (#88471)
Atomic update expression does not allow overloaded user-defined
operators. This PR adds a test case for the same; the semantic check is
already existent.
Commit: f579dcf816b5626724e9eae5feea594008b5c863
https://github.com/llvm/llvm-project/commit/f579dcf816b5626724e9eae5feea594008b5c863
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb] Fixed an invalid error message in the DAP disconnect response (#92345)
The `disconnect` response contains the `error` message with invalid
characters (a junk data). To reproduce this issue it is enough to run
the `TestDAP_commands` test on Windows host and Linux target. The test
will fail to run ELF file on Windows and dap_server will be disconnected
unexpectedly.
Note dap_server hangs if read_packet() cannot decode JSON with invalid
characters. read_packet() must return None in this case instead of an
exception. But dap_server does not require any fix after this patch.
Commit: d665d51c9296fc0b57945bb67e06040e26cd03c5
https://github.com/llvm/llvm-project/commit/d665d51c9296fc0b57945bb67e06040e26cd03c5
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
Log Message:
-----------
[lldb] Fixed the DAP tests in case of a remote target (#92398)
These tests failed in case of Windows host and Linux target, because
dap_server tried to run ELF file on Windows.
Commit: d1f96d4cfe25770827b5f819b6a9de6fef142c9c
https://github.com/llvm/llvm-project/commit/d1f96d4cfe25770827b5f819b6a9de6fef142c9c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[clang][NFC] Claim support for P3106R1 since Clang 17
Test for this paper were added in https://github.com/llvm/llvm-project/pull/91435
Commit: 5ac34358181b21135851979c1c949632be5a9d32
https://github.com/llvm/llvm-project/commit/5ac34358181b21135851979c1c949632be5a9d32
Author: Dana Jansens <danakj at chromium.org>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
Log Message:
-----------
Respect the [[clang::unsafe_buffer_usage]] attribute for constructors (#91777)
The -Wunsafe-buffer-usage warning should fire on any call to a function
annotated with [[clang::unsafe_buffer_usage]], however it omitted calls
to constructors, since the expression is a CXXConstructExpr which does
not subclass CallExpr. Thus the matcher on callExpr() does not find
these expressions.
Add a new WarningGadget that matches cxxConstructExpr that are calling a
CXXConstructDecl annotated by [[clang::unsafe_buffer_usage]] and fires
the warning. The new UnsafeBufferUsageCtorAttrGadget gadget explicitly
avoids matching against the std::span(ptr, size) constructor because
that is handled by SpanTwoParamConstructorGadget and we never want two
gadgets to match the same thing (and this is guarded by asserts).
The gadgets themselves do not report the warnings, instead each gadget's
Stmt is passed to the UnsafeBufferUsageHandler (implemented by
UnsafeBufferUsageReporter). The Reporter is previously hardcoded that a
CXXConstructExpr statement must be a match for std::span(ptr, size), but
that is no longer the case. We want the Reporter to generate different
warnings (in the -Wunsafe-buffer-usage-in-container subgroup) for the
span contructor. And we will want it to report more warnings for other
std-container-specific gadgets in the future. To handle this we allow
the gadget to control if the warning is general (it calls
handleUnsafeBufferUsage()) or is a std-container-specific warning (it
calls handleUnsafeOperationInContainer()).
Then the WarningGadget grows a virtual method to dispatch to the
appropriate path in the UnsafeBufferUsageHandler. By doing so, we no
longer need getBaseStmt in the Gadget interface. The only use of it for
FixableGadgets was to get the SourceLocation, so we make an explicit
virtual method for that on Gadget. Then the handleUnsafeOperation()
dispatcher can be a virtual method that is only in WarningGadget.
The SpanTwoParamConstructorGadget gadget dispatches to
handleUnsafeOperationInContainer() while the other WarningGadgets all
dispatch to the original handleUnsafeBufferUsage().
Tests are added for annotated constructors, conversion operattors, call
operators, fold expressions, and regular methods.
Issue #80482
Commit: ee407e17a3a4986bab49272665abc9973d78691d
https://github.com/llvm/llvm-project/commit/ee407e17a3a4986bab49272665abc9973d78691d
Author: Renaud Kauffmann <50748669+Renaud-K at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
Log Message:
-----------
[flang] AliasAnalysis: More formally define and distinguish between data and non-data (#91020)
This PR is an implementation for changes proposed in
https://discourse.llvm.org/t/rfc-distinguish-between-data-and-non-data-in-fir-alias-analysis/78759
Test updates were made when the query was on the wrong reference. So, it
is my hope that this will clear ambiguity on the nature of the queries
from here on.
There are also some TODOs that were addressed.
It also partly implements what
https://github.com/llvm/llvm-project/pull/87723 is attempting to
accomplish. At least, on a point-to-point query between references, the
distinction is made. To apply it to TBAA, would be another PR.
Note that, the changes were minimal in the TBAA code to retain the
current results.
Commit: cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
https://github.com/llvm/llvm-project/commit/cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/test/Transforms/PlaceSafepoints/libcall.ll
Log Message:
-----------
PlaceSafepoints: Fix using default constructed TargetLibraryInfo (#92411)
Commit: 309a881dccb82bf1f101cf138bee3e7400968ed8
https://github.com/llvm/llvm-project/commit/309a881dccb82bf1f101cf138bee3e7400968ed8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
Log Message:
-----------
[VPlan] Address remaining comments for #85689.
Address comments missed when landing
https://github.com/llvm/llvm-project/pull/85689.
Commit: 117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
https://github.com/llvm/llvm-project/commit/117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/PowerPC/pr44183.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - use ComputeKnownBits instead of getValidShiftAmountConstant to check for constant shift amounts. (#92412)
This allows us to handle cases where the constant has already been type legalized behind a bitcast
Despite calling ComputeKnownBits I'm not seeing any notable change in compile time.
Commit: 3abd3d6e597cba5161f37fa0478382fc93a8c9fd
https://github.com/llvm/llvm-project/commit/3abd3d6e597cba5161f37fa0478382fc93a8c9fd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/device.cpp
Log Message:
-----------
[Libomptarget] Remove requires information from plugin (#80345)
Summary:
Currently this is only used for the zero-copy handling. However, this
can easily be moved into `libomptarget` so that we do not need to bother
setting the requires flags in the plugin. The advantage here is that we
no longer need to do this for every device redundently. Additionally,
these requires flags are specifically OpenMP related, so they should
live in `libomptarget`.
Commit: b28766eb3f20354d1d7a34ea83b9d915c3715032
https://github.com/llvm/llvm-project/commit/b28766eb3f20354d1d7a34ea83b9d915c3715032
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
Log Message:
-----------
[Arm64EC] Correctly handle sret in entry thunks. (#92326)
I accidentally left out the code to transfer sret attributes to entry
thunks, so values weren't being passed in the right registers, and the
sret pointer wasn't returned in the correct register.
Fixes #90229
Commit: b82fd5d75cff87f7480a24d4a16ea8400cc35c86
https://github.com/llvm/llvm-project/commit/b82fd5d75cff87f7480a24d4a16ea8400cc35c86
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Log Message:
-----------
[GlobalISel] Initialize variables in IndexedLoadStoreMatchInfo
Commit: e8692b88bec1d43325804d75166d9483d6c17fc7
https://github.com/llvm/llvm-project/commit/e8692b88bec1d43325804d75166d9483d6c17fc7
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/Internalize/lists.ll
Log Message:
-----------
[NewPM] Add pass options for InternalizePass to preserve GVs (reland) (#92383)
Reland of https://github.com/llvm/llvm-project/pull/91334, which broke
the gcc7 buildbot and was reverted in
https://github.com/llvm/llvm-project/pull/92321.
Work around the failure by being explicit about returning an `Expected`.
cc @joker-eph
Commit: ce67fcf15f4ffac00a715cf724bc72e37f063064
https://github.com/llvm/llvm-project/commit/ce67fcf15f4ffac00a715cf724bc72e37f063064
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/task_ast_print.cpp
Log Message:
-----------
Avoid unevaluated implicit private (#92055)
For every variable used under `#pragma omp task` directive
(`DeclRefExpr`) an ImplicitPrivateVariable is created in the AST, if
`private` or `shared` clauses are not present. If the variable has the
property of `non_odr_use_unevaluated` e.g. for statements which use
`sizeof( i )` `i` will have `non_odr_use_unevaluated` . In such cases
CodeGen was asserting by avoiding emitting of LLVM IR for such
variables. To prevent this assertion this checkin avoids adding the
ImplicitPrivateVariable for variables with `non_odr_use_unevaluated`.
---------
Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>
Commit: 033fa81480a7e8d0a6cf2f72b52232275145d105
https://github.com/llvm/llvm-project/commit/033fa81480a7e8d0a6cf2f72b52232275145d105
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
R offload/include/Shared/PluginAPI.h
R offload/include/Shared/PluginAPI.inc
Log Message:
-----------
[Offload][NFC] Remove unused files following static plugins
Summary:
Forgot to remove these when I landed the initial patch, they are no
longer used.
Commit: 224116ab9f4d97acb0cca76dc63c1d3d4a253078
https://github.com/llvm/llvm-project/commit/224116ab9f4d97acb0cca76dc63c1d3d4a253078
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Revert "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)"
This reverts commit 17daa204feadf9c28fc13b7daa69c3cbe865b238.
Multiple examples on the PR
https://github.com/llvm/llvm-project/pull/87933
show regressions, so reverting until they can be fixed in the followup.
Commit: bd6c358d01f6ebc3851996e2c29c47b08e992525
https://github.com/llvm/llvm-project/commit/bd6c358d01f6ebc3851996e2c29c47b08e992525
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Update repository in package.json
Use https://github.com/llvm/vscode-lldb instead of the monorepo, for
consistency with the other two extensions (mlir, clangd).
Commit: f03430f5e37e8eb64878dc538b05210adea2d80f
https://github.com/llvm/llvm-project/commit/f03430f5e37e8eb64878dc538b05210adea2d80f
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__iterator/common_iterator.h
M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
Log Message:
-----------
[libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899)
## Abstract
This pull request implements LWG3672: `common_iterator::operator->()`
should return by value. The current implementation specifies that this
function should return the underlying pointer by reference (`T*
const&`), but it would be more intuitive to return it by value (`T*`).
## Reference
- [Draft C++ Standard:
[common.iter.access]](https://eel.is/c++draft/common.iter.access)
- [LWG3672](https://cplusplus.github.io/LWG/issue3672)
Commit: c7ae8c6639370ccbc583dca019bbb78761ce423d
https://github.com/llvm/llvm-project/commit/c7ae8c6639370ccbc583dca019bbb78761ce423d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
Log Message:
-----------
[lldb] Fixed the DAP tests in case of a remote target (#92416)
These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.
Commit: 0dc80e4b2640f80a5b421e6e636d2a7243150917
https://github.com/llvm/llvm-project/commit/0dc80e4b2640f80a5b421e6e636d2a7243150917
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Group MemProf data structures into a struct (NFC) (#92360)
This patch groups the three Memprof data structures into a struct
named IndexedMemProfData and teaches InstrProfWriter to use it. This
way, we can pass IndexedMemProfData to writeMemProf and its helpers
instead of individual data structures.
As a follow-up, we can use the new struct in MemProfReader also. That
in turn allows loadInput in llvm-profdata to move the MemProf data
into the writer context, saving a few seconds for a large MemProf
profile.
Commit: 525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
https://github.com/llvm/llvm-project/commit/525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/lldbdap.md
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Separate user and developer documentation (#92428)
The README.md is what users see when they look for the extension in the
Marketplace [1]. Right now, it's a mix of developer documentation (for
us) and user documentation. This commit moves the developer docs into
`docs` and the lldb website and refocuses the README on using the
extension.
[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap
Commit: 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
https://github.com/llvm/llvm-project/commit/80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for computing knownbits from `(icmp upred (add/sub nuw X, Y), C)`; NFC
Commit: 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
https://github.com/llvm/llvm-project/commit/05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`
`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.
`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.
Proofs: https://alive2.llvm.org/ce/z/sc5k22
Closes #87180
Commit: ebbf484e1c62a312d88c7f6482af11a58d40f52d
https://github.com/llvm/llvm-project/commit/ebbf484e1c62a312d88c7f6482af11a58d40f52d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp pred (trunc nuw/nsw X), C)`; NFC
Commit: 23f1047daac9702876ca99b53e8fe649fca569fa
https://github.com/llvm/llvm-project/commit/23f1047daac9702876ca99b53e8fe649fca569fa
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine] Fold `(icmp pred (trunc nuw/nsw X), C)` -> `(icmp pred X, (zext/sext C))`
This is valid as long as the sign of the wrap flag doesn't differ from
the sign of the `pred`.
Proofs: https://alive2.llvm.org/ce/z/35NsrR
NB: The online Alive2 hasn't been updated with `trunc nuw/nsw`
support, so the proofs must be reproduced locally.
Closes #87935
Commit: da928c6d6e0e2f619fdaef71cea8747d9aef188d
https://github.com/llvm/llvm-project/commit/da928c6d6e0e2f619fdaef71cea8747d9aef188d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
Log Message:
-----------
[Clang][Sema] ASTContext::getUnconstrainedType propagates dependence (#92425)
When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However,
when called with a constrained `AutoType`, an unconstrained,
non-dependent `AutoType` will be returned even if the argument was
dependent. Consider the following:
```
template<typename T>
concept C = sizeof(T) == sizeof(int);
template<auto N>
struct A;
template<C auto N>
struct A<N>; // error: class template partial specialization is not more specialized than the primary template
```
When comparing the template parameters for equivalence,
`ASTContext::getUnconstrainedType` is used to remove the constraints per
[temp.over.link] p6 sentence 2. For the template
parameter `N` of the class template, it returns a dependent `AutoType`.
For the template parameter `N` of the class template partial
specialization, it returns a non-dependent `AutoType`. We subsequently
compare the adjusted types and find they are not equivalent, thus we
consider the partial specialization to not be more specialized than the
primary template per [temp.func.order] p6.2.2.
This patch changes `ASTContext::getUnconstrainedType` such that the
dependence of a constrained `AutoType` will propagate to the returned
unconstrained `AutoType`. This causes the above example to be correctly
accepted, fixing #77377.
Commit: 9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
https://github.com/llvm/llvm-project/commit/9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/tools/clang-fuzzer/dictionary/dictionary.c
Log Message:
-----------
[clang-fuzzer-dictionary] Skip EmptySpellingName after #89358
The dictionary entry `=""` is invalid.
Commit: a383b3cca3383128123b33bc73ffc0199ec573e4
https://github.com/llvm/llvm-project/commit/a383b3cca3383128123b33bc73ffc0199ec573e4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: Emit a more descriptive diagnostic message when is_deducible constraint is evaluated to false. (#92389)
Fixes https://github.com/llvm/llvm-project/issues/92225
Commit: 476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
https://github.com/llvm/llvm-project/commit/476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
Author: weltschildkroete <65237298+weltschildkroete at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/auto-cxx0x.cpp
Log Message:
-----------
[clang][Sema] Emit more specific diagnostic for auto in lambda before C++14 (#46059) (#68540)
Namely, we specify that `auto` in a lambda parameter is a C++14
extension in the error message, which now reads:
`'auto' not allowed in lambda parameter before C++14`
This does not change the behavior for `decltype(auto)` and `__auto_type`
though.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 174cdeced0fe0da07a03d0d118bd70b93badfbb1
https://github.com/llvm/llvm-project/commit/174cdeced0fe0da07a03d0d118bd70b93badfbb1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[nfc] Clarify when the various PGO instrumentation passes run (#92330)
The code seems easier to read if it's centered on what the user wants rather than combinations of whatever internal variables.
Commit: b5f6cc9eb4f661816ef264ad41cb703004380636
https://github.com/llvm/llvm-project/commit/b5f6cc9eb4f661816ef264ad41cb703004380636
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/unittests/Support/ErrorTest.cpp
Log Message:
-----------
Unittest for Error forwarding, follow-up to PR #92208 (#92314)
Added a unittest demonstrating Error -> Expected<T> forwarding.
Commit: 9144553207052a868efc5a8ce61a0afbb0eaf236
https://github.com/llvm/llvm-project/commit/9144553207052a868efc5a8ce61a0afbb0eaf236
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
Revert "[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC"
LLVM is built with C++17, where left shift of any negative value is still UB.
Detected with UBSan on the buildbot.
This reverts commit 0647d1035cb208195e002b38089b82004b6f7b92.
Commit: f42f57b52dd279e6ae19270d063aeb8d59e3f11c
https://github.com/llvm/llvm-project/commit/f42f57b52dd279e6ae19270d063aeb8d59e3f11c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Rework Record & Replay to be a plugin member (#88928) (#89097)
Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.
This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.
Commit: 9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
https://github.com/llvm/llvm-project/commit/9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc][NFC] Replace address space with constant GPU utility
Summary:
This was written before we had the address space helpers. Using
numerical address spaces is bad so this should be removed.
Commit: 61565abcdc4d864a8c7aa7ad23ed441a3762b77d
https://github.com/llvm/llvm-project/commit/61565abcdc4d864a8c7aa7ad23ed441a3762b77d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc] Fix constant variable initializer
Commit: 479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
https://github.com/llvm/llvm-project/commit/479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Update comments for writeMemProf and its helpers (#92446)
This patch adds comments for writeMemProf{V0,V1,V2} in a
version-specific manner. The mostly repetitive nature of the comments
is somewhat unfortunate but intentional to make it easy to retire
older versions.
Without this patch, the comment just before writeMemProf documents the
Version1 format, which is very confusing.
Commit: f05c068429a86ef2187eae094354c73e8339baa2
https://github.com/llvm/llvm-project/commit/f05c068429a86ef2187eae094354c73e8339baa2
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[InstrProf] Remove unused argv in llvm-profdata.cpp (#92435)
https://github.com/llvm/llvm-project/pull/71328 refactored
`llvm-profdata.cpp` to use subcommands (which is super nice), but left
many unused `argv` variables. This opts to use `ProgName` where
necessary, and removes `argv` otherwise.
Commit: 1ede503910d3133ea1af8c084fee96ca98c66464
https://github.com/llvm/llvm-project/commit/1ede503910d3133ea1af8c084fee96ca98c66464
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
Log Message:
-----------
[MLIR][Vector] Implement TransferReadOfExtractSliceOp as MaskableOpRewritePattern (#91960)
Split of https://github.com/llvm/llvm-project/pull/90835
Adds support for `TransferReadOfExtractSliceOpFolder` when the
`TransferReadOp` is inside a `MaskOp`.
Commit: d311a62e2f1ae34a0329c3812f2969cedac93561
https://github.com/llvm/llvm-project/commit/d311a62e2f1ae34a0329c3812f2969cedac93561
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[ctx_profile] Decouple ctx instrumentation from PGOOpt (#92445)
We currently don't support passing files and don't need frontend involvement either.
Commit: 6d2219acabc1882508d695e23d444d3e1cae4ff3
https://github.com/llvm/llvm-project/commit/6d2219acabc1882508d695e23d444d3e1cae4ff3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/src/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Pass '-Werror=global-constructors' to the libomptarget build (#88531)
Summary:
A runtime library should not have global constructors. Everything is now
expected to go through the init methods. This patch ensures that global
constructors will not accidentally be introduced.
Commit: 47d80ec1802d70082c8fd32b4396c98db2c4dba2
https://github.com/llvm/llvm-project/commit/47d80ec1802d70082c8fd32b4396c98db2c4dba2
Author: Jacob Lalonde <jjjlalonde at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Log Message:
-----------
[LLDB/Coredump] Only take the Pthread from stack start to the stackpointer + red_zone (#92002)
Currently in Core dumps, the entire pthread is copied, including the
unused space beyond the stack pointer. This causes large amounts of core
dump inflation when the number of threads is high, but the stack usage
is low. Such as when an application is using a thread pool.
This change will optimize for these situations in addition to generally
improving the core dump performance for all of lldb.
Commit: e5e562361555fc96c768b1dd3dd99f403f500838
https://github.com/llvm/llvm-project/commit/e5e562361555fc96c768b1dd3dd99f403f500838
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #91960 (#92458)
Commit: 997eae3673dcd635b60ac63031f01f5dded92f32
https://github.com/llvm/llvm-project/commit/997eae3673dcd635b60ac63031f01f5dded92f32
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/X86/big-array-init.ll
Log Message:
-----------
[AsmPrinter] Increase upper bound for size in global structs
This is part of the fixes to address #57353
https://reviews.llvm.org/D133845
Pull Request: https://github.com/llvm/llvm-project/pull/92334
Commit: c86a53d75995d65601d5745b2fceb2d50a970645
https://github.com/llvm/llvm-project/commit/c86a53d75995d65601d5745b2fceb2d50a970645
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] Implement provisional wording for CWG2398 regarding packs (#90820)
This solves some ambuguity introduced in P0522 regarding how
template template parameters are partially ordered, and should reduce
the negative impact of enabling `-frelaxed-template-template-args`
by default.
When performing template argument deduction, a template template
parameter
containing no packs should be more specialized than one that does.
Given the following example:
```C++
template<class T2> struct A;
template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>>; // #1
template<template<class T5 > class TT2, class T6> struct A<TT2<T6>>; // #2
template<class T1> struct B;
template struct A<B<char>>;
```
Prior to P0522, candidate `#2` would be more specialized.
After P0522, neither is more specialized, so this becomes ambiguous.
With this change, `#2` becomes more specialized again,
maintaining compatibility with pre-P0522 implementations.
The problem is that in P0522, candidates are at least as specialized
when matching packs to fixed-size lists both ways, whereas before,
a fixed-size list is more specialized.
This patch keeps the original behavior when checking template arguments
outside deduction, but restores this aspect of pre-P0522 matching
during deduction.
---
Since this changes provisional implementation of CWG2398 which has
not been released yet, and already contains a changelog entry,
we don't provide a changelog entry here.
Commit: c79690040acf5bb3d857558b0878db47f7f23dc3
https://github.com/llvm/llvm-project/commit/c79690040acf5bb3d857558b0878db47f7f23dc3
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/alias-weak.ll
Log Message:
-----------
[GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483)
Fixes #91312.
Don't perform the transform if the alias may be replaced at link time.
Commit: e578314c049bb9ae6dc3983db5cf27513e29517b
https://github.com/llvm/llvm-project/commit/e578314c049bb9ae6dc3983db5cf27513e29517b
Author: Ryan Thomas Lynch <rlynch34 at gatech.edu>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/CommonAttrConstraints.td
Log Message:
-----------
[MLIR Attr] add ArrayMaxCount attribute constraint (#92453)
this is the dual of ArrayMinCount. I saw that I needed it but it didn't
exist yet
Commit: 84abe0a6d4face73c15ed6344be74ae231f18718
https://github.com/llvm/llvm-project/commit/84abe0a6d4face73c15ed6344be74ae231f18718
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Bounds-Safety] Reserve slot in SanitizerHandler enum for Bounds-Safety (#91032)
Due to how `CodeGenFunction::EmitTrapCheck` is implemented
`SanitizerHandler` with numeric value 0x19 needs to be reserved because
`-fbounds-safety` generates trap instructions with that value embedded
in the trap instructions for x86_64 and arm64 just like for UBSan traps.
** x86_64 **
```
ud1l 0x19(%eax), %eax
```
** arm64 **
```
brk #0x5519
```
To avoid upstream Clang and AppleClang diverging their ABIs for
`-fbounds-safety` the slot is being reserved in this patch.
`SanitizerHandler::BoundsSafety` currently has no uses in the code but
uses will be introduced when the CodeGen side of `-fbounds-safety`'s
implementation is upstreamed.
rdar://126884014
Co-authored-by: Dan Liew <dan at su-root.co.uk>
Commit: d6f9278ae9e587d2d23a9940a2364aaafba74735
https://github.com/llvm/llvm-project/commit/d6f9278ae9e587d2d23a9940a2364aaafba74735
Author: James Y Knight <jyknight at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/atomic-non-integer.ll
A llvm/test/CodeGen/X86/atomic-unaligned.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/atomic128.ll
M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll
Log Message:
-----------
[X86] Use plain load/store instead of cmpxchg16b for atomics with AVX (#74275)
In late 2021, both Intel and AMD finally documented that every
AVX-capable CPU has always been guaranteed to execute aligned 16-byte
loads/stores atomically, and further, guaranteed that all future CPUs
with AVX will do so as well.
Therefore, we may use normal SSE 128-bit load/store instructions to
implement atomics, if AVX is enabled.
Per AMD64 Architecture Programmer's manual, 7.3.2 Access Atomicity:
> Processors that report [AVX] extend the atomicity for cacheable,
> naturally-aligned single loads or stores from a quadword to a double
> quadword.
Per Intel's SDM:
> Processors that enumerate support for Intel(R) AVX guarantee that the
> 16-byte memory operations performed by the following instructions will
> always be carried out atomically:
> - MOVAPD, MOVAPS, and MOVDQA.
> - VMOVAPD, VMOVAPS, and VMOVDQA when encoded with VEX.128.
> - VMOVAPD, VMOVAPS, VMOVDQA32, and VMOVDQA64 when encoded with
> EVEX.128 and k0 (masking disabled).
This was also confirmed to be true for Zhaoxin CPUs with AVX, in
https://gcc.gnu.org/PR104688
Commit: f88760f3118a106be847a8d5296931a8e44c72f8
https://github.com/llvm/llvm-project/commit/f88760f3118a106be847a8d5296931a8e44c72f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[TableGen] Remove unnecessary StringRef constructor call from LessRecord(). NFC
Record::getName already returns a StringRef. When this code was
originally written getName returned const std::string &.
Commit: 2a4ee605b03bc69c296d0388239d9c837e787995
https://github.com/llvm/llvm-project/commit/2a4ee605b03bc69c296d0388239d9c837e787995
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Use LessRecord() for the sort in getAllDerivedDefinitions instead of re-implementing it. NFC
Commit: f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] constrain `SemaCXX/cxx20-ctad-type-alias.cpp` target triple
The test expectations are otherwise affected by the underlying type of size_t.
Commit: fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] NFC: stray space cleanup
Commit: fa9b1be45088dce1e4b602d451f118128b94237b
https://github.com/llvm/llvm-project/commit/fa9b1be45088dce1e4b602d451f118128b94237b
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
A llvm/test/ThinLTO/X86/ref-ifunc.ll
Log Message:
-----------
[ThinLTO]Mark referencers of local ifunc not eligible for import (#92431)
If an ifunc has local linkage, do not add it into ref edges and mark its
referencer (a function or global variable) not eligible for import. An
ifunc doesn't have summary and ThinLTO cannot promote it. Importing the
referencer may cause linkage errors.
To reference a similar fix, https://reviews.llvm.org/D158961 marks
callers of local ifunc not eligible for import to fix
https://github.com/llvm/llvm-project/issues/58740
Commit: 96d2db4ba9016b4512e7cd27d7dfda209d07ce62
https://github.com/llvm/llvm-project/commit/96d2db4ba9016b4512e7cd27d7dfda209d07ce62
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/libcall-extend.ll
Log Message:
-----------
[LoongArch] Pre-commit test for lib call auguments extension
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92374
Commit: 5a204a5f0a19417c1c0bd71834dee7ba129e6776
https://github.com/llvm/llvm-project/commit/5a204a5f0a19417c1c0bd71834dee7ba129e6776
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
Log Message:
-----------
[LoongArch] Use sign extend for i32 arguments in makeLibCall on LA64
The 32 bits arguments and returns on LA64 are always sign extended to
i64. So we should be taking this into account around libcalls.
Reviewed By: heiher, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92375
Commit: bf1d4172335689f62e4f7368446f0026c595330b
https://github.com/llvm/llvm-project/commit/bf1d4172335689f62e4f7368446f0026c595330b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
Log Message:
-----------
[LoongArch] Suppress the unnecessary extensions for arguments in makeLibCall
Reviewed By: SixWeining, heiher
Pull Request: https://github.com/llvm/llvm-project/pull/92376
Commit: 8fe39e64c0ef0a1aefce3c1187c5822343caeedd
https://github.com/llvm/llvm-project/commit/8fe39e64c0ef0a1aefce3c1187c5822343caeedd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't always break before << between string literals (#92214)
Instead, leave the line wrapping as is.
Fixes #43887.
Fixes #44363.
Commit: 88d351e2e62d2ff291f3e6dea6b7e425f683285b
https://github.com/llvm/llvm-project/commit/88d351e2e62d2ff291f3e6dea6b7e425f683285b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in annotating struct braces (#92352)
Fixes #92350.
Commit: ebf283162f5a0e7e9392c3a825e060856eee0991
https://github.com/llvm/llvm-project/commit/ebf283162f5a0e7e9392c3a825e060856eee0991
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
Log Message:
-----------
[lldb] Include SBLanguages in the SWIG bindings (#92470)
Commit: 552927840319572a649cdec2d8bf2e688a5df490
https://github.com/llvm/llvm-project/commit/552927840319572a649cdec2d8bf2e688a5df490
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
Log Message:
-----------
Revert "[lldb] Include SBLanguages in the SWIG bindings" (#92490)
Reverts llvm/llvm-project#92470
Commit: 9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
https://github.com/llvm/llvm-project/commit/9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Rename DataAggregator::BranchInfo to TakenBranchInfo
Align the name to its counterpart `FTInfo` which avoids name aliasing
with llvm::bolt::BranchInfo and allows to drop namespace specifier.
Test Plan: NFC
Reviewers: maksfb, rafaelauler, ayermolo, dcci
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/92017
Commit: c33922666ce219fd6cb3341c3394f72050599552
https://github.com/llvm/llvm-project/commit/c33922666ce219fd6cb3341c3394f72050599552
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/PathMappingList.cpp
Log Message:
-----------
[lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)
Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).
Commit: 5d8354c009d5625fa140be47de1f91275f4698d3
https://github.com/llvm/llvm-project/commit/5d8354c009d5625fa140be47de1f91275f4698d3
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/test/Lower/OpenMP/atomic-write.f90
Log Message:
-----------
[Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)
Fixes test.f90 in #83144.
This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.
I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.
Commit: d395b56a52e9809ec3ea1139f5b30698c9f4e247
https://github.com/llvm/llvm-project/commit/d395b56a52e9809ec3ea1139f5b30698c9f4e247
Author: Pavel Samolysov <samolisov at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
Log Message:
-----------
[JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)
This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.
Commit: aaa8a8000009890b79effb0d0f3c6f989a3d5563
https://github.com/llvm/llvm-project/commit/aaa8a8000009890b79effb0d0f3c6f989a3d5563
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
Log Message:
-----------
[CodeGen] Use operator==(StringRef, StringRef) (NFC)
The LHS and RHS are of SmallString and StringRef, respectively. We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.
Commit: a26fbf36a78a703be2da0744131a8d6ecbdb7c67
https://github.com/llvm/llvm-project/commit/a26fbf36a78a703be2da0744131a8d6ecbdb7c67
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Sema] Use SmallString::empty (NFC)
Commit: f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
https://github.com/llvm/llvm-project/commit/f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Lex/LiteralSupport.h
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
Log Message:
-----------
[clang] Use constant rounding mode for floating literals (#90877)
Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.
Commit: 14030d71693b046784ff19cc157074e4db23e74f
https://github.com/llvm/llvm-project/commit/14030d71693b046784ff19cc157074e4db23e74f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
Log Message:
-----------
[llvm] Drop explicit conversions of string literals to StringRef (NFC)
We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
Commit: f71749c5ef8667e3fc23820e8e94864653ea9ac9
https://github.com/llvm/llvm-project/commit/f71749c5ef8667e3fc23820e8e94864653ea9ac9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Drop explicit conversions of string literals to StringRef (NFC)
We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
The LHS here are all known to be of StringRef.
Commit: 9bffe790499e99a4110a33988100ba45835e905e
https://github.com/llvm/llvm-project/commit/9bffe790499e99a4110a33988100ba45835e905e
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Speedup select to integer min/max (#92378)
https://github.com/llvm/llvm-project/issues/92309
Commit: bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
https://github.com/llvm/llvm-project/commit/bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Change MVT to EVT in combineFP_EXTEND
Fixes: #92471
Commit: f43deca2538b717f5669ce8116cc4c040bde87c8
https://github.com/llvm/llvm-project/commit/f43deca2538b717f5669ce8116cc4c040bde87c8
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix Tan inaccuracies on extreme complex inputs. (#92443)
Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.
Commit: 5b7088c3619e95eaa8e154765470ddb4d3859fa4
https://github.com/llvm/llvm-project/commit/5b7088c3619e95eaa8e154765470ddb4d3859fa4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)
The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.
I'm trying to delete the default constructor altogether, but this seems
to be more difficult.
Commit: 37d00635c4ff1b656a49635e826aeff8063dc1e8
https://github.com/llvm/llvm-project/commit/37d00635c4ff1b656a49635e826aeff8063dc1e8
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/phi-insert-point.ll
Log Message:
-----------
[SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)
This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.
Commit: e0a293d12f3fe1c2a284e2e116cfa77d894da49f
https://github.com/llvm/llvm-project/commit/e0a293d12f3fe1c2a284e2e116cfa77d894da49f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
error: missing 'typename' prior to dependent type name Op::Adaptor;
implicit 'typename' is a C++20 extension
[-Werror,-Wc++20-extensions]
Commit: b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
https://github.com/llvm/llvm-project/commit/b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
[lldb] Avoid modifying the source tree in TestCompletion.py
This was a side-effect of the "optimization" in #92281. Deoptimize the
code slightly.
Commit: c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
Log Message:
-----------
[LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (#77665)
…VE2.1 for spill/fill
When possible the spill/fill register in Frame Lowering uses the ld/st
consecutive pairs available in sme or sve2.1.
Commit: 5a20a07fce88d54cf01cafde489bfc2fc447acc0
https://github.com/llvm/llvm-project/commit/5a20a07fce88d54cf01cafde489bfc2fc447acc0
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3084:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
^
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3253:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
^
2 errors generated.
Commit: ee54c86ef70d7809e7d67cd44de2d3153b31c46e
https://github.com/llvm/llvm-project/commit/ee54c86ef70d7809e7d67cd44de2d3153b31c46e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/SourceManager.h
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[clang][NFC] Improve const-correctness in `SourceManager` (#92436)
This patch adds several const-qualified variants of existing member
functions to `SourceManager`.
I started with removing const qualification from
`setNumCreatedFIDsForFileID`, and removing `const_cast` in the body of
this function, as I think it doesn't make sense to const-qualify
setters.
Commit: 33bf08ec36efc2fc2df8217eddd751cef9bc6be6
https://github.com/llvm/llvm-project/commit/33bf08ec36efc2fc2df8217eddd751cef9bc6be6
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Correctly detect alias commands with arguments in repl (#92137)
ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.
Commit: 7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
https://github.com/llvm/llvm-project/commit/7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
A clang/test/ExtractAPI/non_type_template.cpp
Log Message:
-----------
[clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)
Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.
rdar://127732598
Commit: b6fa78d54cf761b232b00222a39fbfe974cb8a16
https://github.com/llvm/llvm-project/commit/b6fa78d54cf761b232b00222a39fbfe974cb8a16
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] refactor sortPtrAccesses (NFC) (#92256)
Use the destructuring syntax in C++ and llvm::enumerate to make
sortPtrAccesses a little more readable.
Commit: 2ed8ff3bf84e682b7c6ae9ad6370db629166653c
https://github.com/llvm/llvm-project/commit/2ed8ff3bf84e682b7c6ae9ad6370db629166653c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
Log Message:
-----------
[SPIR-V] Fix types of internal intrinsic functions and add a test case for __builtin_alloca() (#92265)
This PR generation of argument types of internal intrinsic functions
`spv_const_composite` and `spv_track_constant`, so that composite
constants of ConstantVector type preserve their correct type in
transformation passes and can be successfully used further by LLVM
intrinsic functions.
The added test case serves two purposes: it is to check the above
mentioned fix and to demonstrate that a call to __builtin_alloca() maps
to instructions from SPV_INTEL_variable_length_array when this extension
is available.
Commit: e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
https://github.com/llvm/llvm-project/commit/e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
Log Message:
-----------
[SPIR-V] Ensure that we don't have a dangling BlockAddress constants after internal intrinsic 'spv_switch' is processed (#92390)
After internal intrinsic 'spv_switch' is processed we need to delete
G_BLOCK_ADDR instructions that were generated to keep track of the
corresponding basic blocks. If we just delete G_BLOCK_ADDR instructions
with BlockAddress operands, this leaves their BasicBlock counterparts in
a "address taken" status. This would make AsmPrinter to generate a
series of unneeded labels of a `"Address of block that was removed by
CodeGen"` kind. This PR is to ensure that we don't have a dangling
BlockAddress constants by zapping the BlockAddress nodes, and only after
that proceed with erasing G_BLOCK_ADDR instructions.
See also https://github.com/llvm/llvm-project/pull/87823 for more
details.
Commit: 7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
https://github.com/llvm/llvm-project/commit/7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
Log Message:
-----------
[flang][NFC] Use tablegen to reduce AddAliasTags boilerplate (#92373)
I will make this pass run properly on more top-level operations in a
follow up patch.
Commit: d0e2808f806ece6d2aa8d359a700afab87ded16b
https://github.com/llvm/llvm-project/commit/d0e2808f806ece6d2aa8d359a700afab87ded16b
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll
Log Message:
-----------
[DebugInfo][LoopLoadElim] Fix missing debug location updates (#91839)
Commit: 698cf0176b3146993134354b02c9a67352d9d27e
https://github.com/llvm/llvm-project/commit/698cf0176b3146993134354b02c9a67352d9d27e
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/CodeGen/NVPTX/i1-array-global.ll
Log Message:
-----------
Fix i1 array global crash in NVPTXAsmPrinter. (#92506)
See the test file. At head, this crashes with
```
assertion failed at llvm/lib/Support/APInt.cpp:492 in
uint64_t llvm::APInt::extractBitsAsZExtValue(unsigned int, unsigned int) const:
bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
"Illegal bit extraction"
```
Commit: c93b45aaee62700f61ddc366d971bde594459324
https://github.com/llvm/llvm-project/commit/c93b45aaee62700f61ddc366d971bde594459324
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
Log Message:
-----------
[mlir][ArmSME] Reword in-memory tile warning (NFC) (#92415)
It did not make sense that this said "all tile operations will go
through memory". Only the operations where the warning is emitted will
go through memory. The message has been updated to reflect that.
Commit: bbe40b9e0a24605e0526475e643312839772294f
https://github.com/llvm/llvm-project/commit/bbe40b9e0a24605e0526475e643312839772294f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCSectionELF.cpp
M llvm/test/MC/ELF/section-numeric-invalid-type.s
Log Message:
-----------
[MCAsmStreamer] Do not crash on switching to sections of unknown types (#92380)
MCObjectStreamer already accepts unknown types.
Commit: 4349ffb3fa268dba180b7c65fdce20a0be60272b
https://github.com/llvm/llvm-project/commit/4349ffb3fa268dba180b7c65fdce20a0be60272b
Author: David Green <david.green at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/selectopt-not.ll
Log Message:
-----------
[SelectOpt] Add tests for not select conditions. NFC
Commit: 37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
https://github.com/llvm/llvm-project/commit/37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[NFC][LLVM] Mainly whitespace changes.
Also marks AliasSetTracker::size() as const.
Commit: 58bad2862cf136f9483eb005bbfa6915d459b46d
https://github.com/llvm/llvm-project/commit/58bad2862cf136f9483eb005bbfa6915d459b46d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
Log Message:
-----------
[analyzer][NFC] Require explicit matching mode for CallDescriptions (#92454)
This commit deletes the "simple" constructor of `CallDescription` which
did not require a `CallDescription::Mode` argument and always used the
"wildcard" mode `CDM::Unspecified`.
A few months ago, this vague matching mode was used by many checkers,
which caused bugs like https://github.com/llvm/llvm-project/issues/81597
and https://github.com/llvm/llvm-project/issues/88181. Since then, my
commits improved the available matching modes and ensured that all
checkers explicitly specify the right matching mode.
After those commits, the only remaining references to the "simple"
constructor were some unit tests; this commit updates them to use an
explicitly specified matching mode (often `CDM::SimpleFunc`).
The mode `CDM::Unspecified` was not deleted in this commit because it's
still a reasonable choice in `GenericTaintChecker` and a few unit tests.
Commit: ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
https://github.com/llvm/llvm-project/commit/ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
Log Message:
-----------
SystemZ: Use REG_SEQUENCE for PAIR128 (#90640)
PAIR128 should probably just be removed entirely
Depends #90638
Commit: 1e7d047c71ce0a8076f774b9106cd7a499a1c542
https://github.com/llvm/llvm-project/commit/1e7d047c71ce0a8076f774b9106cd7a499a1c542
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
Log Message:
-----------
[VPlan] Mark LoopInfo preserved in native-path as well (NFC).
LoopInfo is updated during VPlan execution now, so it will also be
updated correctly in the native path.
Commit: ac092925c3fa61144e606c7a9d0d375b96e1abda
https://github.com/llvm/llvm-project/commit/ac092925c3fa61144e606c7a9d0d375b96e1abda
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
Log Message:
-----------
[SelectionDAG] Widen cttz to cttz_zero_undef (#92514)
Instead of widening e.g. i8 cttz(x) to i16 cttz(x | 0x100), use the more
optimizable form cttz_zero_undef(x | 0x100) since the widened operand is
definitely not zero.
Commit: d1cff36e5e37cd552ec049335feb1dd8f94517ea
https://github.com/llvm/llvm-project/commit/d1cff36e5e37cd552ec049335feb1dd8f94517ea
Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
Log Message:
-----------
[MLIR][analysis] Lattice: Fix automatic delegation of meet to lattice value classes (#82620)
The class `Lattice` should automatically delegate invocations of the
meet operator to the meet operation of the associated lattice value
class if that class provides a static function called `meet`. This
process fails for two reasons:
1. `Lattice::has_meet` checks for a member function `meet` without
arguments of the lattice value class, although it should check for a
static member function.
2. The function template `Lattice::meet<VT>()` implementing the default
meet operation directly in the lattice is always present and takes
precedence over the delegating function template `Lattice::meet<VT,
std::integral_constant<bool, true>>()`.
This change fixes the automatic delegation of the meet operation of a
lattice to the lattice value class in the presence of a static `meet`
function by conditionally enabling either the delegating function
template or the non-delegating function template and by changing
`Lattice::has_meet` so that it checks for a static `meet` member
function in the lattice value type.
The test from `TestSparseBackwardDataFlowAnalysis.cpp` is changed, such
that the `meet` function is not provided directly in the `WrittenTo`
lattice, but by the `Lattice` base class in order to trigger delegation
to a lattice value class.
Commit: a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
https://github.com/llvm/llvm-project/commit/a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
Author: Matthias Springer <me at m-sp.org>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
Log Message:
-----------
[mlir][Transforms] Make 1:N function conversion pattern interface-based (#92395)
This commit turns the 1:N dialect conversion pattern for function
signatures into a pattern for `FunctionOpInterface`. This is similar to
the interface-based pattern that is provided with the 1:1 dialect
conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No
change in functionality apart from supporting all `FunctionOpInterface`
ops and not just `func::FuncOp`.
Commit: 98deedae929fce01f0c40d5a55d00e93fb121981
https://github.com/llvm/llvm-project/commit/98deedae929fce01f0c40d5a55d00e93fb121981
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Log Message:
-----------
[X86][CodeGen] Use switch-case for transform in X86DAGToDAGISel::PostprocessISelDAG, NFCI
This is to simplify code for #91747
Commit: 0ad275c1588065c9f4ef45a6a88f062182ad446b
https://github.com/llvm/llvm-project/commit/0ad275c1588065c9f4ef45a6a88f062182ad446b
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
M llvm/test/Transforms/InstCombine/vector-reductions.ll
Log Message:
-----------
[InstCombine] Fold vector.reduce.op(vector.reverse(X)) -> vector.reduce.op(X) (#91743)
For all of the following reductions:
vector.reduce.or
vector.reduce.and
vector.reduce.xor
vector.reduce.add
vector.reduce.mul
vector.reduce.umin
vector.reduce.umax
vector.reduce.smin
vector.reduce.smax
vector.reduce.fmin
vector.reduce.fmax
if the input operand is the result of a vector.reverse then we can
perform a reduction on the vector.reverse input instead since the answer
is the same. If the reassociation is permitted we can also do the same
folds for these:
vector.reduce.fadd
vector.reduce.fmul
Commit: a68d20e986053ec571223a9f3ead3e146a27dc82
https://github.com/llvm/llvm-project/commit/a68d20e986053ec571223a9f3ead3e146a27dc82
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG2428 "Deprecating a concept" (#92295)
This patch allows attributes to be attached to C++20 concepts,
implementing
[CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).
Commit: 371eccd5dfed88c8e76449233d8388c12be3464b
https://github.com/llvm/llvm-project/commit/371eccd5dfed88c8e76449233d8388c12be3464b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/docs/tools/clang-formatted-files.txt
R clang/include/clang/Tooling/NodeIntrospection.h
M clang/lib/Tooling/CMakeLists.txt
R clang/lib/Tooling/DumpTool/APIData.h
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
R clang/lib/Tooling/DumpTool/CMakeLists.txt
R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
R clang/lib/Tooling/NodeIntrospection.cpp
M clang/unittests/CMakeLists.txt
R clang/unittests/Introspection/CMakeLists.txt
R clang/unittests/Introspection/IntrospectionTest.cpp
M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn
Log Message:
-----------
[clang-query] Remove support for srcloc output (#92442)
This functionality was added about three years ago, but has been in a
significantly broken state since it was added. It has begun to cause a
maintenance burden for work in Clang (largely due to the complexity of
having two levels of code generation involved), and the original author
is unable to help maintain it. Because it only worked under limited
circumstances and because of the maintenance burden, it is being
removed. If someone wishes to resurrect the functionality, they should
hopefully be able to do so from this one commit.
Fixes #82591
Commit: f5c8242042c959cbf476778e1d8a874fc8747801
https://github.com/llvm/llvm-project/commit/f5c8242042c959cbf476778e1d8a874fc8747801
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
Log Message:
-----------
SimplifyLibCalls: Prefer to emit intrinsic in pow(2, x) -> ldexp(1, x) (#92363)
Commit: 3a32590f25482e283a79dea1f313a226a6dd392f
https://github.com/llvm/llvm-project/commit/3a32590f25482e283a79dea1f313a226a6dd392f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64] Avoid using NEON FCVTXN in Streaming-SVE mode. (#91981)
Commit: 932ca85680db5e4579306f37e55746097fb8ec7f
https://github.com/llvm/llvm-project/commit/932ca85680db5e4579306f37e55746097fb8ec7f
Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CodeGenFunction.cpp
A clang/test/CodeGen/clspv_libclc_builtin.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M libclc/generic/include/clc/clcfunc.h
Log Message:
-----------
libclc: remove __attribute__((assume)) for clspv targets (#92126)
Instead add a proper attribute in clang, and add convert it to function
metadata to keep the information in the IR. The goal is to remove the
dependency on __attribute__((assume)) that should have not be there in
the first place.
Ref https://github.com/llvm/llvm-project/pull/84934
Commit: 9917f3ce641490ff95a11d22e37754a972c05420
https://github.com/llvm/llvm-project/commit/9917f3ce641490ff95a11d22e37754a972c05420
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sme2p1-diagnostics.c
Log Message:
-----------
[Clang][AArch64] Require SVE or SSVE for scalable types. (#91356)
Scalable types are only available when:
* The function is compiled with +sve
* The function is compiled with +sme and the function is executed in
Streaming-SVE mode.
Commit: f39af73f3edcc949bf9dc3535effc59afbcdda22
https://github.com/llvm/llvm-project/commit/f39af73f3edcc949bf9dc3535effc59afbcdda22
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/bool-compare.c
M clang/test/Sema/parentheses.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
Log Message:
-----------
[clang][Sema] Warn consecutive builtin comparisons in an expression (#92200)
Add warning under `-Wparentheses` for consistency with `gcc 14.1`.
Closes #20456
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: b1161b2a40d89d4146f6b81fda073a37479edf0f
https://github.com/llvm/llvm-project/commit/b1161b2a40d89d4146f6b81fda073a37479edf0f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/nested-distribute.f90
Log Message:
-----------
[Flang][OpenMP] Fix semantics check for nested DISTRIBUTE (#91592)
Composite OpenMP constructs where DISTRIBUTE is the first leaf
construct, as well as standalone DISTRIBUTE constructs, are allowed
inside of TEAMS regions.
Before this patch, nesting a DISTRIBUTE construct inside of a combined
TARGET TEAMS construct was disallowed, which it shouldn't be. Now both
TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE
constructs.
Commit: a43d2f686a46fd9d971aa65fde4563375e16f3de
https://github.com/llvm/llvm-project/commit/a43d2f686a46fd9d971aa65fde4563375e16f3de
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
Log Message:
-----------
[Flang][OpenMP] NFC: Fix typo in include guard (#91593)
Commit: 502ccd81c6bcf913d2eddf9ed24496a9a634e808
https://github.com/llvm/llvm-project/commit/502ccd81c6bcf913d2eddf9ed24496a9a634e808
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove redundant check (#91594)
The check removed by this patch in the OpenMP to LLVM IR translation
pass already exists as part of the op verifier for `omp.loop_nest`.
Commit: d3d5a30021b8df26ac4b2b01e659ab8487fb4080
https://github.com/llvm/llvm-project/commit/d3d5a30021b8df26ac4b2b01e659ab8487fb4080
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Remove `const_cast` from `ParseClassSpecifier`
Commit: 89b83d2d3f2ae7b806987143167e8ccb79c6d674
https://github.com/llvm/llvm-project/commit/89b83d2d3f2ae7b806987143167e8ccb79c6d674
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/version-check.yml
M llvm/utils/git/requirements.txt
Log Message:
-----------
[git] Add hashes to requirements.txt for extra security (#92305)
https://pip.pypa.io/en/stable/topics/secure-installs/
Commit: 6677aef28583526c65073bd2406ca1246a41c2a8
https://github.com/llvm/llvm-project/commit/6677aef28583526c65073bd2406ca1246a41c2a8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500)
This patch remove const-qualification from pointee type of
`FunctionTemplateSpecializationInfo::TemplateArguments`, because it's
(eventually) used to initialize `MultiLevelTemplateArgumentList`, which
can actually mutate the arguments via
https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204
Mutation seems to be required to correctly handle packs:
https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469
Commit: a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
https://github.com/llvm/llvm-project/commit/a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#91606)
[Recommit of e88ba6d975d887ca001cae30bfa0c53d91165148]
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: fa9881d6a9d0bf3c72754a310c800d424c2db932
https://github.com/llvm/llvm-project/commit/fa9881d6a9d0bf3c72754a310c800d424c2db932
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
[X86] vector-bitreverse.ll - add AVX512BW+AVX512VL test coverage
Commit: c4017cda006c437c8400e280f8473aa65c302b40
https://github.com/llvm/llvm-project/commit/c4017cda006c437c8400e280f8473aa65c302b40
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
M offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/tools/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove header license in CMake files (#92544)
Summary:
No other project has these in the CMake itself, and they're wildly
inconsistent even within the project. These don't really add anything so
I think they should be removed.
Commit: 8c5e487ee3160cf4d40c0680ed40e4b0a494e956
https://github.com/llvm/llvm-project/commit/8c5e487ee3160cf4d40c0680ed40e4b0a494e956
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL][CMake] Add clangd and distribution settings (#92011)
This just adds some simple distribution settings and includes clangd in
the build for distribution.
Commit: 30d0850e0f780b17a37522e6503c98ebe197c5fa
https://github.com/llvm/llvm-project/commit/30d0850e0f780b17a37522e6503c98ebe197c5fa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/Parse/ParseCXXInlineMethods.cpp
Log Message:
-----------
[clang][NFC] Improve const-correctness in `ParseLexedMethodDeclaration`
Commit: 9ba0a7725680fec5e071634f814a9d32ba33e852
https://github.com/llvm/llvm-project/commit/9ba0a7725680fec5e071634f814a9d32ba33e852
Author: maxbartel <bartel at roofline.ai>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
Log Message:
-----------
[mlir][spirv] Add support for dense_resource in arith to spirv (#91318)
This adds support for `dense_resource` in arith to spirv.
Note that this inlines the blob into the IR. Another possibility would
be to add proper dense_resource support to spirv, but there is a lot of
special handling going on to convert a `DenseElementsAttr` to the
correct SPIRV type. Some of that even iterates over all the values in
the Attribute. For proper support of a `DenseResourceElementsAttr` this
probably needs a redesign. I would like to hear some opinions on that!
The test is disabled on non little Endian machines. See
https://github.com/llvm/llvm-project/issues/63469 for more information.
Commit: 9b6f0735fbff4e9a51f0c76f5630be649490f6ef
https://github.com/llvm/llvm-project/commit/9b6f0735fbff4e9a51f0c76f5630be649490f6ef
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[Support] Drop nop conversions of StringRef to StringRef (NFC)
Both sides here are known to be of StringRef.
Commit: c0cdc1d9569fdb8e3b672befda80cf90db24e814
https://github.com/llvm/llvm-project/commit/c0cdc1d9569fdb8e3b672befda80cf90db24e814
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
Log Message:
-----------
[flang] Allow flexible producer name in #di_compile_unit (NFC) (#92462)
Commit: 84aee95124549c5d13e22053af254e3fcc02bc84
https://github.com/llvm/llvm-project/commit/84aee95124549c5d13e22053af254e3fcc02bc84
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
Log Message:
-----------
[clang][NFC] Remove `const_cast` from `Preprocessor::addModuleMacro()`
Commit: e919df57770d43217cbd4d05f92de8dc7aac5035
https://github.com/llvm/llvm-project/commit/e919df57770d43217cbd4d05f92de8dc7aac5035
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[MLIR][Transforms] Correct block sorting utils name (NFC) (#92558)
This commit renames the name of the block sorting utility function to
`getBlocksSortedByDominance`. A topological order is not defined on a
general directed graph, so the previous name did not make sense.
Commit: 9e39a0c723ced1aefdb30cece554356644aac148
https://github.com/llvm/llvm-project/commit/9e39a0c723ced1aefdb30cece554356644aac148
Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[MLIR][ArmSME] Fix for block sorting refactor
This commit fixes a breakage introduced by changing the name of the
block sorting function.
Related PR: https://github.com/llvm/llvm-project/pull/92558
Commit: 621d0f3e86ecc46c2df302041777e42dfc10171e
https://github.com/llvm/llvm-project/commit/621d0f3e86ecc46c2df302041777e42dfc10171e
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263)
Fixes #92188
Commit: 8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
https://github.com/llvm/llvm-project/commit/8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang][NFC] Remove an unnecessary `const_cast`
Commit: e01ff8238cf62c7149de7b8046bccec9adefbe67
https://github.com/llvm/llvm-project/commit/e01ff8238cf62c7149de7b8046bccec9adefbe67
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Fix scalability issues in drop innermost unit dims transfer patterns (#92402)
Previously, these rewrites would drop scalable dimensions and treated
`[1]` (scalable one dim) as a unit dimension. This patch propagates
scalable dimensions and ensures `[1]` is not treated as a unit
dimension.
Commit: d38ea8c4c84be9496249098053599c24b87f1376
https://github.com/llvm/llvm-project/commit/d38ea8c4c84be9496249098053599c24b87f1376
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
Log Message:
-----------
[lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)
Install `_exe_to_attach` to a remote target if necessary.
Commit: d90159add4140d6f4994f5767fa6ef31cc28897b
https://github.com/llvm/llvm-project/commit/d90159add4140d6f4994f5767fa6ef31cc28897b
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[LSP] Use std::string for storing the Reply method (#92464)
This was using a StringRef, which is very unsafe because the method name
might just get disposed due to the async nature of the response.
This was causing weird characters being printed in the output logs.
Commit: 45daa4fdc68f5faa5bd5c33da052d2415cd88540
https://github.com/llvm/llvm-project/commit/45daa4fdc68f5faa5bd5c33da052d2415cd88540
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317)
The number of operations dedicated to CUF grew and where all still in
FIR. In order to have a better organization, the CUF operations,
attributes and code is moved into their specific dialect and files. CUF
dialect is tightly coupled with HLFIR/FIR and their types.
The CUF attributes are bundled into their own library since some
HLFIR/FIR operations depend on them and the CUF dialect depends on the
FIR types. Without having the attributes into a separate library there
would be a dependency cycle.
Commit: e3686755eab66604335e246ed7b30033ab71dbbc
https://github.com/llvm/llvm-project/commit/e3686755eab66604335e246ed7b30033ab71dbbc
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
Log Message:
-----------
[mlir][polynomial] implement add for polynomial data structure (#92169)
A change extracted from https://github.com/llvm/llvm-project/pull/91655,
where I'm still trying to get the attributes working for elementwise
constant folding of polynomial ops. This piece is self-contained.
- use CRTP for base classes
- Add unit test
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 874f511ae779a38bd9ad9d80db63c0a10252e526
https://github.com/llvm/llvm-project/commit/874f511ae779a38bd9ad9d80db63c0a10252e526
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaCodeCompletion.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[clang] Introduce `SemaCodeCompletion` (#92311)
This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.
Commit: d74bc823beabbb7067a4b4ae2d69a36d874f5132
https://github.com/llvm/llvm-project/commit/d74bc823beabbb7067a4b4ae2d69a36d874f5132
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
Log Message:
-----------
[lldb] Include SBLanguages in the SWIG bindings (#92470)
Commit: dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
https://github.com/llvm/llvm-project/commit/dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
A etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
A flang/test/Semantics/etime.f90
Log Message:
-----------
[reland][flang] Add ETIME runtime and lowering intrinsics implementation (#92571)
This is same as https://github.com/llvm/llvm-project/pull/90578 with an
added fix. This PR updated tests of etime intrinsic due to Lowering
changes for assigning dummy_scope to hlfir.declare. Referring to
https://github.com/llvm/llvm-project/pull/92472 and
https://github.com/llvm/llvm-project/pull/90989
Commit: a4ad05284e97dd188c44252846486cbfb74a884c
https://github.com/llvm/llvm-project/commit/a4ad05284e97dd188c44252846486cbfb74a884c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb-dap] Replace `assertEquals` with `assertEqual` (NFC)
Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.
Commit: 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
https://github.com/llvm/llvm-project/commit/932bef23276da05c5eed2ffe7c62b7fc5f39caf1
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/canonicalization.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Poly canonicalization (#91410)
Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: e18c4838811f2a6f9592ddeaed585a3830ebc8aa
https://github.com/llvm/llvm-project/commit/e18c4838811f2a6f9592ddeaed585a3830ebc8aa
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[mlir] add arith dialect dep to fix buildbot failure (#92585)
https://lab.llvm.org/buildbot/#/builders/268/builds/14288
```undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ConstantOp, void>::id'```
Commit: f7516c7f3f00fca7271056cc9abeda2da4687c17
https://github.com/llvm/llvm-project/commit/f7516c7f3f00fca7271056cc9abeda2da4687c17
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CodeGen/array-init.c
Log Message:
-----------
[CodeGen] Support arrays with initializers of 64-bit size
Based on @OfekShochat's https://reviews.llvm.org/D133648
init.c is the primary test for array initialization, but it uses a
32-bit triple, which would lead to an "array is too large" error. Add
the new test to array-init.c instead.
Fix #57353
Pull Request: https://github.com/llvm/llvm-project/pull/92473
Commit: 487d5af6482ea5f074c12d29d7e376d3fc697706
https://github.com/llvm/llvm-project/commit/487d5af6482ea5f074c12d29d7e376d3fc697706
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
[ctx_profile] Integration test (#92456)
Compile with clang a program that's instrumented for contextual profiling and verify a profile can be collected.
Commit: 16bb7e89a995dfe8b14a8ddbce3da79c217e884a
https://github.com/llvm/llvm-project/commit/16bb7e89a995dfe8b14a8ddbce3da79c217e884a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/mapping/array_section_implicit_capture.c
M offload/test/offloading/default_thread_limit.c
M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-array.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
M offload/test/offloading/spmdization.c
M offload/test/offloading/thread_limit.c
Log Message:
-----------
[Offload][NFC] Remove all trailing whitespace from offload/ (#92578)
Summary:
This patch cleans up the training whitespace in a bunch of tests and
CMake files. Most just in preparation for other cleanups.
Commit: 770d92830311b21c82ff12ba85bd131950db23d0
https://github.com/llvm/llvm-project/commit/770d92830311b21c82ff12ba85bd131950db23d0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
R offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
M offload/unittests/Plugins/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove 'libomptarget' message helpers (#92581)
Summary:
This isn't `libomptarget` anymore, and these messages were always
unnecessary because no other project uses these prefixed messages. The
effect of this is that no longer will the logs have `LIBOMPTARGET --` in
front of everything. We have a message stating when we start building
the offload project so it'll still be trivial to find.
Commit: 48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
https://github.com/llvm/llvm-project/commit/48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
Log Message:
-----------
AMDGPU: Handle undef correctly in isKnownIntegral (#92566)
Commit: 1e5f29af81a5f6fda308074f6345b9fba4faa71c
https://github.com/llvm/llvm-project/commit/1e5f29af81a5f6fda308074f6345b9fba4faa71c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
Revert "[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion"
This reverts commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba.
parseEOL() would remove \n # after .endr, not recognizing the line marker.
```
// reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
.rept 1
nop
.endr
# 512 "a.s"
```
Commit: 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
https://github.com/llvm/llvm-project/commit/0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-late-parsed-off.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
A clang/test/Sema/attr-counted-by-vla.c
R clang/test/Sema/attr-counted-by.c
Log Message:
-----------
[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)
Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.
For example this previously wasn't allowed:
```
struct BufferTypeDeclAttributePosition {
size_t count;
char* buffer __counted_by(count); // Now allowed
}
```
Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:
* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member
This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example
```
struct BufferTypeDeclAttributePosition {
char* buffer __counted_by(count); // Now allowed
size_t count;
}
```
is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.
Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:
```
struct BufferTypeAttributePosition {
size_t count;
char *__counted_by(count) buffer; // Now allowed
}
```
However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:
```
struct BufferTypeAttributePosition {
char *__counted_by(count) buffer; // Fails to parse
size_t count;
}
```
The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.
There are also several other follow up changes that will need to be
addressed in future patches:
* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).
This work is heavily based on a patch originally written by Yeoul Na.
rdar://125400257
Co-authored-by: Dan Liew <dan at su-root.co.uk>
Commit: 1b58940c88edaad9320bd21eaa7da65f7e791552
https://github.com/llvm/llvm-project/commit/1b58940c88edaad9320bd21eaa7da65f7e791552
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser,test] Test line marker after .endr \n
Regression test for 1e5f29af81a5f6fda308074f6345b9fba4faa71c
Reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
Commit: 76fdc2e52719c7164e3f2cb05158a74df2b3d22e
https://github.com/llvm/llvm-project/commit/76fdc2e52719c7164e3f2cb05158a74df2b3d22e
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][NFC] Rename isUnsupportedBranch to isReversibleBranch (#92447)
`isUnsupportedBranch` is not a very informative name, and doesn't match
its corresponding `reverseBranchCondition`, as I noted in PR #92018.
Here's a renaming to a more mnemonic name.
Commit: 112eadd55f06bee15caadff688ea0b45acbfa804
https://github.com/llvm/llvm-project/commit/112eadd55f06bee15caadff688ea0b45acbfa804
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`
0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 changed the `counted_by`
attribute to be `LateAttrParseExperimentalExt`. This means the attribute
is no longer supported by `#pragma clang attribute`. However, the
`pragma-attribute-supported-attributes-list.test` wasn't updated
to account for that.
rdar://125400257
Commit: df575be9d864886684e536cd76c5a96bb0d443a6
https://github.com/llvm/llvm-project/commit/df575be9d864886684e536cd76c5a96bb0d443a6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Add `const` qualifier in `Sema::isIncompatibleTypedef`
Commit: af7467ce9f447d6fe977b73db1f03a18d6bbd511
https://github.com/llvm/llvm-project/commit/af7467ce9f447d6fe977b73db1f03a18d6bbd511
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M libcxx/src/atomic.cpp
M libcxx/src/chrono.cpp
M libcxxabi/src/cxa_guard_impl.h
Log Message:
-----------
[libcxx][libcxxabi] Fix build for OpenBSD (#92186)
- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.
- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.
See https://lists.boost.org/boost-bugs/2015/07/41690.php and
https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
for a description of an analogous problem and fix for Boost.
Commit: 1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
https://github.com/llvm/llvm-project/commit/1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
Log Message:
-----------
Fix flaky test: signal_in_mutex_lock.cpp (#92587)
Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.
My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.
rdar://126768628
Commit: 6d50a79b721760fa5e10b81ebe6d1e37f141f61b
https://github.com/llvm/llvm-project/commit/6d50a79b721760fa5e10b81ebe6d1e37f141f61b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/cudadevice.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)
This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.
Commit: bdfb04a63d73c31ee75395064762d0d6ccb45819
https://github.com/llvm/llvm-project/commit/bdfb04a63d73c31ee75395064762d0d6ccb45819
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.1
Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.
Commit: e2db08f8f1a7dd37cd18705164f0c1188707e5b6
https://github.com/llvm/llvm-project/commit/e2db08f8f1a7dd37cd18705164f0c1188707e5b6
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
Log Message:
-----------
[test] Use conventional -emit-llvm-only
Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
Commit: 8da3a8f550d0b266411b2dc177dff8591ee86cb2
https://github.com/llvm/llvm-project/commit/8da3a8f550d0b266411b2dc177dff8591ee86cb2
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
A llvm/test/CodeGen/NVPTX/param-overalign.ll
Log Message:
-----------
[NVPTX] fixup support for over-aligned parameters (#92457)
This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:
- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.
Commit: fe2ff54590c313551e7968179b48988ff0916290
https://github.com/llvm/llvm-project/commit/fe2ff54590c313551e7968179b48988ff0916290
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/descriptor-io.h
A flang/runtime/io-api-common.h
A flang/runtime/io-api-minimal.cpp
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang][runtime] Decouple scalar output APIs from descriptors (#92444)
For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)
Commit: ab7930bd9f088c4fcdfd438b5207a4052c9669b8
https://github.com/llvm/llvm-project/commit/ab7930bd9f088c4fcdfd438b5207a4052c9669b8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c09.f90
M flang/test/Semantics/bind-c12.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
Log Message:
-----------
[flang] Relax checking of dummy procedures under BIND(C) (#92474)
As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.
Commit: b80e0fbcfb71b24d762d8b48069153b9e16679be
https://github.com/llvm/llvm-project/commit/b80e0fbcfb71b24d762d8b48069153b9e16679be
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][polynomial] split attributes into its own tablegen (#92613)
Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).
This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.
Commit: cef6387e52578366c2332275dad88b9953b55336
https://github.com/llvm/llvm-project/commit/cef6387e52578366c2332275dad88b9953b55336
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-counted-by-vla.c
Log Message:
-----------
[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members
In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:
```
struct has_unannotated_VLA {
int count;
char buffer[];
};
struct buffer_of_structs_with_unnannotated_vla {
int count;
struct has_unannotated_VLA Arr[] __counted_by(count);
};
```
In this example assuming the size of `Arr` is `sizeof(struct
has_unannotated_VLA)*count` (which is what the attribute says) is wrong
because it doesn't account for the size of
`has_unannotated_VLA::buffer`. This is why this kind of code construct
was treated as an error.
However, it turns out existing Linux kernel code used the attribute
on a flexible array member in this way
(https://github.com/llvm/llvm-project/pull/90786#issuecomment-2118416515).
To unbreak the build this restriction is downgraded to a warning with
the plan to make it an error again once the errornous use of the
attribute in the Linux kernel is resolved.
Commit: 86e511bc145ffe6e08f2f440b329c5ed9cb38532
https://github.com/llvm/llvm-project/commit/86e511bc145ffe6e08f2f440b329c5ed9cb38532
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406
Commit: 881f20e958e80bd30463fc57d2d3e891bcb8a571
https://github.com/llvm/llvm-project/commit/881f20e958e80bd30463fc57d2d3e891bcb8a571
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
R compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
Revert "[ctx_profile] Integration test (#92456)"
This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.
This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559
Commit: b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
https://github.com/llvm/llvm-project/commit/b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
Log Message:
-----------
DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info
Commit: 1e9324a8c734aaa933d2672522cc22d5022c6200
https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/source/API/SBExpressionOptions.cpp
Log Message:
-----------
[lldb] Namespace SBSourceLanguageName (NFC)
Commit: faf39f45e3107d6bcb5f9cef8b5681c116b261d7
https://github.com/llvm/llvm-project/commit/faf39f45e3107d6bcb5f9cef8b5681c116b261d7
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lld/ELF/InputSection.cpp
R lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"
This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.
This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html
Pull Request: https://github.com/llvm/llvm-project/pull/92584
Commit: 702198fc9ac5dba392f9d9ba7c56467996343c0a
https://github.com/llvm/llvm-project/commit/702198fc9ac5dba392f9d9ba7c56467996343c0a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Add data attribute to program globals (#92610)
Commit: cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
https://github.com/llvm/llvm-project/commit/cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M .github/dependabot.yml
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
Reapply "[ctx_profile] Integration test (#92456)"
This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.
Passing -ldl -lpthread explicitly
Commit: 9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
https://github.com/llvm/llvm-project/commit/9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M .github/dependabot.yml
Log Message:
-----------
[Github] Revert accidental changes to dependabot config
f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.
Commit: 219476d20fcdb21644944b0c204b4ac6d6ef3760
https://github.com/llvm/llvm-project/commit/219476d20fcdb21644944b0c204b4ac6d6ef3760
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
R etime-function.mlir
Log Message:
-----------
Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)
The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.
Commit: 195ba4572129befa25ca56439515d7cb91587c56
https://github.com/llvm/llvm-project/commit/195ba4572129befa25ca56439515d7cb91587c56
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-arg.s
M llvm/test/MC/AsmParser/macro-irp.s
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion
```
.irp foo,1
nop
.endr
nop
```
expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.
`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))
Instead, skip the potential \n after jumpToLoc at handleMacroExit.
Commit: bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
https://github.com/llvm/llvm-project/commit/bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/test/Driver/include-omp-header.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
Log Message:
-----------
[flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)
Commit: 2a97b507dc643b7ee3bc651b3f21b754cfba433c
https://github.com/llvm/llvm-project/commit/2a97b507dc643b7ee3bc651b3f21b754cfba433c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
Log Message:
-----------
[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)
Commit: 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
https://github.com/llvm/llvm-project/commit/7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/MC/AsmParser/macro-irp.s
R llvm/test/MC/AsmParser/macro-rept-err1.s
R llvm/test/MC/AsmParser/macro-rept-err2.s
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] Improve .rept/.irp tests
Commit: 2c2e0507e92bdb77a01828f899ff59e44492b537
https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`
Ignore `ImplicitCastExpr` when building `AttrExp` for capability
attribute diagnostics.
Fixes: https://github.com/llvm/llvm-project/issues/92118.
Commit: f7b0b99c52ee36ed6ca8abcce74a752e483768d6
https://github.com/llvm/llvm-project/commit/f7b0b99c52ee36ed6ca8abcce74a752e483768d6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang][NFC] Further improvements to const-correctness
Commit: 778826f0b8fb9f1a595ce8ab23faad6daa9466f5
https://github.com/llvm/llvm-project/commit/778826f0b8fb9f1a595ce8ab23faad6daa9466f5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Combine select to integer min max more (#92570)
Commit: 4b62afca64a3f18cd57a3b3247330effd4b38098
https://github.com/llvm/llvm-project/commit/4b62afca64a3f18cd57a3b3247330effd4b38098
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
Log Message:
-----------
[X86][CodeGen] Support flags copy lowering for CCMP/CTEST (#91849)
```
%1:gr64 = COPY $eflags
OP1 may update eflags
$eflags = COPY %1
OP2 may use eflags
```
To use eflags as input at 4th instruction, we need to use SETcc to
preserve the eflags before 2, and update the source condition of OP2
according to value in GPR %1.
In this patch, we support CCMP/CTEST as OP2.
Commit: 33550b43f49a4e5b20e748936278e55f67e4b929
https://github.com/llvm/llvm-project/commit/33550b43f49a4e5b20e748936278e55f67e4b929
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/CFGLoopInfo.h
M mlir/include/mlir/IR/Block.h
M mlir/lib/Analysis/CFGLoopInfo.cpp
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir] Add operator<< for printing `Block` (#92550)
Turns out it was already in Analysis/CFGLoopInfo, so just move it
to IR/AsmPrinter.
Commit: e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
https://github.com/llvm/llvm-project/commit/e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
Log Message:
-----------
[flang][cuf] Add attr gen dependency to fix #92635
Commit: 58c778565cd64a69ea86e7e67e6a87fff3b0b224
https://github.com/llvm/llvm-project/commit/58c778565cd64a69ea86e7e67e6a87fff3b0b224
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[nfc][ctx_profile] Fix printf - related `-Wformat-pedantic`
Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/st-param-imm.ll
Log Message:
-----------
[NVPTX] support immediate values in st.param instructions (#91523)
Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.
Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Remove unused removeLastOperand (NFC).
The last use of the function has been removed a while ago. Remove the
unused function.
Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/tools/dsymutil/MachODebugMapParser.cpp
Log Message:
-----------
[dsymutil] Use operator==(StringRef, StringRef) (NFC)
Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
Log Message:
-----------
[DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)
Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
Log Message:
-----------
[DXIL] Use consistent SmallVector parameters
Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886
Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
Author: David Green <david.green at arm.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[DAG] Use copysign in frem power-2 fold. (#91751)
As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.
In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan
Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
Author: David Green <david.green at arm.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
Log Message:
-----------
[VectorCombine] Don't transform single shuffles in shuffleToIdentity
This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.
Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/UpdateTestChecks/isel.py
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
update_test_checks: match IR basic block labels (#88979)
Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.
Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.
We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.
This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.
I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.
Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.
Commit: d34be649af1aa849c21a5a0570617c3a89d5f0b8
https://github.com/llvm/llvm-project/commit/d34be649af1aa849c21a5a0570617c3a89d5f0b8
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[ThinLTO]Sort imported GUIDs before cache key update (#92622)
Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)
@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.
Commit: 7b977e0f644c43232732e149b03d41de321d804e
https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)
The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Reformat
Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]
`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.
`clang_rt.ctx_profile` has been introduced in #92456.
Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
Log Message:
-----------
[NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)
In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.
Commit: ef890572f379273da09db964b9ea1b67aa324762
https://github.com/llvm/llvm-project/commit/ef890572f379273da09db964b9ea1b67aa324762
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port b4ba3fe0068b
Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
Log Message:
-----------
[GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)
This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
%y = and i64 %x, 16383
%z = xor i64 %y, 16368
ret i64 %z
}
```
Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
Author: David Green <david.green at arm.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Additional extend tests for shuffleToIdentity. NFC
Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.
The only difference is the operand index for the element index variable.
Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
[ctx_profile] Pass lib path into test
Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828
Commit: e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
https://github.com/llvm/llvm-project/commit/e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/X86/pr92569.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison
We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.
Fixes #92569
Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch
No need for this to be vector specific, and its more likely that scalar cases will appear after #92096
Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch
No need for this to be vector specific, and its more likely that scalar cases will appear after #92576
Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-counted-by-vla.c
Log Message:
-----------
Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"
Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403
Issue #92687
This reverts commit cef6387e52578366c2332275dad88b9953b55336.
Commit: 6447abe067c8088a5cc093fe872719374e174068
https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
R clang/test/AST/attr-counted-by-struct-ptrs.c
R clang/test/Sema/attr-counted-by-late-parsed-off.c
R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
R clang/test/Sema/attr-counted-by-struct-ptrs.c
R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
R clang/test/Sema/attr-counted-by-vla.c
A clang/test/Sema/attr-counted-by.c
Log Message:
-----------
Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"
Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403
Issue #92687
This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.
Commit: c587483da0b50efa04146fde205da1d16731e12e
https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"
Issue #92687
This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.
Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/eh.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
M llvm/test/Transforms/Inline/inline_invoke.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)
At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.
Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[CodeGen][SDAG] Skip preferred extend at O0 (#92643)
This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.
Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen][SDAG] Track returntwice in lowering info (#92640)
This saves an extra iteration over the all instructions of the function.
Commit: eab92cb7f33be16a6a17549182e9237112b7a183
https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)
This PR is to address the issue #84640
Commit: c1c1567d60983298a0db0efefd78899985464f19
https://github.com/llvm/llvm-project/commit/c1c1567d60983298a0db0efefd78899985464f19
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
Log Message:
-----------
SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)
Commit: b050048d35f6580fb427e6de9063444aa85625c6
https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)
Simplify a common pattern generated for masks when folding the tail.
PR: https://github.com/llvm/llvm-project/pull/89386
Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
A clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/HLSLDocs.rst
Log Message:
-----------
HLSL availability diagnostics design doc (#92207)
Design document for the HLSL availability diagnostic modes
Fixes microsoft/hlsl-specs#190
---------
Co-authored-by: Xiang Li <python3kgae at outlook.com>
Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
Author: Isaac David <61389980+orion160 at users.noreply.github.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/docs/ORCv2.rst
Log Message:
-----------
[DOCS] ORCv2.rst Typo (#89482)
Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Parser/attr-availability.c
M clang/test/Sema/attr-availability-ios.c
A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
Log Message:
-----------
[Clang][HLSL] Add environment parameter to availability attribute (#89809)
Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.
This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.
The environment parameter is currently supported only for HLSL.
Fixes #89802
Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
M llvm/test/Transforms/InstCombine/or-fcmp.ll
Log Message:
-----------
ValueTracking: Correct undef handling for constant FP vectors (#92557)
Treat undef as unknown, and poison as ignorable.
Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
Log Message:
-----------
[BOLT] Fix preserved offset in fixDoubleJumps (#92485)
Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
[AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)
Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.
Related to [77615](https://github.com/llvm/llvm-project/pull/77615).
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: ad625a407622ba5817ef58e30357139a40cf929e
https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[TableGen] Avoid std::string copy. NFC
Fix #92702
Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M .github/workflows/llvm-bugs.yml
Log Message:
-----------
Update llvm-bugs.yml (#77243)
Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Option/OptTable.cpp
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)
Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format][NFC] Clean up SortIncludesTest.cpp
Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.
Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
Log Message:
-----------
[mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)
Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)
* Given the code sequence
```
bb:
%vtable = load ptr, ptr %d, !prof !8
%vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
%1 = load ptr, ptr %vfn
%call = tail call i32 %1(ptr %d), !prof !9
```
The transformation looks like
```
bb:
%vtable = load ptr, ptr %d, align 8
%vfn = getelementptr inbounds i8, ptr %vtable, i64 8 <-- Inst 1
%func-addr = load ptr, ptr %vfn, align 8 <-- Inst 2
# compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18
if.true.direct_targ: ; preds = %bb
%2 = tail call i32 @<direct-call>(ptr nonnull %d)
br label %if.end.icp
if.false.orig_indirect: ; preds = %bb
%call = tail call i32 %func-addr(ptr nonnull %d)
br label %if.end.icp
if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]
```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)
* The parent patch is https://github.com/llvm/llvm-project/pull/81181
Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Use operator==(StringRef, StringRef) (NFC) (#92708)
Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
Log Message:
-----------
[SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)
Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[llvm] Use StringRef::contains (NFC) (#92710)
Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it (#92353)
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.
Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/yaml-non-simple.test
Log Message:
-----------
[BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)
YAML profile for non-simple functions without CFG is
1) useless for optimizations,
2) can't be attached, similar to fdata profile,
3) would be reported as invalid/stale even if the profile is valid.
Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.
Test Plan: added yaml-non-simple.test
Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/cast_ptr.ll
Log Message:
-----------
[InstCombine] Fold pointer adding in integer to arithmetic add (#91596)
Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
%base = inttoptr i32 %x to ptr
%ptr = getelementptr inbounds i8, ptr %base, i32 %y
%r = ptrtoint ptr %ptr to i32
ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
%r = add i32 %x, %y
ret i32 %r
}
```
The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.
### Motivation
It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is
https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873
``` llvm
%conv.i188 = zext i32 %145 to i64
%add.i189 = add i64 %conv.i188, %125
%146 = load i16, ptr %num_aux_entries10.i, align 2
%conv2.i191 = zext i16 %146 to i64
%mul.i192 = shl nuw nsw i64 %conv2.i191, 3
%add3.i193 = add i64 %add.i189, %mul.i192
%147 = inttoptr i64 %add3.i193 to ptr
%sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
%sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
%sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
%add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
%sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```
where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.
Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
[AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)
Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
Log Message:
-----------
[AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)
Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.
Commit: 8de7890572296830b27b6e6db39b36810bc98c31
https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
A llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)
The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.
* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.
* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.
[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195
Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] Remove unused ASTWriter::getTypeID
As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.
Commit: b6e102e08cd35543175459494211a3a15f793302
https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
Log Message:
-----------
[SCEV] Don't use non-deterministic constant folding for trip counts (#90942)
When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.
Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.
Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.
Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
R llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)
Reverts llvm/llvm-project#88024
Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)
Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/ParallelCG.cpp
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[llvm] Use SmallString::str (NFC) (#92712)
Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Only set Info.memVT when not later overridden (#92670)
For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).
Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] Make UseAssemblerInfoForParsing mostly true
Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).
`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.
I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.
```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc # succeeded
% clang -c b.cc # succeeded with this patch
% clang -S b.cc # still failed
<inline asm>:4:5: error: expected absolute expression
4 | .if . -_start == 1
| ^
1 error generated.
```
However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.
Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841
Pull Request: https://github.com/llvm/llvm-project/pull/91082
Commit: eac743d1b01fd44bc742e1ccc2be8360908bdbf8
https://github.com/llvm/llvm-project/commit/eac743d1b01fd44bc742e1ccc2be8360908bdbf8
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/test/CodeGen/Mips/msa/inline-asm.ll
Log Message:
-----------
MIPS: Support '%w' token in inline asm template for MSA (#91920)
MSA registers share the FPRs as its bottom half. So that we can use MSA
instructions to work with normal float/double:
double a, b, c;
asm volatile ("fmadd.d %w0, %w1, %w2" : "+f"(a) : "f"(b), "f"(c));
GCC has support it for quite long time.
Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
https://github.com/llvm/llvm-project/commit/d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/test/Driver/mips-as.c
M clang/test/Driver/mips-features.c
Log Message:
-----------
Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)
MSA requires -mfp64. If FP64 is supported by CPU (mips32r2+), and no
-mfp32/-mfpxx is explicitly given, let's add +fp64. Otherwise some cmd
like
clang --target=mips -mips32r5 -mmsa
will issue LLVM backend ICE.
Commit: 073488cb1f2ca131253efa3171bd56be34ba9fb3
https://github.com/llvm/llvm-project/commit/073488cb1f2ca131253efa3171bd56be34ba9fb3
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
Log Message:
-----------
MIPS/Clang: Use FP32 by default if CPU is mips1 (#92122)
FP32 is the only supported FPMode of mips1.
FPXX requires MIPS2+ and FP64 requires MIPS32r2+.
Commit: dd8cb3d4f120edcf5fc3939594ee086c44010274
https://github.com/llvm/llvm-project/commit/dd8cb3d4f120edcf5fc3939594ee086c44010274
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/mips-eh_frame-pic.s
Log Message:
-----------
[ELF] Support high address DW_EH_sdata4 for ELFCLASS32
When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.
In LLVM, this appears a MIPS-specific issue.
Fix #88852
Pull Request: https://github.com/llvm/llvm-project/pull/92438
Commit: 2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
https://github.com/llvm/llvm-project/commit/2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/pr92233.ll
Log Message:
-----------
[PowerPC]perform bitcast lowering only at 64 bit
Perform bitcast lowering requires 64-bit to be native supported,
However this is not true on 32-bit targets. Explicitly require
64-bit target.
Fixes #92233
Commit: a027bea438e285380450f5b380be072f44ee0312
https://github.com/llvm/llvm-project/commit/a027bea438e285380450f5b380be072f44ee0312
Author: hev <wangrui at loongson.cn>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
Log Message:
-----------
[LoongArch] Select {DIV,MOD}.{W,WU} instruction to eliminate explicit sign extension (#92205)
Commit: 6582efc263c0df921b88b03bbdcd28a89daaa641
https://github.com/llvm/llvm-project/commit/6582efc263c0df921b88b03bbdcd28a89daaa641
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Fix __is_array returning true for zero-sized arrays (#86652)
Fixes #54705
Commit: da6a0b7af29a222b2e16a10155b49d4fafe967f3
https://github.com/llvm/llvm-project/commit/da6a0b7af29a222b2e16a10155b49d4fafe967f3
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Sema/OpenCLBuiltins.td
Log Message:
-----------
[OpenCL] Add cl_khr_kernel_clock builtins (#91950)
Commit: 50b2bd4a25bb3a7a0790cb59e1240099efd7092e
https://github.com/llvm/llvm-project/commit/50b2bd4a25bb3a7a0790cb59e1240099efd7092e
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/objc_external_category.m
Log Message:
-----------
[clang][ExtractAPI] Remove symbols defined in categories to external types unless requested (#92522)
rdar://128259890
Commit: b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
https://github.com/llvm/llvm-project/commit/b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll
Log Message:
-----------
[RISCV][CostModel] Remove cost of icmp inst in icmp+select with SFB. (#91158)
With ShortFowrardBranchOpt(SFB) or ConditionalMoveFusion, scalar
ICmp and scalar Select instructions will lower to SELECT_CC
and lower to PseudoCCMOVGPR which will generate a conditional
branch instruction and a move instruction.
The cost of scalar (ICmp + Select) = (0 + Select instruction cost)
Commit: f5211d79b9edf56c08143491ccde38d480b40ab8
https://github.com/llvm/llvm-project/commit/f5211d79b9edf56c08143491ccde38d480b40ab8
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
Log Message:
-----------
[DebugInfo][GVNSink] Fix #77415: GVNSink fails to optimize LLVM IR with debug info (#77602)
This PR fixes issue #77415 and is revised from PR #77419 .
PR #77419 breaks the newly added test in the same PR on windows, because
GVNSink is non-deterministic when sorting `BasicBlock*` pointers. This
is reflected in the failure report.
```
# | C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll:28:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sink = phi i32 [ %a, %if.then ], [ %b, %if.else ]
# | ^
# | <stdin>:24:8: note: scanning from here
# | if.end: ; preds = %if.else, %if.then
# | ^
# | <stdin>:25:2: note: possible intended match here
# | %b.sink = phi i32 [ %b, %if.else ], [ %a, %if.then ]
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll
```
According to the report, what the CheckFile wants to match is the
`%a.sink`, however there is `%b.sink`. But this mismatch does not mean
that this commit is wrong, since the occurrence of either `%a.sink` or
`%b.sink` is correct. The root cause of this test failure is the strict
check rule in the regression test committed.
So I refined the regression test with a more general check rule to only
detect whether there is an instruction with suffix `.sink` in the
`if.end` block. Hope this won't fail the test. If this PR still fails to
build, I will close this PR and try to find another right way to fix
this.
Commit: d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
https://github.com/llvm/llvm-project/commit/d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
Author: hanbeom <kese111 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
[AArch64] Add PreTest for optimizing `MOV` to `ORR`
Commit: 384bf545a1a7d8dfd16afd20ef07eb845495bac4
https://github.com/llvm/llvm-project/commit/384bf545a1a7d8dfd16afd20ef07eb845495bac4
Author: bd1976bris <bd1976llvm at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
A clang/test/Driver/ps4-visibility.cl
A clang/test/Driver/ps5-visibility.cl
Log Message:
-----------
[Driver][PS5] Set visibility option defaults (#92091)
Adjust the PS5 driver defaults for the -fvisibility-from-dllstorageclass
sub-options so that only globals with dllimport/dllexport annotations
are adjusted. This allows globals without dllimport/export to retain
the visibility and pre-emptability assigned during IR-Gen. Set
-fvisibility=hidden on PS5 by default to compensate for no longer
overriding the visibility of definitions without dllexport. Note there
is no behavior change for PS4 (the behavior of overriding the
visibility for all globals is retained on PS4).
Commit: ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
https://github.com/llvm/llvm-project/commit/ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
Author: hanbeom <kese111 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
[AArch64] Optimize `MOV` to `ORR` when load symmetric constants (#86249)
This change looks for cases of symmetric constant loading.
`symmetric constant load` is when the upper 32 bits and lower 32 bits
of a 64-bit register load the same value.
When it finds this, it replaces it with an instruction that loads only
the lower 32 bits of the constant and stores it in the upper and lower
bits simultaneously.
For example:
renamable $x8 = MOVZXi 49370, 0
renamable $x8 = MOVKXi $x8, 320, 16
renamable $x8 = MOVKXi $x8, 49370, 32
renamable $x8 = MOVKXi $x8, 320, 48
becomes
renamable $x8 = MOVZXi 49370, 0
renamable $x8 = MOVKXi $x8, 320, 16
renamable $x8 = ORRXrs $x8, $x8, 32
Commit: 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
https://github.com/llvm/llvm-project/commit/702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/mcdc-system-headers.cpp
Log Message:
-----------
[Coverage] Rework !SystemHeadersCoverage (#91446)
- Introduce `LeafExprSet`,
- Suppress traversing LAnd and LOr expr under system headers.
- Handle LAnd and LOr as instrumented leaves to override
`!isInstrumentedCondition(C)`.
- Replace Loc with FileLoc if it is expanded with system headers.
Fixes #78920
Commit: 2217d1706a76d3f298899f824354ca9d96c45813
https://github.com/llvm/llvm-project/commit/2217d1706a76d3f298899f824354ca9d96c45813
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
Log Message:
-----------
[lldb][Windows] Fixed LibcxxChronoTimePointSecondsSummaryProvider() (#92701)
This patch fixes #92574. It is a replacement for #92575.
Commit: 8e8d2595dafa230a3da7f410200d89f05b6e8d87
https://github.com/llvm/llvm-project/commit/8e8d2595dafa230a3da7f410200d89f05b6e8d87
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/Profile/c-unreachable-after-switch.c
M compiler-rt/test/profile/Linux/counter_promo_for.c
M compiler-rt/test/profile/Linux/counter_promo_while.c
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Other/constant-fold-gep.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/IndVarSimplify/D108043.ll
M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/align-addr.ll
M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
M llvm/test/Transforms/InstCombine/fortify-folding.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
M llvm/test/Transforms/InstCombine/memchr-2.ll
M llvm/test/Transforms/InstCombine/memchr-4.ll
M llvm/test/Transforms/InstCombine/memchr-6.ll
M llvm/test/Transforms/InstCombine/memchr-7.ll
M llvm/test/Transforms/InstCombine/memchr-8.ll
M llvm/test/Transforms/InstCombine/memchr-9.ll
M llvm/test/Transforms/InstCombine/memchr.ll
M llvm/test/Transforms/InstCombine/memcmp-8.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/memrchr-3.ll
M llvm/test/Transforms/InstCombine/memrchr-4.ll
M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
M llvm/test/Transforms/InstCombine/objsize.ll
M llvm/test/Transforms/InstCombine/pr25342.ll
M llvm/test/Transforms/InstCombine/pr33453.ll
M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
M llvm/test/Transforms/InstCombine/pr38984.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/snprintf-2.ll
M llvm/test/Transforms/InstCombine/snprintf-3.ll
M llvm/test/Transforms/InstCombine/snprintf-4.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/stpncpy-1.ll
M llvm/test/Transforms/InstCombine/str-int-2.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int-4.ll
M llvm/test/Transforms/InstCombine/str-int-5.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
M llvm/test/Transforms/InstCombine/strchr-1.ll
M llvm/test/Transforms/InstCombine/strchr-3.ll
M llvm/test/Transforms/InstCombine/strcmp-4.ll
M llvm/test/Transforms/InstCombine/strlcpy-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-6.ll
M llvm/test/Transforms/InstCombine/strpbrk-1.ll
M llvm/test/Transforms/InstCombine/strrchr-1.ll
M llvm/test/Transforms/InstCombine/strrchr-3.ll
M llvm/test/Transforms/InstCombine/strstr-1.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/past-the-end.ll
M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
M llvm/test/Transforms/NewGVN/loadforward.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
M llvm/test/Transforms/SCCP/apint-bigint2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
Log Message:
-----------
[ConstantFolding] Canonicalize constexpr GEPs to i8 (#89872)
This patch canonicalizes constant expression GEPs to use i8 source
element type, aka ptradd. This is the ConstantFolding equivalent of the
InstCombine canonicalization introduced in #68882.
I believe all our optimizations working on constant expression GEPs
(like GlobalOpt etc) have already been switched to work on offsets, so I
don't expect any significant fallout from this change.
This is part of:
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699
Commit: 21419071e197ca2f813a983c319a2213844dc72d
https://github.com/llvm/llvm-project/commit/21419071e197ca2f813a983c319a2213844dc72d
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/shufflevector.ll
Log Message:
-----------
InstSimplify: increase shufflevector test coverage (#92407)
Add examples of patterns that can be simplified, but are currently not.
This patch serves as a pre-commit test.
Commit: 605ae4e93be8976095c7eedf5c08bfdb9ff71257
https://github.com/llvm/llvm-project/commit/605ae4e93be8976095c7eedf5c08bfdb9ff71257
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang][HLFIR] Adapt SimplifyHLFIRIntrinsics to run on all top level ops (#92573)
This means that this pass will also run on hlfir intrinsics which are
not inside of functions.
See RFC:
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).
Commit: 1ef081b05c562936fc025dde39b444066d9d470f
https://github.com/llvm/llvm-project/commit/1ef081b05c562936fc025dde39b444066d9d470f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
movimm-expand-ldst.mir (d3d6565c2453) requires asserts
Commit: 9f449c34278191193f2f2cbc96c333548ad20238
https://github.com/llvm/llvm-project/commit/9f449c34278191193f2f2cbc96c333548ad20238
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Use TreeEntry::getOperand if setOperandsInOrder is called (#92727)
already.
Commit: 6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
https://github.com/llvm/llvm-project/commit/6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[MLIR][OpenMP] NFC: Split OpenMP dialect definitions (#91741)
This patch splits definitions for the OpenMP dialect into multiple files
to simplify the addition of new features, reduce merge conflicts, make
it easier to understand, etc. The split is based on the structure of the
more mature LLVMIR dialect. More specifically:
- The OpenMP dialect definition is located in OpenMPDialect.td.
- Base classes for OpenMP operations and types, as well as generic
OpenMP types are moved to OpenMPOpBase.td.
- OpenMP enumeration attributes, their case attributes and shared base
classes for these are placed in OpenMPEnums.td.
- Other OpenMP attributes are separated into OpenMPAttrDefs.td.
- OpenMPOps.td only contains operation definitions.
Even though this change should be useful on its own, it is intended as a
precursor to a follow-up PR in which operation arguments and attributes
are split into clause-specific classes which are then shared by all
operations to which they apply to. Without this prior change, that
approach would make the OpenMPOps.td file harder to navigate.
Commit: f6ae8e6381a02b10091589d7742fab389f847ea9
https://github.com/llvm/llvm-project/commit/f6ae8e6381a02b10091589d7742fab389f847ea9
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
Log Message:
-----------
[mlir][irdl] Fix missing verifier in irdl.parametric (#92700)
The parametric op was not checking the symbol it points to is a type or
attribute. This PR also fixes a small bug where an invalid IRDL file
would not end processing in mlir-opt. I also improved the error messages
for the already handled irdl.base invalid symbols.
Commit: 82c5d350d200ccc5365d40eac187b9ec967af727
https://github.com/llvm/llvm-project/commit/82c5d350d200ccc5365d40eac187b9ec967af727
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
Log Message:
-----------
[VPlan] Add commutative binary OR matcher, use in transform. (#92539)
Split off from https://github.com/llvm/llvm-project/pull/89386, this
extends the binary matcher to support matching commuative operations.
This is used for a new m_c_BinaryOr matcher, used in simplifyRecipe.
PR: https://github.com/llvm/llvm-project/pull/92539
Commit: 36899d693d91719e7e6cd0f0ee4cf579111b8509
https://github.com/llvm/llvm-project/commit/36899d693d91719e7e6cd0f0ee4cf579111b8509
Author: Danila Malyutin <danilaml at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[CloneFunction] Remove check that is no longer necessary (#92577)
We do not need to concern ourselves with CGSCC since all remaining CG
related updates went away in fa6ea7a419f37befbed04368bcb8af4c718facbb as
pointed out by @nikic in
https://github.com/llvm/llvm-project/pull/87963#issuecomment-2113937182.
Commit: 04ae6e600a3090ccc1f80d0110a1108aa73a54f8
https://github.com/llvm/llvm-project/commit/04ae6e600a3090ccc1f80d0110a1108aa73a54f8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Fix incorrect inferrence about the signbit of sqrt (#92510)
According to IEEE Std 754-2019, `sqrt` returns nan when the input is
negative (except for -0). In this case, we cannot make assumptions about
sign bit of the result.
Fixes https://github.com/llvm/llvm-project/issues/92217
Commit: d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
https://github.com/llvm/llvm-project/commit/d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
Log Message:
-----------
[LAA] Add tests with invariant accesses using vector types.
Extra tests for https://github.com/llvm/llvm-project/pull/92307
Commit: 1553b21f6d3b620b8e32121b974793342820ab8c
https://github.com/llvm/llvm-project/commit/1553b21f6d3b620b8e32121b974793342820ab8c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: Fix missing template arg packs during the transformation (#92535)
clang rejects some valid code (see testcases) because of an incorrect
transformed deduction guides. This patch fixes it.
We miss the template argument packs during the transformation (`auto
(type-parameter-0-0...) -> Foo<>`). In
`TreeTransform::TransformTemplateArguments `, we have a logic of
handling template argument packs which were originally added to support
CTAD alias, it doesn't seem to be needed, we need to unpack them.
Commit: d0dc29c2084a18c33b1b5b1cad9fd42215869746
https://github.com/llvm/llvm-project/commit/d0dc29c2084a18c33b1b5b1cad9fd42215869746
Author: jofrn <jofernau at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] HasOneUse builtin predicate on PatFrags (#91578)
This predicate tells GlobalISelEmitter and DAGISelEmitter to check that
the instruction to emit has only one use of its result. This can be used
on a PatFrag instead of defining custom predicates for both emitters per
record that requires it.
Commit: 64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
https://github.com/llvm/llvm-project/commit/64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
Log Message:
-----------
[clang] Make PS template DLL attribute propagation the same as MSVC (#92549)
For PlayStation, make the propagation of DLL import/export attributes
for explicit template instantiations the same as MSVC and Windows
Itanium.
Commit: c2f92a33464bd9b76007ad5817952000add0033e
https://github.com/llvm/llvm-project/commit/c2f92a33464bd9b76007ad5817952000add0033e
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
Log Message:
-----------
[DebugInfo][NaryReassociate] Fix missing debug location updates (#92545)
Fixes #92537
Commit: 60fe1e9e657180cc66dc5b1211b06144f010852b
https://github.com/llvm/llvm-project/commit/60fe1e9e657180cc66dc5b1211b06144f010852b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/ARCMigrate/ARCMT.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[clang] Use SmallString::str (NFC) (#92717)
Commit: 2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
https://github.com/llvm/llvm-project/commit/2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libcxx/src/locale.cpp
Log Message:
-----------
[libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461)
Fix linkage of `build_name`; it is not supposed to have external
linkage.
Commit: 3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
https://github.com/llvm/llvm-project/commit/3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
R offload/plugins-nextgen/exports
Log Message:
-----------
[Offload] Remove unused version script for plugins
Summary:
The plugins are no longer linked to a share library, making this unused
and useless.
Commit: 02f1a992035f40b49435f0e7f358badd152d9dc2
https://github.com/llvm/llvm-project/commit/02f1a992035f40b49435f0e7f358badd152d9dc2
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
Log Message:
-----------
[DivRemPairs] Pre-commit tests for PR #92627 (#92628)
The tests are added to a new AMDGPU/ subdirectory since I found the
missed optimization while hacking on AMDGPU code. Also, this ensures
that AMDGPU, which uses DivRemPass, is being checked for existing
expected behavior.
Commit: 8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
https://github.com/llvm/llvm-project/commit/8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
M llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
Log Message:
-----------
[DivRemPairs] Do not freeze poisons that can't be undef (#92627)
Per comments in DivRemPairs, the rewrite from
```llvm
%div = div %X, %Y
%rem = rem %X, %Y
```
to
```llvm
%div = div %X, %Y
%.mul = mul %div, %Y
%rem = sub %X, %mul
```
is unsound when %X or %Y are undef.
However, it is known to be sound if %X or %Y are poison but can't be
undef, since both the pre- and post-rewrite %rem are `poison`.
Additionally, proofs: https://alive2.llvm.org/ce/z/xtNQ8j
A comment in the pass listed a TODO for changing a usage of
isGuaranteedNotToBeUndefOrPoison() in the pass to something that only
detects undef. Such a function has been implemented since the time that
TODO was written, but has not been used.
Therefore, this commit updates DivRemPairs to use
isGuaranteedNotToBeUndef() instead.
Commit: e33db249b53fb70dce62db3ebd82d42239bd1d9d
https://github.com/llvm/llvm-project/commit/e33db249b53fb70dce62db3ebd82d42239bd1d9d
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
A llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
Reland "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92718)
The original PR is reviewed in
https://github.com/llvm/llvm-project/pull/88024, and this PR adds one
line (https://github.com/llvm/llvm-project/pull/92718/commits/b9f04d199dec4f3c221d981dcb91e55298d0693f)
to fix test
Limit to one thread for in-process ThinLTO to test `LLVM_DEBUG` log.
- This should fix build bot failure like
https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876
- I could repro the failure and see interleaved log messages by using
`-thinlto-threads=all`
**Original Commit Message:**
The goal is to populate `declaration` import status if a new flag
`-import-declaration` is on.
* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases ([better call-graph
sort](https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5)
or [cross-module
auto-init](https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195))
would use this bit differently.
* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.
Commit: 3efaf9caa56393597839b796d34f92459c711605
https://github.com/llvm/llvm-project/commit/3efaf9caa56393597839b796d34f92459c711605
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
Log Message:
-----------
[Clang][Sema] Fix crash when diagnosing near-match for 'constexpr' redeclaration in C++11 (#92452)
Clang crashes when diagnosing the following invalid redeclaration in
C++11:
```
struct A {
void f();
};
constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration` tries to create a
fix-it to remove `const` from the out-of-line declaration of `f`, but
there is no `SourceLocation` for the `const` qualifier (it's implicitly
`const` due to `constexpr`) and an assert in
`FunctionTypeInfo::getConstQualifierLoc` fails.
This patch changes `DiagnoseInvalidRedeclaration` to only suggest the removal of the
`const` qualifier when it was explicitly specified in the _cv-qualifier-seq_ of the declaration.
Commit: 2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
https://github.com/llvm/llvm-project/commit/2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
Author: David Truby <david.truby at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
Log Message:
-----------
[flang] Fix CMake dependency in CUF/Attributes (#92751)
flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp includes
CUFDialect.h.inc, but the target generating that isn't currently
depended on in CUF/Attributes. This patch adds that missing dependency.
Fixes #92635
Commit: 9def85f99aba66fb5a266d2abf60c3802ff13c6a
https://github.com/llvm/llvm-project/commit/9def85f99aba66fb5a266d2abf60c3802ff13c6a
Author: inglorion <inglorion at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/utils/revert_checker.py
Log Message:
-----------
[revert_checker] replace Phabricator URIs with GitHub URIs (#92102)
LLVM is now using GitHub. This change makes revert_checker.py -u
generate commit links that go to GitHub, instead of the old Phabricator
URIs.
Commit: 586ecd75606e70a8d16cb1717809acce652ffe7f
https://github.com/llvm/llvm-project/commit/586ecd75606e70a8d16cb1717809acce652ffe7f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Relax vector restriction for rootn libcall folds (#92594)
We could try harder for nonsplat vectors but probably not worth the
effort.
Commit: 0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
https://github.com/llvm/llvm-project/commit/0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
Log Message:
-----------
[NFC][amdgpuarch] Correct file names in file header comments (#92294)
Commit: 097e96d0d1ad9cceb461bb3487af0a2ec42176e4
https://github.com/llvm/llvm-project/commit/097e96d0d1ad9cceb461bb3487af0a2ec42176e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
Log Message:
-----------
[LegalizeTypes] Use VP_AND for zext_inreg in PromoteIntRes_VPFunnelShift.
I may eventually add getVPZeroExtendInReg to SelectionDAG if there are
other cases, but for now just hardcode it.
Commit: 9964c2c33d750d60b512d518899fa2147576f3f3
https://github.com/llvm/llvm-project/commit/9964c2c33d750d60b512d518899fa2147576f3f3
Author: Pradeep Kumar <pradeepisro49 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MILR][NVVM] Fix missing semicolon in nvvm.barrier.arrive Op (#92769)
This commit fixes the missing semicolon in the PTX codegen path where
barrier id is provided for the NVVM BarrierArriveOp. Also, updated
nvvm-to-llvm.mlir lit test to reflect the same
Co-authored-by: pradeepku <pradeepku at nvidia.com>
Commit: 4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
https://github.com/llvm/llvm-project/commit/4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/SemaRISCV.cpp
R clang/lib/Sema/SemaRISCVVectorLookup.cpp
Log Message:
-----------
[clang][NFC] Rename `SemaRISCVVectorLookup.cpp` into `SemaRISCV.cpp`
In preparation for #92682.
Commit: d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
https://github.com/llvm/llvm-project/commit/d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update the list of Core issues
Commit: 0047df9af4a106560197850438d6543dcb87d839
https://github.com/llvm/llvm-project/commit/0047df9af4a106560197850438d6543dcb87d839
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll
Log Message:
-----------
[SPIR-V] reqd_work_group_size and work_group_size_hint metadata are correctly converted to the LocalSize and LocalSizeHint execution mode (#92552)
The goal of this PR is to ensure that reqd_work_group_size and
work_group_size_hint metadata are correctly converted to the LocalSize
and LocalSizeHint execution mode.
reqd_work_group_size and work_group_size_hint require 3 operands (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Execution_Mode),
if metadata contains less operands, just add a default value (1).
Commit: 50be0b1b967eeb479989ed26c13d17a53845dd1e
https://github.com/llvm/llvm-project/commit/50be0b1b967eeb479989ed26c13d17a53845dd1e
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
Log Message:
-----------
[SPIR-V] Ensure that internal intrinsic functions "ptrcast" for PHI's operand are inserted at the correct positions (#92536)
The goal of the PR is to ensure that newly inserted `ptrcast` internal
intrinsic functions are inserted at the correct positions, and don't
break rules of instruction domination and PHI nodes grouping at top of
basic block.
Commit: 1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
https://github.com/llvm/llvm-project/commit/1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] [openmp] fix bazel build (#92790)
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 3575d23ca866e0510b322e4520d6cbcebee18c22
https://github.com/llvm/llvm-project/commit/3575d23ca866e0510b322e4520d6cbcebee18c22
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/X86.cpp
Log Message:
-----------
[clang][CodeGen] Remove unused LValue::getAddress CGF arg. (#92465)
This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.
Commit: 285f1392da07f6b0bcaa7d106c00b1e9fda25333
https://github.com/llvm/llvm-project/commit/285f1392da07f6b0bcaa7d106c00b1e9fda25333
Author: David Green <david.green at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Some more tests for different cmp's and fp consts. NFC
Commit: a0e3e76385feca289f03576b17d5e9cc7783c9b4
https://github.com/llvm/llvm-project/commit/a0e3e76385feca289f03576b17d5e9cc7783c9b4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
Log Message:
-----------
[mlir] Remove redundant include in Passes.h header (NFC)
Commit: e24610532b87eaae06dedec8f7c90764cd9ba19c
https://github.com/llvm/llvm-project/commit/e24610532b87eaae06dedec8f7c90764cd9ba19c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 4f5bc4bb55a8
Commit: fd87d765c0455265aea4595a3741a96b4c078fbc
https://github.com/llvm/llvm-project/commit/fd87d765c0455265aea4595a3741a96b4c078fbc
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][Sema] Don't build CXXDependentScopeMemberExprs for potentially implicit class member access expressions (#92318)
According to [expr.prim.id.general] p2:
> If an _id-expression_ `E` denotes a non-static non-type member of some
class `C` at a point where the current class is `X` and
> - `E` is potentially evaluated or `C` is `X` or a base class of `X`,
and
> - `E` is not the _id-expression_ of a class member access expression,
and
> - if `E` is a _qualified-id_, `E` is not the un-parenthesized operand
of the unary `&` operator,
>
> the _id-expression_ is transformed into a class member access
expression using `(*this)` as the object expression.
Consider the following:
```
struct A
{
void f0();
template<typename T>
void f1();
};
template<typename T>
struct B : T
{
auto g0() -> decltype(T::f0()); // ok
auto g1() -> decltype(T::template f1<int>()); // error: call to non-static member function without an object argument
};
template struct B<A>;
```
Clang incorrectly rejects the call to `f1` in the _trailing-return-type_
of `g1`. Furthermore, the following snippet results in a crash during
codegen:
```
struct A
{
void f();
};
template<typename T>
struct B : T
{
template<typename U>
static void g();
template<>
void g<int>()
{
return T::f(); // crash here
}
};
template struct B<A>;
```
This happens because we unconditionally build a
`CXXDependentScopeMemberExpr` (with an implicit object expression) for
`T::f` when parsing the template definition, even though we don't know
whether `g` is an implicit object member function yet.
This patch fixes these issues by instead building
`DependentScopeDeclRefExpr`s for such expressions, and only transforming
them into implicit class member access expressions during instantiation.
Since we implemented the MS "unqualified lookup into dependent bases"
extension by building an implicit class member access (and relying on
the first component name of the _nested-name-specifier_ to be looked up
in the context of the object expression during instantiation), we
instead pre-append a fake _nested-name-specifier_ that refers to the
injected-class-name of the enclosing class. This patch also refactors
`Sema::BuildQualifiedDeclarationNameExpr` and
`Sema::BuildQualifiedTemplateIdExpr`, streamlining their implementation
and removing any redundant checks.
Commit: c6486633d2656faecea8d7eb426bb22c52ddfd14
https://github.com/llvm/llvm-project/commit/c6486633d2656faecea8d7eb426bb22c52ddfd14
Author: Yingchi Long <i at lyc.dev>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/BPF/BPFMIChecking.cpp
M llvm/test/CodeGen/BPF/xadd.ll
Log Message:
-----------
[BPF] report `Invalid usage of the XADD return value"` elegantly (#92742)
Previously `report_fatal_error` is used for reporting something goes
wrong in the backend, but this is confusing because `report_fatal_error`
basically means there are something unexpected & crashed in the backend.
So, turn this "crash" into an elegant error reporting. After this patch,
clang can diagnose it:
bpf-crash.c:4:30: error: Invalid usage of the XADD return value
4 | u32 next_event_id() { return __sync_fetch_and_add(&GLOBAL_EVENT_ID,
1); }
| ^
1 error generated.
Commit: 549fdda3e1e4e01acd6a11f3808d6500b4ded36c
https://github.com/llvm/llvm-project/commit/549fdda3e1e4e01acd6a11f3808d6500b4ded36c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Refactor int_amdgcn_mov_dpp8 patterns. NFC. (#92764)
I still don't see why we need to select to different Real instructions
on different targets, but at least this is less verbose.
Commit: 3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
https://github.com/llvm/llvm-project/commit/3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/test/CoverageMapping/mcdc-system-headers.cpp
Log Message:
-----------
Fix test for non-Itanium ABIs.
This amends 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed to hopefully get
the test passing for Windows again.
Commit: 245491a9f384e4c53421196533c2a2b693efaf8d
https://github.com/llvm/llvm-project/commit/245491a9f384e4c53421196533c2a2b693efaf8d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[MC] Disable MCAssembler based constant folding for DwarfDebug
Related to the poor performance of MCAssembler based constant folding
(see `bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const` and
`AttemptToFoldSymbolOffsetDifference`),
commit 9500a5d02e23f9b43294e5f662ac099f8989c0e4 (#91082) caused -O0 -g
compile time regression.
9500a5d02e23f9b43294e5f662ac099f8989c0e4 special cased .eh_frame FDE
emitting. This patch adds a special case to .debug_* emitting as well to
mitigate the rest regression.
The MCAssembler based constant folding strategy should be improved to
remove the two special cases.
Commit: bce3680f45b57f6ce745cb7da659f2ece745a1d1
https://github.com/llvm/llvm-project/commit/bce3680f45b57f6ce745cb7da659f2ece745a1d1
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Move logic to compute start and end of a pointer to helper (NFC).
This allows use at other places, in particular an updated version of
https://github.com/llvm/llvm-project/pull/92307.
Commit: acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
https://github.com/llvm/llvm-project/commit/acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
A clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/destructor-template.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
Log Message:
-----------
[Clang][Sema] Diagnose current instantiation used as an incomplete base class (#92597)
Consider the following:
```
template<typename T>
struct A
{
struct B : A { };
};
```
According to [class.derived.general] p2:
> [...] A _class-or-decltype_ shall denote a (possibly cv-qualified)
class type that is not an incompletely defined class; any cv-qualifiers
are ignored. [...]
Although GCC and EDG rejects this, Clang accepts it. This is incorrect,
as `A` is incomplete within its own definition (outside of a
complete-class context). This patch correctly diagnoses instances where
the current instantiation is used as a base class before it is complete.
Conversely, Clang erroneously rejects the following:
```
template<typename T>
struct A
{
struct B;
struct C : B { };
struct B : C { }; // error: circular inheritance between 'C' and 'A::B'
};
```
Though it may seem like no valid specialization of this template can be
instantiated, an explicit specialization of either member classes for an
implicit instantiated specialization of `A` would permit the definition
of the other member class to be instantiated, e.g.:
```
template<>
struct A<int>::B { };
A<int>::C c; // ok
```
So this patch also does away with this error. This means that circular
inheritance is diagnosed during instantiation of the definition as a
consequence of requiring the base class type to be complete (matching
the behavior of GCC and EDG).
Commit: a91d5c07f2357f10a5378bb3b0e439847f2b8e00
https://github.com/llvm/llvm-project/commit/a91d5c07f2357f10a5378bb3b0e439847f2b8e00
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/barrier.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
M flang/test/Semantics/OpenMP/copyin01.f90
M flang/test/Semantics/OpenMP/copyin02.f90
M flang/test/Semantics/OpenMP/copyin03.f90
M flang/test/Semantics/OpenMP/copyin04.f90
M flang/test/Semantics/OpenMP/copyin05.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/copyprivate01.f90
M flang/test/Semantics/OpenMP/copyprivate02.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/critical-empty.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/dealloc.f90
M flang/test/Semantics/OpenMP/declarative-directive.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target04.f90
M flang/test/Semantics/OpenMP/declare-target05.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/declare-target07.f90
M flang/test/Semantics/OpenMP/default-clause.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/default.f90
M flang/test/Semantics/OpenMP/default02.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depend02.f90
M flang/test/Semantics/OpenMP/depend03.f90
M flang/test/Semantics/OpenMP/device-clause01.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
M flang/test/Semantics/OpenMP/do-collapse.f90
M flang/test/Semantics/OpenMP/do-cycle.f90
M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
M flang/test/Semantics/OpenMP/do-ordered.f90
M flang/test/Semantics/OpenMP/do-schedule01.f90
M flang/test/Semantics/OpenMP/do-schedule02.f90
M flang/test/Semantics/OpenMP/do-schedule03.f90
M flang/test/Semantics/OpenMP/do-schedule04.f90
M flang/test/Semantics/OpenMP/do01-positivecase.f90
M flang/test/Semantics/OpenMP/do01.f90
R flang/test/Semantics/OpenMP/do02.f90
M flang/test/Semantics/OpenMP/do03.f90
M flang/test/Semantics/OpenMP/do04-positivecase.f90
M flang/test/Semantics/OpenMP/do04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/do06-positivecases.f90
M flang/test/Semantics/OpenMP/do06.f90
M flang/test/Semantics/OpenMP/do07.f90
M flang/test/Semantics/OpenMP/do08.f90
M flang/test/Semantics/OpenMP/do09.f90
M flang/test/Semantics/OpenMP/do10.f90
M flang/test/Semantics/OpenMP/do11.f90
M flang/test/Semantics/OpenMP/do12.f90
M flang/test/Semantics/OpenMP/do13.f90
M flang/test/Semantics/OpenMP/do14.f90
M flang/test/Semantics/OpenMP/do15.f90
M flang/test/Semantics/OpenMP/do16.f90
M flang/test/Semantics/OpenMP/do17.f90
M flang/test/Semantics/OpenMP/do18.f90
M flang/test/Semantics/OpenMP/do19.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/firstprivate01.f90
M flang/test/Semantics/OpenMP/firstprivate02.f90
M flang/test/Semantics/OpenMP/flush01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/if-clause.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/invalid-branch.f90
M flang/test/Semantics/OpenMP/lastprivate01.f90
M flang/test/Semantics/OpenMP/lastprivate02.f90
M flang/test/Semantics/OpenMP/lastprivate03.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/loop-association.f90
M flang/test/Semantics/OpenMP/loop-simd01.f90
M flang/test/Semantics/OpenMP/map-clause.f90
M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-cancel.f90
M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-simd.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/nested01.f90
M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
M flang/test/Semantics/OpenMP/nontemporal.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
M flang/test/Semantics/OpenMP/order-clause01.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/ordered01.f90
M flang/test/Semantics/OpenMP/ordered02.f90
M flang/test/Semantics/OpenMP/ordered03.f90
M flang/test/Semantics/OpenMP/parallel-critical-do.f90
M flang/test/Semantics/OpenMP/parallel-private01.f90
M flang/test/Semantics/OpenMP/parallel-private02.f90
M flang/test/Semantics/OpenMP/parallel-private03.f90
M flang/test/Semantics/OpenMP/parallel-private04.f90
M flang/test/Semantics/OpenMP/parallel-sections-do.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/parallel-shared01.f90
M flang/test/Semantics/OpenMP/parallel-shared02.f90
M flang/test/Semantics/OpenMP/parallel-shared03.f90
M flang/test/Semantics/OpenMP/parallel-shared04.f90
M flang/test/Semantics/OpenMP/parallel01.f90
M flang/test/Semantics/OpenMP/parallel02.f90
M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
M flang/test/Semantics/OpenMP/private01.f90
M flang/test/Semantics/OpenMP/private02.f90
M flang/test/Semantics/OpenMP/reduction-subtract.f90
M flang/test/Semantics/OpenMP/reduction01.f90
M flang/test/Semantics/OpenMP/reduction02.f90
M flang/test/Semantics/OpenMP/reduction03.f90
M flang/test/Semantics/OpenMP/reduction04.f90
M flang/test/Semantics/OpenMP/reduction05.f90
M flang/test/Semantics/OpenMP/reduction06.f90
M flang/test/Semantics/OpenMP/reduction07.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/reduction10.f90
M flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/reduction12.f90
M flang/test/Semantics/OpenMP/requires-atomic01.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
M flang/test/Semantics/OpenMP/requires01.f90
M flang/test/Semantics/OpenMP/requires02.f90
M flang/test/Semantics/OpenMP/requires03.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
M flang/test/Semantics/OpenMP/requires06.f90
M flang/test/Semantics/OpenMP/requires07.f90
M flang/test/Semantics/OpenMP/requires08.f90
M flang/test/Semantics/OpenMP/requires09.f90
M flang/test/Semantics/OpenMP/resolve01.f90
M flang/test/Semantics/OpenMP/resolve02.f90
M flang/test/Semantics/OpenMP/resolve03.f90
M flang/test/Semantics/OpenMP/resolve04.f90
M flang/test/Semantics/OpenMP/resolve05.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections01.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sections03.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
M flang/test/Semantics/OpenMP/simd-nontemporal.f90
M flang/test/Semantics/OpenMP/simd01.f90
M flang/test/Semantics/OpenMP/simd02.f90
M flang/test/Semantics/OpenMP/simd03.f90
M flang/test/Semantics/OpenMP/single01.f90
M flang/test/Semantics/OpenMP/single02.f90
M flang/test/Semantics/OpenMP/struct.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol04.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol06.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/target-update01.f90
M flang/test/Semantics/OpenMP/target.f90
M flang/test/Semantics/OpenMP/target01.f90
M flang/test/Semantics/OpenMP/target02.f90
M flang/test/Semantics/OpenMP/task01.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/taskloop-simd01.f90
M flang/test/Semantics/OpenMP/taskloop01.f90
M flang/test/Semantics/OpenMP/taskloop02.f90
R flang/test/Semantics/OpenMP/taskloop03.f90
M flang/test/Semantics/OpenMP/taskwait.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/Semantics/OpenMP/threadprivate02.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M flang/test/Semantics/OpenMP/threadprivate05.f90
M flang/test/Semantics/OpenMP/threadprivate06.f90
M flang/test/Semantics/OpenMP/threadprivate07.f90
M flang/test/Semantics/OpenMP/use_device_addr.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
M flang/test/Semantics/OpenMP/use_device_ptr.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
M flang/test/Semantics/OpenMP/workshare01.f90
M flang/test/Semantics/OpenMP/workshare02.f90
M flang/test/Semantics/OpenMP/workshare03.f90
M flang/test/Semantics/OpenMP/workshare04.f90
M flang/test/Semantics/OpenMP/workshare05.f90
Log Message:
-----------
[Flang][OpenMP] Disable all OpenMP semantics tests on Windows (#92739)
Removes two XFAILed tests, the other tests are marked UNSUPPORTED only
on windows.
Commit: e75b58cfc666fc168d05580d2b7fd274830a4dd0
https://github.com/llvm/llvm-project/commit/e75b58cfc666fc168d05580d2b7fd274830a4dd0
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
Log Message:
-----------
[Clang][Sema] Do not add implicit 'const' when matching constexpr function template explicit specializations after C++14 (#92449)
Clang incorrectly accepts the following when using C++14 or later:
```
struct A {
template<typename T>
void f() const;
template<>
constexpr void f<int>();
};
```
Non-static member functions declared `constexpr` are only implicitly
`const` in C++11. This patch makes clang reject the explicit
specialization of `f` in language modes after C++11.
Commit: 6430939baaa6222518d58d9192160312fca09327
https://github.com/llvm/llvm-project/commit/6430939baaa6222518d58d9192160312fca09327
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL][CMake] Cache files don't have generator vars (#92793)
Doh! CMake cache scripts don't have generator variables set yet, so the
script can't depend on the generator variables. Instead I've added a
variable that a user can specify to enable the distribution settings.
Commit: 1eb7f055d9ae5d14de8e4f75687dc2cf45511300
https://github.com/llvm/llvm-project/commit/1eb7f055d9ae5d14de8e4f75687dc2cf45511300
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10-libcall-names.ll
Log Message:
-----------
CodeGen: Fix libcall names for exp10 on the various darwins (#92520)
It's really great that we have the same information duplicated in
TargetLibraryInfo and RuntimeLibcalls which both assume everything by
default.
Should fix issue reported after #92287
Commit: e1c06c380ce01a4524df8061171e63cad010e4e6
https://github.com/llvm/llvm-project/commit/e1c06c380ce01a4524df8061171e63cad010e4e6
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
[AMDGPU] Fix error in #88512. (#92770)
Fixes error in GlobalISel CTLZ lowering caused by
[#88512](https://github.com/llvm/llvm-project/pull/88512).
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: fdd245ad856f85019bb408ed5c14984823e7077f
https://github.com/llvm/llvm-project/commit/fdd245ad856f85019bb408ed5c14984823e7077f
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[MLIR][Vector] Implement transferXXPermutationLowering as MaskableOpRewritePattern (#91987)
* Implements `TransferWritePermutationLowering`,
`TransferReadPermutationLowering` and
`TransferWriteNonPermutationLowering` as a MaskableOpRewritePattern.
Allowing to exit gracefully when such use of a xferOp is inside a
`vector::MaskOp`
* Updates MaskableOpRewritePattern to handle MemRefs and buffer
semantics providing empty `Value()` as a return value for
`matchAndRewriteMaskableOp` now represents successful rewriting without
value to replace the original op.
Split of https://github.com/llvm/llvm-project/pull/90835
Commit: c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
https://github.com/llvm/llvm-project/commit/c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619)
The current definition is a bit fuzzy... replace it with something
that's somewhat rigorous.
For functions, the definition is pretty narrow; as a consequence of
language-level non-determinism, it's impossible to tell whether two
functions are equivalent, so just embrace the non-determinism. For
constants, we're pretty strict; otherwise you end up concluding
constants can actually change value, which is bad for alias analysis. I
think C++ standard don't allow any non-deterministic operations in
constants, so we should be okay there? Poison is per-byte to allow some
ambiguity in the way padding is defined.
Commit: 0da1a6ceb595fa91e3af20bf7f304ba275526f3c
https://github.com/llvm/llvm-project/commit/0da1a6ceb595fa91e3af20bf7f304ba275526f3c
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
Log Message:
-----------
[mlir][polynomial] split polynomial types tablegen (#92805)
Similar to https://github.com/llvm/llvm-project/pull/92613, but for
types.
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
https://github.com/llvm/llvm-project/commit/3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Don't fold rootn(x, 1) to input for strictfp functions (#92595)
We need to insert a constrained canonicalize.
Depends #92594
Commit: 2a45f89aee8b05bb031c6e337df1524921de2e97
https://github.com/llvm/llvm-project/commit/2a45f89aee8b05bb031c6e337df1524921de2e97
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `isKnowNonZero` of `X op (X != 0)`; NFC
Commit: 223284316081e1af369c2d560da88e6211669250
https://github.com/llvm/llvm-project/commit/223284316081e1af369c2d560da88e6211669250
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Recognize `X op (X != 0)` as non-zero
The ops supported are: `add`, `sub`, `xor`, `or`, `umax`, `uadd.sat`
Proofs: https://alive2.llvm.org/ce/z/8ZMSRg
The `add` case actually comes up in SPECInt, the rest are here mostly
for completeness.
Closes #88579
Commit: 250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
https://github.com/llvm/llvm-project/commit/250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libcxx/src/chrono.cpp
Log Message:
-----------
[libcxx] Add cast to avoid pointer casting warning on Windows (#92738)
This avoids the following build time warning, when building with the
latest nightly Clang:
warning: cast from 'FARPROC' (aka 'int (*)() __attribute__((stdcall))')
to
'GetSystemTimeAsFileTimePtr' (aka 'void (*)(_FILETIME *)
__attribute__((stdcall))')
converts to incompatible function type [-Wcast-function-type-mismatch]
This warning seems to have appeared since Clang commit
999d4f840777bf8de26d45947192aa0728edc0fb, which restructured.
The GetProcAddress function returns a `FARPROC` type, which is `int
(WINAPI *)()`. Directly casting this to another function pointer type
triggers this warning, but casting to a `void*` inbetween avoids this
issue. (On Unix-like platforms, dlsym returns a `void*`, which doesn't
exhibit this casting problem.)
Commit: 1f07bfb92c2a62731a5ae3ec2d135e3869634c01
https://github.com/llvm/llvm-project/commit/1f07bfb92c2a62731a5ae3ec2d135e3869634c01
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Implement folding logic for size 0 tensor and memref ops (#90814)
Implement folding and rewrite logic to eliminate no-op tensor and memref
operations. This handles two specific cases:
1. tensor.insert_slice operations where the size of the inserted slice
is known to be 0.
2. memref.copy operations where either the source or target memrefs are
known to be emtpy.
Co-authored-by: Spenser Bauman <sabauma at fastmail>
Commit: 753f7e814514ddb2bb2fd837549d5958cf0ef343
https://github.com/llvm/llvm-project/commit/753f7e814514ddb2bb2fd837549d5958cf0ef343
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
Log Message:
-----------
[OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (#92612)
In building AddrSpaceQualType
(https://github.com/llvm/llvm-project/pull/90048), there is a bug in
removeAddrSpaceQualType() for arrays. Arrays are weird because
qualifiers on the element type also count as qualifiers on the type, so
getSingleStepDesugaredType() can't remove the sugar on arrays. This
results in an infinite loop in removeAddrSpaceQualType. To fix the
issue, we use ASTContext::getUnqualifiedArrayType instead, which strips
the qualifier off the element type, then reconstruct the array type.
Commit: 51ba7a816ccdadf7f943fb30a1933ded72a4c178
https://github.com/llvm/llvm-project/commit/51ba7a816ccdadf7f943fb30a1933ded72a4c178
Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libc/src/setjmp/x86_64/CMakeLists.txt
Log Message:
-----------
[libc][setjmp] disable -ftrivial-auto-var-init=pattern for now (#92796)
This would consistently fail for me locally, to the point where I could not run
ninja libc-unit-tests without ninja libc_setjmp_unittests failing.
Turns out that since I enabled -ftrivial-auto-var-init=pattern in
commit 1d5c16d ("[libc] default enable -ftrivial-auto-var-init=pattern (#78776)")
this has been a problem. Our x86_64 setjmp definition disabled -Wuninitialized,
so we wound up clobbering these registers and instead backing up
0xAAAAAAAAAAAAAAAA rather than the actual register value.
The implemenation should be rewritten entirely. I've proposed three different
ways to do so (linked below). Until we decide which way to go, at least disable
this hardening feature for this function for now so that the unit tests go back
to green.
Link: #87837
Link: #88054
Link: #88157
Fixes: #91164
Commit: dce197ac9219319e5ea76a110100e87e225684d8
https://github.com/llvm/llvm-project/commit/dce197ac9219319e5ea76a110100e87e225684d8
Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/error-number-macros.h
R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
Log Message:
-----------
[libc][errno] remove mips+sparc specific errnos (#92798)
These are untested and unsupported platforms. The pattern used makes sense for
platform specific error numbers, but these are platforms we do not support.
Excise this code.
Link: #91150
Commit: 7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
https://github.com/llvm/llvm-project/commit/7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/MCA/IncrementalSourceMgr.h
M llvm/include/llvm/MCA/InstrBuilder.h
Log Message:
-----------
[MCA] use std::function instead of function_ref when storing (#91039)
This patch changes uses of llvm::function_ref for std::function when
storing the callback inside of a class. The LLVM Programmer's manual
mentions that llvm::function_ref is not safe to store as it contains
pointers to external memory that are not guaranteed to exist in the
future when it is stored.
This causes issues when setting callbacks inside of a class that manages
MCA state. Passing a lambda directly to the set callback functions will
end up causing UB/segfaults when the lambda is called as some external
memory is now invalid. This is easy to work around (create a separate
std::function, pass that into the function setting the callback), but
isn't ideal.
Commit: 33b7833891dcacf9e81e911ed59932fd55113fff
https://github.com/llvm/llvm-project/commit/33b7833891dcacf9e81e911ed59932fd55113fff
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir
Log Message:
-----------
[MLIR][Linalg] Add more specialize patterns (#91153)
Currently only linalg.copy is recognized when trying to specialize
linalg.generics back to named op. This diff enables recognition of more
generic to named op e.g. linalg.fill, elemwise unary/binary.
Commit: 110f6a740b4f63f8eabefc24ad90e98357782949
https://github.com/llvm/llvm-project/commit/110f6a740b4f63f8eabefc24ad90e98357782949
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Add getVPZeroExtendInReg. NFC (#92792)
Use it for 2 places in LegalizeIntegerTypes that created a VP_AND.
Commit: 8018e4c569d34b5913a4cc78f08f25f778dec866
https://github.com/llvm/llvm-project/commit/8018e4c569d34b5913a4cc78f08f25f778dec866
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use SelectionDAG::SplitVector to simplify some code. NFC (#92816)
Commit: e8dc8d614ada201e250fbf075241b2b6180943b5
https://github.com/llvm/llvm-project/commit/e8dc8d614ada201e250fbf075241b2b6180943b5
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lldb/include/lldb/API/SBCommandInterpreter.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/InterpreterProperties.td
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
M lldb/test/API/python_api/interpreter/main.c
Log Message:
-----------
Add new Python API `SBCommandInterpreter::GetTranscript()` (#90703)
# Motivation
Currently, the user can already get the "transcript" (for "what is the
transcript", see `CommandInterpreter::SaveTranscript`). However, the
only way to obtain the transcript data as a user is to first destroy the
debugger, then read the save directory. Note that destroy-callbacks
cannot be used, because 1\ transcript data is private to the command
interpreter (see `CommandInterpreter.h`), and 2\ the writing of the
transcript is *after* the invocation of destory-callbacks (see
`Debugger::Destroy`).
So basically, there is no way to obtain the transcript:
* during the lifetime of a debugger (including the destroy-callbacks,
which often performs logging tasks, where the transcript can be useful)
* without relying on external storage
In theory, there are other ways for user to obtain transcript data
during a debugger's life cycle:
* Use Python API and intercept commands and results.
* Use CLI and record console input/output.
However, such ways rely on the client's setup and are not supported
natively by LLDB.
# Proposal
Add a new Python API `SBCommandInterpreter::GetTranscript()`.
Goals:
* It can be called at any time during the debugger's life cycle,
including in destroy-callbacks.
* It returns data in-memory.
Structured data:
* To make data processing easier, the return type is `SBStructuredData`.
See comments in code for how the data is organized.
* In the future, `SaveTranscript` can be updated to write different
formats using such data (e.g. JSON). This is probably accompanied by a
new setting (e.g. `interpreter.save-session-format`).
# Alternatives
The return type can also be `std::vector<std::pair<std::string,
SBCommandReturnObject>>`. This will make implementation easier, without
having to translate it to `SBStructuredData`. On the other hand,
`SBStructuredData` can convert to JSON easily, so it's more convenient
for user to process.
# Privacy
Both user commands and output/error in the transcript can contain
privacy data. However, as mentioned, the transcript is already available
to the user. The addition of the new API doesn't increase the level of
risk. In fact, it _lowers_ the risk of privacy data being leaked later
on, by avoiding writing such data to external storage.
Once the user (or their code) gets the transcript, it will be their
responsibility to make sure that any required privacy policies are
guaranteed.
# Tests
```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
```
```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/commands/session/save/TestSessionSave.py
```
---------
Co-authored-by: Roy Shi <royshi at meta.com>
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 9f62775038b9135709a2c3c7ea97c944278967a2
https://github.com/llvm/llvm-project/commit/9f62775038b9135709a2c3c7ea97c944278967a2
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/lldb-types.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Core/Debugger.cpp
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
Log Message:
-----------
SBDebugger: Add new APIs `AddDestroyCallback` and `RemoveDestroyCallback` (#89868)
# Motivation
Individual callers of `SBDebugger::SetDestroyCallback()` might think
that they have registered their callback and expect it to be called when
the debugger is destroyed. In reality, only the last caller survives,
and all previous callers are forgotten, which might be a surprise to
them. Worse, if this is called in a race condition, which callback
survives is less predictable, which may case confusing behavior
elsewhere.
# This PR
Allows multiple destroy callbacks to be registered and all called when
the debugger is destroyed.
**EDIT**: Adds two new APIs: `AddDestroyCallback()` and
`ClearDestroyCallback()`. `SetDestroyCallback()` will first clear then
add the given callback. Tests are added for the new APIs.
## Tests
```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
```
## (out-dated, see comments below) Semantic change to
`SetDestroyCallback()`
~~Currently, the method overwrites the old callback with the new one.
With this PR, it will NOT overwrite. Instead, it will hold on to both.
Both callbacks get called during destroy.~~
~~**Risk**: Although the documentation of `SetDestroyCallback()` (see
[C++](https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#afa1649d9453a376b5c95888b5a0cb4ec)
and
[python](https://lldb.llvm.org/python_api/lldb.SBDebugger.html#lldb.SBDebugger.SetDestroyCallback))
doesn't really specify the behavior, there is a risk: if existing call
sites rely on the "overwrite" behavior, they will be surprised because
now the old callback will get called. But as the above said, the current
behavior of "overwrite" itself might be unintended, so I don't
anticipate users to rely on this behavior. In short, this risk might be
less of a problem if we correct it sooner rather than later (which is
what this PR is trying to do).~~
## (out-dated, see comments below) Implementation
~~The implementation holds a `std::vector<std::pair<callback, baton>>`.
When `SetDestroyCallback()` is called, callbacks and batons are appended
to the `std::vector`. When destroy event happen, the `(callback, baton)`
pairs are invoked FIFO. Finally, the `std::vector` is cleared.~~
# (out-dated, see comments below) Alternatives considered
~~Instead of changing `SetDestroyCallback()`, a new method
`AddDestroyCallback()` can be added, which use the same
`std::vector<std::pair<>>` implementation. Together with
`ClearDestroyCallback()` (see below), they will replace and deprecate
`SetDestroyCallback()`. Meanwhile, in order to be backward compatible,
`SetDestroyCallback()` need to be updated to clear the `std::vector` and
then add the new callback. Pros: The end state is semantically more
correct. Cons: More steps to take; potentially maintaining an
"incorrect" behavior (of "overwrite").~~
~~A new method `ClearDestroyCallback()` can be added. Might be
unnecessary at this point, because workflows which need to set then
clear callbacks may exist but shouldn't be too common at least for now.
Such method can be added later when needed.~~
~~The `std::vector` may bring slight performance drawback if its
implementation doesn't handle small size efficiently. However, even if
that's the case, this path should be very cold (only used during init
and destroy). Such performance drawback should be negligible.~~
~~A different implementation was also considered. Instead of using
`std::vector`, the current `m_destroy_callback` field can be kept
unchanged. When `SetDestroyCallback()` is called, a lambda function can
be stored into `m_destroy_callback`. This lambda function will first
call the old callback, then the new one. This way, `std::vector` is
avoided. However, this implementation is more complex, thus less
readable, with not much perf to gain.~~
---------
Co-authored-by: Roy Shi <royshi at meta.com>
Commit: 00d7e67f8352308288db483f03294460a38a3773
https://github.com/llvm/llvm-project/commit/00d7e67f8352308288db483f03294460a38a3773
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc] Fix constant address space on global clock
Summary:
I did this wrong in the first version, because `extern "C"` doesn't
imply it's extern when used directly.
Commit: 93540455669ab9ad55bd7e24a42a305194a109af
https://github.com/llvm/llvm-project/commit/93540455669ab9ad55bd7e24a42a305194a109af
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/runtime/edit-output.cpp
Log Message:
-----------
[NFC][flang][runtime] Avoid recursion in EditCharacterOutput and EditLogicalOutput. (#92806)
Commit: bccac125e196bd5afeeb2fef93cf501f4b9f7f83
https://github.com/llvm/llvm-project/commit/bccac125e196bd5afeeb2fef93cf501f4b9f7f83
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Added io-api-minimal.cpp to the offload build. (#92807)
Commit: 888e087b09dbd658a03f27c475ada50d37323987
https://github.com/llvm/llvm-project/commit/888e087b09dbd658a03f27c475ada50d37323987
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Remove unused function declaration. NFC
Commit: a6a1d64a41fff6ffd50a701586166ff1751fd597
https://github.com/llvm/llvm-project/commit/a6a1d64a41fff6ffd50a701586166ff1751fd597
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-bugs.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
A .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-tasks.yml
M .github/workflows/set-release-binary-outputs.sh
M .github/workflows/version-check.yml
A bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
M bolt/test/X86/bb-with-two-tail-calls.s
M bolt/test/X86/bolt-address-translation-yaml.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
A bolt/test/X86/jump-table-fixed-ref-pic.test
A bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/profile-passthrough-block.test
M bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/X86/sctc-bug4.test
A bolt/test/X86/yaml-non-simple.test
A bolt/test/runtime/bolt-reserved.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/clang-query/tool/ClangQuery.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
M clang-tools-extra/clangd/test/hover.test
M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
A clang-tools-extra/test/clang-query/Inputs/empty.script
A clang-tools-extra/test/clang-query/Inputs/file.script
A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
M clang-tools-extra/test/clang-query/errors.c
A clang-tools-extra/test/clang-query/file-empty.c
A clang-tools-extra/test/clang-query/file-query.c
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
M clang-tools-extra/test/pp-trace/Inputs/module.modulemap
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/HLSL.cmake
M clang/docs/Block-ABI-Apple.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/ClangOffloadBundler.rst
A clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/HLSLDocs.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/BuiltinTypes.def
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/VTTBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Solver.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/MSP430Target.def
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/SourceManager.h
A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Driver/Distro.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaCodeCompletion.h
A clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
R clang/include/clang/Tooling/NodeIntrospection.h
M clang/lib/ARCMigrate/ARCMT.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/Transforms.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/TypeTraits.cpp
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGVTables.h
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__stdarg_header_macro.h
A clang/lib/Headers/__stddef_header_macro.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stddef.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
A clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
A clang/lib/Sema/SemaRISCV.cpp
R clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleFile.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/Tooling/CMakeLists.txt
R clang/lib/Tooling/DumpTool/APIData.h
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
R clang/lib/Tooling/DumpTool/CMakeLists.txt
R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
R clang/lib/Tooling/NodeIntrospection.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/export-as.c
M clang/test/APINotes/extern-context.cpp
M clang/test/APINotes/namespaces.cpp
M clang/test/APINotes/properties.m
M clang/test/APINotes/swift-import-as.cpp
M clang/test/APINotes/templates.cpp
M clang/test/APINotes/versioned.m
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/ResourceStruct.hlsl
A clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/this-reference-template.hlsl
M clang/test/AST/HLSL/this-reference.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/bitfields.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/builtins.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/const-fpfeatures.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/cxx98.cpp
A clang/test/AST/Interp/eval-order.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/alignas_maybe_odr_cleanup.cpp
M clang/test/AST/arithmetic-fence-builtin.c
M clang/test/AST/ast-crash-doc-function-template.cpp
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/test/AST/ast-dump-attr-type.cpp
M clang/test/AST/ast-dump-concepts.cpp
M clang/test/AST/ast-dump-coroutine.cpp
A clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-default-arg-dep.cpp
M clang/test/AST/ast-dump-default-arg-recovery.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-fpfeatures.m
M clang/test/AST/ast-dump-lambda.cpp
M clang/test/AST/ast-dump-late-parsing.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-types-errors.cpp
M clang/test/AST/ast-print-fp-pragmas.c
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-pragmas.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/attr-swift_bridge.m
M clang/test/AST/attr-swift_bridged_typedef.m
M clang/test/AST/attr-swift_bridged_typedef.mm
M clang/test/AST/auto-pragma.cpp
M clang/test/AST/category-attribute.m
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
M clang/test/AST/coroutine-co_yield-source-range.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/coroutine-source-location-crash.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/foreachtemplatized.mm
M clang/test/AST/loop-recovery.cpp
M clang/test/AST/multistep-explicit-cast.c
M clang/test/AST/multistep-explicit-cast.cpp
M clang/test/AST/objc-default-ctor-init.mm
M clang/test/AST/pr43983.cpp
M clang/test/AST/pr47636.cpp
M clang/test/AST/pragma-attribute-cxx-subject-match-rules.cpp
M clang/test/AST/pragma-attribute-objc-subject-match-rules.m
M clang/test/AST/pragma-multiple-attributes-declspec.cpp
M clang/test/AST/pragma-multiple-attributes.cpp
M clang/test/AST/spurious-regparm.c
M clang/test/AST/template-implicit-vars.cpp
M clang/test/ASTMerge/codegen-exprs/test.c
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/NewDelete-atomics.cpp
M clang/test/Analysis/addrspace-null.c
A clang/test/Analysis/block-in-critical-section.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/gh-issue-89185.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/goto.c
M clang/test/Analysis/html_diagnostics/relevant_lines/macros_same_file.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multiline_func_def.c
M clang/test/Analysis/html_diagnostics/relevant_lines/notexecutedlines.c
M clang/test/Analysis/html_diagnostics/relevant_lines/objcmethods.m
M clang/test/Analysis/html_diagnostics/relevant_lines/simple_conditional.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch_default.c
M clang/test/Analysis/html_diagnostics/relevant_lines/synthesized_body.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/unused_header.c
M clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
M clang/test/Analysis/memory-model.cpp
M clang/test/Analysis/new-aligned.cpp
M clang/test/Analysis/osobject-retain-release.cpp
M clang/test/Analysis/ptr-cmp-const-trunc.cl
M clang/test/Analysis/region_store_overflow.c
M clang/test/Analysis/return-value-guaranteed.cpp
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
M clang/test/Analysis/solver-sym-simplification-bool.cpp
M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/transparent_union_bug.c
M clang/test/Analysis/trustnonnullchecker_test.m
M clang/test/Analysis/trustnonnullchecker_test.mm
M clang/test/Analysis/undef-call.c
A clang/test/Analysis/unreachable-code-exceptions.cpp
M clang/test/C/C2x/n2900_n3011.c
M clang/test/C/C2x/n2900_n3011_2.c
M clang/test/C/drs/dr290.c
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
A clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
M clang/test/CXX/class/class.friend/p7-cxx20.cpp
M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
A clang/test/CXX/dcl/dcl.init/aggr.cpp
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg2630.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
M clang/test/CXX/except/except.spec/p13.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15-star-this-capture.cpp
A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/lex/lex.literal/lex.string/p4.cpp
M clang/test/CXX/module/module.private.frag/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
A clang/test/CXX/temp/temp.deduct/p7.cpp
A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p8.cpp
M clang/test/CodeGen/2010-08-10-DbgConstant.c
M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
M clang/test/CodeGen/PR32874.c
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/PowerPC/aix_alloca_align.c
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/PowerPC/ibm128-cast.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
M clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
M clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c
M clang/test/CodeGen/PowerPC/vector-compat-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/SystemZ/builtins-systemz-error2.c
M clang/test/CodeGen/VE/ve-velintrin.c
M clang/test/CodeGen/X86/amx_errors.c
M clang/test/CodeGen/X86/amxcomplex-errors.c
M clang/test/CodeGen/X86/bfloat16.cpp
M clang/test/CodeGen/X86/cmp-avx-builtins-error.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error-32.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
A clang/test/CodeGen/X86/inline-asm-gcc-regs.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/ms-inline-asm-prefix.c
M clang/test/CodeGen/X86/sm3-error.c
M clang/test/CodeGen/X86/usermsr-builtins-error-32.c
A clang/test/CodeGen/X86/x86-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
M clang/test/CodeGen/X86/x86-vec-i128.c
M clang/test/CodeGen/X86/x86_64-atomic-128.c
M clang/test/CodeGen/X86/x86_64-instrument-functions.c
M clang/test/CodeGen/X86/x86_inlineasm_curly_bracket_escape.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
A clang/test/CodeGen/aarch64-elf-pauthabi.c
A clang/test/CodeGen/aarch64-fmv-dependencies.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64.c
M clang/test/CodeGen/aarch64-matmul.cpp
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-mops.c
M clang/test/CodeGen/aarch64-neon-3v.c
M clang/test/CodeGen/aarch64-neon-fma.c
M clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-neon-sha3.c
M clang/test/CodeGen/aarch64-neon-shifts.c
M clang/test/CodeGen/aarch64-neon-sm4-sm3.c
M clang/test/CodeGen/aarch64-neon-vcadd.c
M clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
M clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adda.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_compact.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_expa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rdffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tsmul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tssel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/aarch64-sysregs-target.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-tme.cpp
M clang/test/CodeGen/aarch64-type-sizes.c
M clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/target.c
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/aix-builtin-cpu-is.c
A clang/test/CodeGen/aix-builtin-cpu-supports.c
M clang/test/CodeGen/align-global-large.c
M clang/test/CodeGen/aligned-sret.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/arm-byval-align.c
M clang/test/CodeGen/arm-cde-gpr.c
M clang/test/CodeGen/arm-cde-reinterpret.c
M clang/test/CodeGen/arm-cde-vec.c
M clang/test/CodeGen/arm-cde-vfp.c
M clang/test/CodeGen/arm-mve-intrinsics/absneg.c
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
M clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/compare.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/dup.c
M clang/test/CodeGen/arm-mve-intrinsics/get-set-lane.c
M clang/test/CodeGen/arm-mve-intrinsics/idup.c
M clang/test/CodeGen/arm-mve-intrinsics/load-store.c
M clang/test/CodeGen/arm-mve-intrinsics/predicates.c
M clang/test/CodeGen/arm-mve-intrinsics/reinterpret.c
M clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c
M clang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c
M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
M clang/test/CodeGen/arm-mve-intrinsics/vabavq.c
M clang/test/CodeGen/arm-mve-intrinsics/vabdq.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddv.c
M clang/test/CodeGen/arm-mve-intrinsics/vandq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbicq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbrsrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vclz.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmlaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt_anpm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm-dyadic.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-var.c
M clang/test/CodeGen/arm-mve-intrinsics/veorq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vld24.c
M clang/test/CodeGen/arm-mve-intrinsics/vldr.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminvq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmlldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovl.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vornq.c
M clang/test/CodeGen/arm-mve-intrinsics/vorrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmlad.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrev.c
M clang/test/CodeGen/arm-mve-intrinsics/vrhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M clang/test/CodeGen/arm-mve-intrinsics/vshlc.c
M clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
M clang/test/CodeGen/arm-neon-vcadd.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-sve-vector-bits-vscale-range.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-vector_type-params-returns.c
M clang/test/CodeGen/arm64-crc32.c
M clang/test/CodeGen/arm64-microsoft-status-reg.cpp
M clang/test/CodeGen/arm64-mte.c
M clang/test/CodeGen/arm64_vcopy.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdup.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/array-init.c
M clang/test/CodeGen/asan-new-pm.ll
M clang/test/CodeGen/asm-label-inline-builtins.c
M clang/test/CodeGen/attr-alwaysinline.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-call.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
M clang/test/CodeGen/attr-btf_tag-typedef.c
M clang/test/CodeGen/attr-btf_type_tag-func-ptr.c
M clang/test/CodeGen/attr-btf_type_tag-func.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/attr-btf_type_tag-var.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/attr-mustprogress.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-nomerge.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-nouwtable.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/blocks-windows.c
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/CodeGen/builtin-complex.c
M clang/test/CodeGen/builtins-arm64.c
A clang/test/CodeGen/builtins-bitint.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-nvptx-mma.cu
M clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx-ptx50.cu
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx-sm_70.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/test/CodeGen/cf-runtime-abi.c
M clang/test/CodeGen/cfstring-elf-cfbuild-x86_64.c
M clang/test/CodeGen/cfstring-windows.c
M clang/test/CodeGen/cfstring3.c
A clang/test/CodeGen/clspv_libclc_builtin.c
M clang/test/CodeGen/cmse-clear-arg.c
M clang/test/CodeGen/cmse-clear-return.c
M clang/test/CodeGen/code_align.c
M clang/test/CodeGen/coff-aarch64-type-sizes.c
M clang/test/CodeGen/complex-builtins-2.c
M clang/test/CodeGen/complex-builtins.c
M clang/test/CodeGen/complex-libcalls-2.c
M clang/test/CodeGen/complex-libcalls.c
M clang/test/CodeGen/complex-math-mixed.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/dbg-const-int128.c
M clang/test/CodeGen/debug-info-codeview-heapallocsite.c
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-gline-tables-only.c
M clang/test/CodeGen/debug-info-gline-tables-only2.c
M clang/test/CodeGen/debug-info-line.c
M clang/test/CodeGen/debug-info-line3.c
M clang/test/CodeGen/debug-info-macro.c
M clang/test/CodeGen/debug-info-pseudo-probe.cpp
M clang/test/CodeGen/debug-info-variables.c
M clang/test/CodeGen/debug-label.c
M clang/test/CodeGen/debug-nvptx.c
M clang/test/CodeGen/debug-prefix-map.cpp
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/dominating-store-infinite-cycle.c
M clang/test/CodeGen/enum-bool.cpp
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/ffp-contract-option.c
M clang/test/CodeGen/ffp-model.c
M clang/test/CodeGen/fp-matrix-pragma.c
M clang/test/CodeGen/fpconstrained.c
M clang/test/CodeGen/fpconstrained.cpp
M clang/test/CodeGen/fread-inline-builtin-late-redecl.c
A clang/test/CodeGen/fseparate-named-sections.c
M clang/test/CodeGen/gh64876.cpp
M clang/test/CodeGen/hwasan-new-pm.c
M clang/test/CodeGen/inline-asm-mixed-style.c
M clang/test/CodeGen/inline-builtin-comdat.c
M clang/test/CodeGen/instrument-functions.c
M clang/test/CodeGen/instrument-objc-method.m
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/kmsan-param-retval.c
M clang/test/CodeGen/libcall-declarations.c
M clang/test/CodeGen/libcalls-fno-builtin.c
M clang/test/CodeGen/lifetime2.c
M clang/test/CodeGen/lifetime3.cpp
M clang/test/CodeGen/lineno-dbginfo.c
A clang/test/CodeGen/linking-bitcode-postopt.cpp
M clang/test/CodeGen/loop-unroll.c
M clang/test/CodeGen/loop-vectorize.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-errno.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/mcount-aix.c
M clang/test/CodeGen/mdefault-visibility-export-mapping.c
M clang/test/CodeGen/memcmp-inline-builtin-to-asm.c
M clang/test/CodeGen/memcpy-inline-builtin-mutliple-decl.c
M clang/test/CodeGen/memcpy-inline-builtin-no-extern.c
M clang/test/CodeGen/memcpy-inline-builtin.c
M clang/test/CodeGen/memcpy-no-nobuiltin-if-not-emitted.cpp
M clang/test/CodeGen/memcpy-nobuiltin.c
M clang/test/CodeGen/mips-byval-arg.c
M clang/test/CodeGen/mips-transparent-union.c
M clang/test/CodeGen/mips-unsigned-ext-var.c
M clang/test/CodeGen/mips-unsigned-extend.c
M clang/test/CodeGen/mips-vector-arg.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips-zero-sized-struct.c
M clang/test/CodeGen/mips64-class-return.cpp
M clang/test/CodeGen/mips64-padding-arg.c
M clang/test/CodeGen/msan-param-retval.c
M clang/test/CodeGen/msan-param-retval.cpp
M clang/test/CodeGen/msvc_pragma_alloc_text.cpp
A clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
M clang/test/CodeGen/named_reg_global.c
M clang/test/CodeGen/no-builtin.cpp
M clang/test/CodeGen/no-junk-ftrunc.c
M clang/test/CodeGen/noexceptionsfpmath.c
M clang/test/CodeGen/nousejumptable.c
M clang/test/CodeGen/nullptr-arithmetic.c
M clang/test/CodeGen/nullptr.c
M clang/test/CodeGen/nvptx-abi.c
M clang/test/CodeGen/nvptx-cc.c
M clang/test/CodeGen/nvptx-cpus.c
M clang/test/CodeGen/nvptx-inlineasm-ptx.c
M clang/test/CodeGen/nvptx-inlineasm.c
M clang/test/CodeGen/pch-dllexport.cpp
M clang/test/CodeGen/personality.c
A clang/test/CodeGen/pr87758.c
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
M clang/test/CodeGen/rounding-math.c
M clang/test/CodeGen/rounding-math.cpp
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
M clang/test/CodeGen/sparcv9-abi.c
A clang/test/CodeGen/sparcv9-class-return.cpp
M clang/test/CodeGen/split-debug-filename.c
M clang/test/CodeGen/split-debug-inlining.c
M clang/test/CodeGen/stack-clash-protection.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/strlen-inline-builtin-redecl.c
M clang/test/CodeGen/struct-matching-constraint.c
M clang/test/CodeGen/struct-union-BE.c
M clang/test/CodeGen/svboolx2_t.cpp
M clang/test/CodeGen/svboolx4_t.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-loop-vectorize-pm.c
M clang/test/CodeGen/tls-maxalign-modflag.c
M clang/test/CodeGen/ubsan-volatile.c
M clang/test/CodeGen/unique-internal-linkage-names.c
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/CodeGen/user-func-gnu-inline-redecl.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/windows-seh-EHa-CppCatchDotDotDot.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCatchReturn.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
M clang/test/CodeGen/windows-seh-EHa-CppDtors01.cpp
M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
M clang/test/CodeGen/windows-seh-abnormal-exits.c
M clang/test/CodeGen/windows-seh-filter-inFinally.c
A clang/test/CodeGen/x64-microsoft-arguments.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/thunk-mangling.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/virtual-function-call.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
M clang/test/CodeGenCXX/aix-static-init.cpp
M clang/test/CodeGenCXX/annotate-type.cpp
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/attr-annotate-destructor.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-annotate2.cpp
M clang/test/CodeGenCXX/attr-mustprogress.cpp
M clang/test/CodeGenCXX/attr-musttail.cpp
M clang/test/CodeGenCXX/attr-x86-no_caller_saved_registers.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
M clang/test/CodeGenCXX/builtin-bit-cast.cpp
M clang/test/CodeGenCXX/constexpr-late-instantiation.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-array.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-constructors.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-references.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-scalars.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx11-trivial-initializer-struct.cpp
M clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
M clang/test/CodeGenCXX/debug-info-blocks.cpp
M clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-cxx1y.cpp
M clang/test/CodeGenCXX/debug-info-determinism.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
M clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/debug-info-line-if.cpp
M clang/test/CodeGenCXX/debug-info-line.cpp
M clang/test/CodeGenCXX/debug-info-method2.cpp
M clang/test/CodeGenCXX/debug-info-namespace.cpp
M clang/test/CodeGenCXX/debug-info-struct-align.cpp
M clang/test/CodeGenCXX/debug-info-thunk.cpp
M clang/test/CodeGenCXX/destructor-debug-info.cpp
M clang/test/CodeGenCXX/dllexport-alias.cpp
M clang/test/CodeGenCXX/duplicate-mangled-name.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/eh.cpp
M clang/test/CodeGenCXX/fixed-point-mangle.cpp
M clang/test/CodeGenCXX/funcattrs-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/header-unit-friend-within-class-linkage.cpp
M clang/test/CodeGenCXX/header-unit-member-func-linkage.cpp
M clang/test/CodeGenCXX/instrument-functions.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-alias.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping.cpp
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/module-initializer-guard-elision.cpp
M clang/test/CodeGenCXX/module-initializer-header.cppm
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenCXX/msabi-blocks.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/partial-init.cpp
M clang/test/CodeGenCXX/partitions.cpp
M clang/test/CodeGenCXX/personality.cpp
M clang/test/CodeGenCXX/poly-unsigned.cpp
M clang/test/CodeGenCXX/pr29160.cpp
M clang/test/CodeGenCXX/static-init-4.cpp
M clang/test/CodeGenCXX/static-init-inline-variable.cpp
M clang/test/CodeGenCXX/static-init-variable-template.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/this-nonnull.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/tls-init-funcs.cpp
M clang/test/CodeGenCXX/tmp-md-nodes1.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/ubsan-new-checks.cpp
M clang/test/CodeGenCXX/union-dtor.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
M clang/test/CodeGenCXX/windows-on-arm-stack-probe-size.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
R clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M clang/test/CodeGenCoroutines/pr56329.cpp
M clang/test/CodeGenCoroutines/pr59221.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/tan.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
A clang/test/CodeGenHLSL/convergence/do.while.hlsl
A clang/test/CodeGenHLSL/convergence/for.hlsl
A clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/disable_opt.hlsl
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenHLSL/validator_version.hlsl
M clang/test/CodeGenObjC/attr-used-on-method.m
M clang/test/CodeGenObjC/debug-info-impl.m
M clang/test/CodeGenObjC/debug-info-property-class-extension.m
M clang/test/CodeGenObjC/debug-info-property-class-instance-same-name.m
M clang/test/CodeGenObjC/debug-info-property3.m
M clang/test/CodeGenObjC/dllstorage.m
M clang/test/CodeGenObjC/exceptions-personality.m
M clang/test/CodeGenObjC/externally-retained.m
M clang/test/CodeGenObjC/gnu-init.m
M clang/test/CodeGenObjC/gnu-method-only-once.m
M clang/test/CodeGenObjC/gnu-nil-receiver.m
M clang/test/CodeGenObjC/gnustep2-category-protocol.m
M clang/test/CodeGenObjC/gnustep2-category.m
M clang/test/CodeGenObjC/gnustep2-class.m
M clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjC/gnustep2-ivar-offset.m
M clang/test/CodeGenObjC/gnustep2-nontrivial-destructor-argument.mm
M clang/test/CodeGenObjC/gnustep2-proto.m
M clang/test/CodeGenObjC/ivar-type-encoding.m
M clang/test/CodeGenObjC/null-check-bool-ret.m
M clang/test/CodeGenObjC/personality.m
M clang/test/CodeGenObjC/stret-lifetime.m
M clang/test/CodeGenObjC/unqual-copy-restore.m
M clang/test/CodeGenObjCXX/msabi-stret.mm
M clang/test/CodeGenObjCXX/personality.mm
M clang/test/CodeGenOpenCL/amdgcn-flat-scratch-name.cl
M clang/test/CodeGenOpenCL/amdgcn-large-globals.cl
M clang/test/CodeGenOpenCL/amdgcn-non-temporal-store.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-calling-conv.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-ci.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err-clamp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-flat-address-space.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-interp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-r600.cl
M clang/test/CodeGenOpenCL/numbered-address-space.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp
A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/functionptr-addrspace.cpp
M clang/test/CoverageMapping/coroutine.cpp
A clang/test/CoverageMapping/decomposition.cpp
A clang/test/CoverageMapping/mcdc-system-headers.cpp
M clang/test/CoverageMapping/pr32679.cpp
A clang/test/Driver/aarch64-fmv.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-features.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/dxc_fcgl.hlsl
A clang/test/Driver/flang/msvc-link.f90
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
A clang/test/Driver/frelaxed-template-template-args.cpp
A clang/test/Driver/fseparate-named-sections.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/mips-as.c
M clang/test/Driver/mips-features.c
M clang/test/Driver/msvc-link.c
M clang/test/Driver/plugin-driver-args.cpp
M clang/test/Driver/ps4-ps5-relax-relocations.c
M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
A clang/test/Driver/ps4-visibility.cl
A clang/test/Driver/ps5-visibility.cl
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
A clang/test/Driver/std-trigraph-override.c
M clang/test/Driver/std.c
M clang/test/Driver/wasm-features.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/x86-target-features.c
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
A clang/test/ExtractAPI/non_type_template.cpp
M clang/test/ExtractAPI/objc_external_category.m
M clang/test/FixIt/dereference-addressof.c
A clang/test/FixIt/fixit-c++2a-tls.cpp
M clang/test/FixIt/fixit-c++2a.cpp
M clang/test/FixIt/fixit-format-darwin.m
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/fixit-format-ios.m
M clang/test/FixIt/fixit-include.c
M clang/test/FixIt/fixit-unused-lambda-capture.cpp
M clang/test/FixIt/objc-literals.m
M clang/test/FixIt/typo-location-bugs.cpp
M clang/test/FixIt/typo-using.cpp
M clang/test/FixIt/typo.c
M clang/test/FixIt/typo.cpp
M clang/test/FixIt/typo.m
M clang/test/Frontend/fixed_point_add.c
M clang/test/Frontend/fixed_point_add_const.c
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/Frontend/fixed_point_compound.c
M clang/test/Frontend/fixed_point_conversions.c
M clang/test/Frontend/fixed_point_conversions_const.c
M clang/test/Frontend/fixed_point_conversions_half.c
M clang/test/Frontend/fixed_point_div.c
M clang/test/Frontend/fixed_point_div_const.c
M clang/test/Frontend/fixed_point_mul.c
M clang/test/Frontend/fixed_point_mul_const.c
M clang/test/Frontend/fixed_point_same_fbits.c
M clang/test/Frontend/fixed_point_shift.c
M clang/test/Frontend/fixed_point_shift_const.c
M clang/test/Frontend/fixed_point_sub.c
M clang/test/Frontend/fixed_point_sub_const.c
M clang/test/Frontend/fixed_point_to_bool.c
M clang/test/Frontend/fixed_point_unary.c
M clang/test/Frontend/gnu-inline.c
M clang/test/Frontend/hexagon-target-basic.c
M clang/test/Frontend/invalid-cxx-abi.cpp
M clang/test/Frontend/llvmplugins.c
A clang/test/Frontend/multiple-actions.c
M clang/test/Frontend/noderef_templates.cpp
M clang/test/Frontend/objc-bool-is-bool.m
M clang/test/Frontend/output-paths.c
M clang/test/Frontend/rewrite-includes-macros.cpp
M clang/test/Frontend/valid-cxx-abi.cpp
M clang/test/Headers/arm-acle-header.c
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/test/Interpreter/const.cpp
M clang/test/Layout/aix-power-alignment-typedef-2.cpp
M clang/test/Layout/aix-type-align-and-pack-attr.cpp
M clang/test/Layout/ms-aligned-array.c
M clang/test/Layout/ms-vtordisp-local.cpp
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
M clang/test/Layout/ms-x86-aligned-tail-padding.cpp
M clang/test/Layout/ms-x86-basic-layout.cpp
M clang/test/Layout/ms-x86-bitfields-vbases.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Layout/ms-x86-empty-layout.c
M clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
M clang/test/Layout/ms-x86-empty-virtual-base.cpp
M clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Layout/ms-x86-misalignedarray.cpp
M clang/test/Layout/ms-x86-pack-and-align.cpp
M clang/test/Layout/ms-x86-primary-bases.cpp
M clang/test/Layout/ms-x86-vfvb-alignment.cpp
M clang/test/Layout/ms-x86-vfvb-sharing.cpp
M clang/test/Layout/ms-x86-vtordisp.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/minimize_source_to_dependency_directives_include.c
M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
M clang/test/Lexer/ms-compatibility.c
M clang/test/Lexer/raw-string-dlim-invalid.cpp
M clang/test/Lexer/unicode.c
M clang/test/Lexer/wchar-signedness.c
M clang/test/Misc/backend-optimization-failure-nodbg.cpp
M clang/test/Misc/backend-optimization-failure.cpp
M clang/test/Misc/loop-opt-setup.c
M clang/test/Misc/pragma-attribute-cxx.cpp
M clang/test/Misc/pragma-attribute-objc.m
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Modules/DebugInfo-fmodule-name.c
M clang/test/Modules/cstd.m
M clang/test/Modules/cxx20-10-5-ex1.cpp
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/cxx20-include-translation.cpp
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
A clang/test/Modules/function-transitive-change.cppm
M clang/test/Modules/getSourceDescriptor-crash.cpp
M clang/test/Modules/implicit-module-no-timestamp.cpp
M clang/test/Modules/language-linkage.cppm
M clang/test/Modules/load-module-with-errors.m
M clang/test/Modules/merge-objc-protocol-visibility.m
M clang/test/Modules/module-init-duplicated-import.cppm
A clang/test/Modules/module-symlink.m
M clang/test/Modules/modules-reduced-bmi.cppm
M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
M clang/test/Modules/no-import-func-body.cppm
A clang/test/Modules/no-transitive-source-location-change.cppm
A clang/test/Modules/odr_hash-enum.c
M clang/test/Modules/odr_using_dependent_name.cppm
M clang/test/Modules/pr58716.cppm
M clang/test/Modules/pr59780.cppm
M clang/test/Modules/pr59999.cppm
M clang/test/Modules/pr60085.cppm
M clang/test/Modules/pr60693.cppm
M clang/test/Modules/pr60890.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr64091.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/pr72828.cppm
M clang/test/Modules/pr78830.cppm
A clang/test/Modules/pr91105.cppm
A clang/test/Modules/pr91418.cppm
M clang/test/Modules/prune-non-affecting-module-map-files-textual.c
M clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/Modules/stress1.cpp
M clang/test/OpenMP/allocate_allocator_ast_print.cpp
M clang/test/OpenMP/allocate_ast_print.cpp
M clang/test/OpenMP/amdgpu_exceptions.cpp
M clang/test/OpenMP/amdgpu_throw.cpp
M clang/test/OpenMP/amdgpu_throw_trap.cpp
M clang/test/OpenMP/amdgpu_try_catch.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/cancel_ast_print.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_ast_print.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/constexpr_capture.cpp
M clang/test/OpenMP/critical_ast_print.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_ast_print.c
M clang/test/OpenMP/declare_reduction_ast_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_ast_print.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/declare_variant_mixed_codegen.c
M clang/test/OpenMP/depobj_ast_print.cpp
M clang/test/OpenMP/distribute_ast_print.cpp
M clang/test/OpenMP/distribute_dist_schedule_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_simd_ast_print.cpp
M clang/test/OpenMP/error_ast_print.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/for_ast_print.cpp
M clang/test/OpenMP/for_ast_print_cxx20.cpp
M clang/test/OpenMP/for_loop_auto.cpp
M clang/test/OpenMP/for_simd_ast_print.cpp
M clang/test/OpenMP/masked_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/master_ast_print.cpp
M clang/test/OpenMP/master_taskloop_ast_print.cpp
M clang/test/OpenMP/master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
M clang/test/OpenMP/nvptx_exceptions.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_throw.cpp
M clang/test/OpenMP/nvptx_throw_trap.cpp
M clang/test/OpenMP/nvptx_try_catch.cpp
M clang/test/OpenMP/openmp-read-only-feature.c
M clang/test/OpenMP/openmp_capture_const_var_ast_print.cpp
M clang/test/OpenMP/openmp_offload_codegen.cpp
M clang/test/OpenMP/ordered_ast_print.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_for_ast_print.cpp
M clang/test/OpenMP/parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/parallel_masked_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_master_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_sections_ast_print.cpp
M clang/test/OpenMP/parallel_sections_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_print.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_relaxed_codegen.cpp
M clang/test/OpenMP/requires_relaxed_print.cpp
M clang/test/OpenMP/requires_seq_cst_codegen.cpp
M clang/test/OpenMP/scan_ast_print.cpp
M clang/test/OpenMP/sections_ast_print.cpp
M clang/test/OpenMP/sections_codegen.cpp
M clang/test/OpenMP/simd_ast_print.cpp
M clang/test/OpenMP/single_ast_print.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_data_use_device_ptr_addr_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_exit_data_ast_print.cpp
M clang/test/OpenMP/target_exit_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_has_device_addr_ast_print.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_ast_print.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_update_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_depend_template_call_ast_print.cpp
M clang/test/OpenMP/taskgroup_ast_print.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_ast_print.cpp
M clang/test/OpenMP/taskloop_strict_modifier_ast_print.cpp
M clang/test/OpenMP/taskwait_ast_print.cpp
M clang/test/OpenMP/taskyield_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/OpenMP/teams_distribute_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/threadprivate_ast_print.cpp
M clang/test/OpenMP/tile_ast_print.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/OpenMP/tile_messages.cpp
M clang/test/OpenMP/x86_target_exceptions.cpp
M clang/test/OpenMP/x86_target_throw.cpp
M clang/test/OpenMP/x86_target_try_catch.cpp
M clang/test/Options/HV.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
M clang/test/PCH/arc.m
M clang/test/PCH/blocks.c
M clang/test/PCH/chain-openmp-threadprivate.cpp
M clang/test/PCH/cxx-alias-decl.cpp
M clang/test/PCH/cxx-for-range.cpp
M clang/test/PCH/cxx-member-init.cpp
M clang/test/PCH/cxx-namespaces.cpp
M clang/test/PCH/cxx-reference.cpp
M clang/test/PCH/cxx1z-init-statement.cpp
M clang/test/PCH/cxx_exprs.cpp
M clang/test/PCH/cxx_paren_init.cpp
M clang/test/PCH/empty-with-headers.c
M clang/test/PCH/fixed-point-literal.c
M clang/test/PCH/local_static.cpp
M clang/test/PCH/ms-if-exists.cpp
M clang/test/PCH/multiple_decls.c
M clang/test/PCH/ocl_types.cl
A clang/test/PCH/optnone.cpp
M clang/test/PCH/rdar10830559.cpp
M clang/test/PCH/stmt-openmp_structured_block-bit.cpp
M clang/test/PCH/stmts.c
M clang/test/PCH/types.c
M clang/test/PCH/uuidof.cpp
M clang/test/Parser/attr-availability.c
M clang/test/Parser/extra-semi.cpp
M clang/test/Parser/objc-attr.m
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
A clang/test/ParserOpenACC/parse-sub-array.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/macro_vaopt_check.cpp
M clang/test/Preprocessor/macro_vaopt_expand.cpp
M clang/test/Preprocessor/print-pragma-microsoft.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Profile/c-unreachable-after-switch.c
M clang/test/Profile/cxx-missing-bodies.cpp
A clang/test/Profile/debug-info-instr_profile_switch.cpp
M clang/test/Rewriter/rewrite-super-message.mm
M clang/test/Sema/aarch64-fp16-target.c
M clang/test/Sema/aarch64-neon-target.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sme2p1-diagnostics.c
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_target.cpp
M clang/test/Sema/aarch64-sve-vector-log-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/aix-builtin-cpu-unsupports.c
M clang/test/Sema/arm-neon-target.c
M clang/test/Sema/attr-alias-elf.c
M clang/test/Sema/attr-availability-ios.c
M clang/test/Sema/attr-availability-swift.c
M clang/test/Sema/attr-self-alias.c
M clang/test/Sema/bool-compare.c
M clang/test/Sema/bpf-attr-preserve-static-offset.c
A clang/test/Sema/builtin-cpu-unsupports-AIX-Os.c
M clang/test/Sema/builtin-setjmp.c
M clang/test/Sema/builtins-arm64-mte.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/code_align_ast.c
M clang/test/Sema/compound-literal.c
M clang/test/Sema/format-strings-no-fixit.c
A clang/test/Sema/incomplete-struct-decl.cpp
M clang/test/Sema/incorrect_pure.cpp
M clang/test/Sema/parentheses.cpp
M clang/test/Sema/ppc-attr-target-inline.c
M clang/test/Sema/riscv-rvv-vector-log-ops.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
M clang/test/Sema/test-wunaligned-access.c
M clang/test/Sema/test-wunaligned-access.cpp
M clang/test/Sema/thread_local.c
M clang/test/Sema/uninit-variables-riscv-vector.c
M clang/test/Sema/uninit-variables-vectors.c
M clang/test/Sema/uninit-variables.c
M clang/test/Sema/warn-documentation-almost-trailing.c
M clang/test/Sema/warn-strncat-size.c
M clang/test/SemaCUDA/call-kernel-from-kernel.cu
M clang/test/SemaCUDA/constexpr-variables.cu
M clang/test/SemaCUDA/fp16-arg-return.cu
M clang/test/SemaCUDA/qualifiers.cu
M clang/test/SemaCUDA/static-device-var.cu
A clang/test/SemaCXX/PR12361.cpp
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/attr-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/auto-cxx0x.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx20-lambda-decltype-this.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-ast-print.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/delete-and-function-templates.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/friend3.cpp
M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/uninit-variables-conditional.cpp
M clang/test/SemaCXX/uninit-variables.cpp
M clang/test/SemaCXX/vla-ext-diag.cpp
M clang/test/SemaCXX/warn-redundant-move.cpp
M clang/test/SemaCXX/warn-shadow.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
A clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/half_size.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
R clang/test/SemaHLSL/literal_suffixes.hlsl
R clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaObjC/uninit-variables.m
M clang/test/SemaObjCXX/block-cleanup.mm
A clang/test/SemaOpenACC/compute-construct-async-clause.c
A clang/test/SemaOpenACC/compute-construct-async-clause.cpp
A clang/test/SemaOpenACC/compute-construct-attach-clause.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.cpp
A clang/test/SemaOpenACC/compute-construct-copy-clause.c
A clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
A clang/test/SemaOpenACC/compute-construct-copyin-clause.c
A clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/compute-construct-copyout-clause.c
A clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/compute-construct-create-clause.c
A clang/test/SemaOpenACC/compute-construct-create-clause.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.cpp
A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-no_create-clause.c
A clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
A clang/test/SemaOpenACC/compute-construct-present-clause.c
A clang/test/SemaOpenACC/compute-construct-present-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
A clang/test/SemaOpenACC/compute-construct-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/sub-array-ast.cpp
A clang/test/SemaOpenACC/sub-array.cpp
M clang/test/SemaOpenCL/as_type.cl
M clang/test/SemaOpenCL/multistep-explicit-cast.cl
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/ctad.cpp
A clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/default-arguments-ast-print.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/default-expr-arguments-3.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/destructor-template.cpp
M clang/test/SemaTemplate/instantiate-friend-function.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/instantiation-depth-default.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/pr47676.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing_more.cpp
M clang/test/SemaTemplate/temp_arg_string_printing.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
R clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/template-id-printing.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
M clang/test/VFS/directory.c
M clang/test/VFS/external-names-multi-overlay.c
M clang/test/VFS/fallback.c
M clang/test/lit.site.cfg.py.in
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-fuzzer/dictionary/dictionary.c
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M clang/unittests/AST/Interp/Descriptor.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
R clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
A clang/unittests/Analysis/FlowSensitive/SolverTest.h
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
A clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/IRMatchers.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
R clang/unittests/Introspection/CMakeLists.txt
R clang/unittests/Introspection/IntrospectionTest.cpp
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/creduce-clang-crash.py
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/xray/xray_utils.h
M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/dfsan/release_shadow_space.c
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
M compiler-rt/test/profile/Linux/counter_promo_for.c
M compiler-rt/test/profile/Linux/counter_promo_while.c
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectStepOrder.py
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/HighLevelFIR.md
M flang/docs/Intrinsics.md
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/unparse-with-symbols.h
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-purity.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-directives.h
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/descriptor-io.h
M flang/runtime/edit-output.cpp
M flang/runtime/extensions.cpp
A flang/runtime/io-api-common.h
A flang/runtime/io-api-minimal.cpp
M flang/runtime/io-api.cpp
M flang/runtime/product.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
R flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/print-resource-dir.F90
A flang/test/Driver/unparse-with-modules.f90
A flang/test/Driver/w-option.f90
M flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/dummy-scope-codegen.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/c_ptr_byvalue.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/debug-loc-1.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
A flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/char_extremum.f03
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators.f90
M flang/test/Lower/HLFIR/dot_product.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-box.f90
M flang/test/Lower/HLFIR/expr-value.f90
M flang/test/Lower/HLFIR/forall.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-type-conversion.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/statement-functions.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/unary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
A flang/test/Lower/HLFIR/where-nonelemental.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_funloc-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
A flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-character.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
A flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
A flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/array-expression.f90
M flang/test/Lower/array-substring.f90
A flang/test/Lower/branching-directive.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/charconvert.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
A flang/test/Lower/if-loc.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
A flang/test/Parser/OpenMP/fail-construct1.f90
A flang/test/Parser/OpenMP/fail-construct2.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-unparse.CUF
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/barrier.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
M flang/test/Semantics/OpenMP/copyin01.f90
M flang/test/Semantics/OpenMP/copyin02.f90
M flang/test/Semantics/OpenMP/copyin03.f90
M flang/test/Semantics/OpenMP/copyin04.f90
M flang/test/Semantics/OpenMP/copyin05.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/copyprivate01.f90
M flang/test/Semantics/OpenMP/copyprivate02.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/critical-empty.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/dealloc.f90
M flang/test/Semantics/OpenMP/declarative-directive.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target04.f90
M flang/test/Semantics/OpenMP/declare-target05.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/declare-target07.f90
M flang/test/Semantics/OpenMP/default-clause.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/default.f90
M flang/test/Semantics/OpenMP/default02.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depend02.f90
M flang/test/Semantics/OpenMP/depend03.f90
M flang/test/Semantics/OpenMP/device-clause01.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
M flang/test/Semantics/OpenMP/do-collapse.f90
M flang/test/Semantics/OpenMP/do-cycle.f90
M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
M flang/test/Semantics/OpenMP/do-ordered.f90
M flang/test/Semantics/OpenMP/do-schedule01.f90
M flang/test/Semantics/OpenMP/do-schedule02.f90
M flang/test/Semantics/OpenMP/do-schedule03.f90
M flang/test/Semantics/OpenMP/do-schedule04.f90
M flang/test/Semantics/OpenMP/do01-positivecase.f90
M flang/test/Semantics/OpenMP/do01.f90
R flang/test/Semantics/OpenMP/do02.f90
M flang/test/Semantics/OpenMP/do03.f90
M flang/test/Semantics/OpenMP/do04-positivecase.f90
M flang/test/Semantics/OpenMP/do04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/do06-positivecases.f90
M flang/test/Semantics/OpenMP/do06.f90
M flang/test/Semantics/OpenMP/do07.f90
M flang/test/Semantics/OpenMP/do08.f90
M flang/test/Semantics/OpenMP/do09.f90
M flang/test/Semantics/OpenMP/do10.f90
M flang/test/Semantics/OpenMP/do11.f90
M flang/test/Semantics/OpenMP/do12.f90
M flang/test/Semantics/OpenMP/do13.f90
M flang/test/Semantics/OpenMP/do14.f90
M flang/test/Semantics/OpenMP/do15.f90
M flang/test/Semantics/OpenMP/do16.f90
M flang/test/Semantics/OpenMP/do17.f90
M flang/test/Semantics/OpenMP/do18.f90
M flang/test/Semantics/OpenMP/do19.f90
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/e32e38e49296...a6a1d64a41ff
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