[all-commits] [llvm/llvm-project] d6e1ae: Add logging to WatchpointAlgorithm
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Feb 1 09:33:50 PST 2024
Branch: refs/heads/users/MaskRay/spr/riscv-support-constraint-s
Home: https://github.com/llvm/llvm-project
Commit: d6e1ae248e85295704e199a67405ea2a4c7e98b2
https://github.com/llvm/llvm-project/commit/d6e1ae248e85295704e199a67405ea2a4c7e98b2
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Add logging to WatchpointAlgorithm
When verbose lldb watch channel is enabled, print the
user requested watchpoint and the resources we've
broken it up into.
Commit: fa42589fe31924b6176d7a92691c2f760b04ffd8
https://github.com/llvm/llvm-project/commit/fa42589fe31924b6176d7a92691c2f760b04ffd8
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Enable verbose watch log channel to debug x86-64-debian bot
Commit: 4cb13f2d2328b80687c9dcbe6815faf397b05c42
https://github.com/llvm/llvm-project/commit/4cb13f2d2328b80687c9dcbe6815faf397b05c42
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.cpp
R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.h
M clang-tools-extra/clangd/TidyFastChecks.inc
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
M clang/docs/tools/clang-formatted-files.txt
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
Log Message:
-----------
[clang-tidy] Remove cert-dcl21-cpp check (#80181)
Deprecated since clang-tidy 17. The rule DCL21-CPP has been removed from
the CERT guidelines, so it does not make sense to keep the check.
Fixes #42788
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 51e0d1b707a15dd3b96e0c4f1a29ca4dfc79cda0
https://github.com/llvm/llvm-project/commit/51e0d1b707a15dd3b96e0c4f1a29ca4dfc79cda0
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb][progress][NFC] Add unit test for progress reports (#79533)
This test is being added as a way to check the behaviour of how progress
events are broadcasted when reports are started and ended with the
current implementation of progress reports. Here we're mainly checking
and ensuring that the current behaviour is that progress events are
broadcasted individually and placed in the event queue in order of their
creation and deletion.
Commit: c84f2bac93f38c903bae2e92fc7749d93c2e1112
https://github.com/llvm/llvm-project/commit/c84f2bac93f38c903bae2e92fc7749d93c2e1112
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Add one more verbose watchpoint logging for arm-ubuntu
Commit: dc15524f61e9fced14181860ce907163b0b3a504
https://github.com/llvm/llvm-project/commit/dc15524f61e9fced14181860ce907163b0b3a504
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/test/Lower/derived-pointer-components.f90
Log Message:
-----------
[flang] DEALLOCATE(pointer) should use PointerDeallocate() (#79702)
A DEALLOCATE statement on a pointer should always use
PointerDeallocate() in the runtime, even if there's no STAT= or
polymorphism or derived types, so that it can be checked to ensure that
it is indeed a whole allocation of a pointer.
Commit: dbf547f8ffa9522656f7dd0f2a674f717f584834
https://github.com/llvm/llvm-project/commit/dbf547f8ffa9522656f7dd0f2a674f717f584834
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Add limit check to MOD/MODULO (#80026)
When testing the arguments to see whether they are integers, check first
that they are within the maximum range of a 64-bit integer; otherwise, a
value of larger magnitude will set an invalid operand exception flag.
Commit: 60860079ec9416a263d1078e0e29cf393a89737a
https://github.com/llvm/llvm-project/commit/60860079ec9416a263d1078e0e29cf393a89737a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/lib/Parser/preprocessor.cpp
M flang/test/Driver/prescanner-diag.f90
M flang/test/Preprocessing/include-comment.F90
A flang/test/Preprocessing/macro-in-include.F90
Log Message:
-----------
[flang][preprocessor] Replace macros in some #include directives (#80039)
Ensure that #include FOO undergoes macro replacement. But, as is the
case with C/C++, continue to not perform macro replacement in a #include
directive with <angled brackets>.
Commit: 2ba94bfb46cd3a1e49550f654e0362de23c184a7
https://github.com/llvm/llvm-project/commit/2ba94bfb46cd3a1e49550f654e0362de23c184a7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/local-vs-global.f90
Log Message:
-----------
[flang] Downgrade a too-strong error message to a warning (#80095)
When a compilation unit has an interface to an external subroutine or
function, and there is a global object (like a module) with the same
name, we're emitting an error. This is too strong, the program will
still build. This comes up in real applications, too. Downgrade the
error to a warning.
Commit: 209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6
https://github.com/llvm/llvm-project/commit/209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
R lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Revert "[lldb][progress][NFC] Add unit test for progress reports (#79533)"
This reverts commit 51e0d1b707a15dd3b96e0c4f1a29ca4dfc79cda0.
That commit breaks a unit test:
```
Failed Tests (1):
lldb-unit :: Core/./LLDBCoreTests/4/8
```
Commit: 9d41fba91cc0a1c0cbad1de9fd5a1f78dd540b1c
https://github.com/llvm/llvm-project/commit/9d41fba91cc0a1c0cbad1de9fd5a1f78dd540b1c
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Revert "Add one more verbose watchpoint logging for arm-ubuntu"
This reverts commit c84f2bac93f38c903bae2e92fc7749d93c2e1112.
Commit: 19f429a4bda124c655829f84bb9c1f76c86a547c
https://github.com/llvm/llvm-project/commit/19f429a4bda124c655829f84bb9c1f76c86a547c
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Revert "Enable verbose watch log channel to debug x86-64-debian bot"
This reverts commit fa42589fe31924b6176d7a92691c2f760b04ffd8.
Commit: e95250cda09331779d483e910ab3cfe5d655567c
https://github.com/llvm/llvm-project/commit/e95250cda09331779d483e910ab3cfe5d655567c
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Revert "Add logging to WatchpointAlgorithm"
This reverts commit d6e1ae248e85295704e199a67405ea2a4c7e98b2.
Commit: 46643e07d4c1caae3b8fa77be3a4073300785d91
https://github.com/llvm/llvm-project/commit/46643e07d4c1caae3b8fa77be3a4073300785d91
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
M lldb/test/Shell/Watchpoint/ExpressionLanguage.test
Log Message:
-----------
Revert "Collecting more logging to debug CI bots"
This reverts commit cf2533e75ec4360da460bb577e0a4e64f2d8997f.
Commit: cc4af03a839293ff908b52bb3a79b6ed562fe198
https://github.com/llvm/llvm-project/commit/cc4af03a839293ff908b52bb3a79b6ed562fe198
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Revert "Add extra printing to TestWatchpointCount.py to debug CI fail"
This reverts commit dad50fefa24e717927a4d3315ae70fe507d624e0.
Commit: d347c564299eeb8ad1fcb58c06914473d6a789d8
https://github.com/llvm/llvm-project/commit/d347c564299eeb8ad1fcb58c06914473d6a789d8
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
R lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
R lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
R lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/Makefile
R lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/TestUnalignedLargeWatchpoint.py
R lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/main.c
M lldb/unittests/Breakpoint/CMakeLists.txt
R lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Revert "[lldb] Add support for large watchpoints in lldb (#79962)"
This reverts commit 57c66b35a885b571f9897d75d18f1d974c29e533.
Commit: 742f88e9c754042d4f9ee2bfe5e975a7151f41ff
https://github.com/llvm/llvm-project/commit/742f88e9c754042d4f9ee2bfe5e975a7151f41ff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port d347c564299e
Commit: c003d851f5cc1476774153fa9ed02fda725e9d57
https://github.com/llvm/llvm-project/commit/c003d851f5cc1476774153fa9ed02fda725e9d57
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/optimize-fmodulemap.m
Log Message:
-----------
[clang][DependencyScanner] Remove unused -fmodule-map-file arguments (#80090)
Since we already add a `-fmodule-map-file=` argument for every used
modulemap, we can remove all `ModuleMapFiles` entries before adding
them.
This reduces the number of module variants when `-fmodule-map-file=`
appears on the original command line.
Commit: 5282202db04f8fb57b581ce8871851becc0eb737
https://github.com/llvm/llvm-project/commit/5282202db04f8fb57b581ce8871851becc0eb737
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
Log Message:
-----------
[LSR] Add a test case mentioned in review
As mentioned in https://github.com/llvm/llvm-project/pull/74747, this case is triggering a particularly high cost trip count expansion.
Commit: 9107904e9b6a56636d06bba120c7c19d332430f0
https://github.com/llvm/llvm-project/commit/9107904e9b6a56636d06bba120c7c19d332430f0
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Build PGO optimized toolchain in container (#80096)
This patch adjusts the Docker container intended for CI use to contain a
PGO+ThinLTO+BOLT optimized clang. The toolchain is built within a Github
action and takes ~3.5 hours. No caching is utilized. The current PGO
optimization is fairly minimal, only running clang over hello world.
This can be adjusted as needed.
Commit: ebe8733a11e735bb9f5ca45ec752c2a416380c8d
https://github.com/llvm/llvm-project/commit/ebe8733a11e735bb9f5ca45ec752c2a416380c8d
Author: lhames <lhames at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
M llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
Log Message:
-----------
[ORC] Merge MaterializationResponsibility notifyEmitted and addDependencies
Removes the MaterializationResponsibility::addDependencies and
addDependenciesForAll methods, and transfers dependency registration to
the notifyEmitted operation. The new dependency registration allows
dependencies to be specified for arbitrary subsets of the
MaterializationResponsibility's symbols (rather than just single symbols
or all symbols) via an array of SymbolDependenceGroups (pairs of symbol
sets and corresponding dependencies for that set).
This patch aims to both improve emission performance and simplify
dependence tracking. By eliminating some states (e.g. symbols having
registered dependencies but not yet being resolved or emitted) we make
some errors impossible by construction, and reduce the number of error
cases that we need to check. NonOwningSymbolStringPtrs are used for
dependence tracking under the session lock, which should reduce
ref-counting operations, and intra-emit dependencies are resolved
outside the session lock, which should provide better performance when
JITing concurrently (since some dependence tracking can happen in
parallel).
The Orc C API is updated to account for this change, with the
LLVMOrcMaterializationResponsibilityNotifyEmitted API being modified and
the LLVMOrcMaterializationResponsibilityAddDependencies and
LLVMOrcMaterializationResponsibilityAddDependenciesForAll operations
being removed.
Commit: 22773e591fc3e585a32f8122eb203e50fcc1e441
https://github.com/llvm/llvm-project/commit/22773e591fc3e585a32f8122eb203e50fcc1e441
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M libc/src/stdio/scanf_core/float_converter.cpp
Log Message:
-----------
[libc] Fix condition ordering in scanf (#80083)
The inf and nan string index bounds checks were after the index was
being used. This patch moves the index usage to the end of the
condition.
Fixes #79988
Commit: a03a6e99647318a86ea398c42e241da43e3c550e
https://github.com/llvm/llvm-project/commit/a03a6e99647318a86ea398c42e241da43e3c550e
Author: Zaara Syeda <95926691+syzaara at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/basic-toc-data-local-linkage.ll
A llvm/test/CodeGen/PowerPC/basic-toc-data-private-linkage.ll
A llvm/test/CodeGen/PowerPC/toc-data-common.ll
Log Message:
-----------
[AIX] [XCOFF] Add support for common and local common symbols in the TOC (#79530)
This patch adds support for common and local symbols in the TOC for AIX.
Note that we need to update isVirtualSection so as a common symbol in
TOC will have the symbol type XTY_CM and will be initialized when placed
in the TOC so sections with this type are no longer virtual.
---------
Co-authored-by: Zaara Syeda <syzaara at ca.ibm.com>
Commit: 56e241a07ff7f839d39775dbf05de5153a8e7d9f
https://github.com/llvm/llvm-project/commit/56e241a07ff7f839d39775dbf05de5153a8e7d9f
Author: Artem Dergachev <adergachev at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugSuppression.h
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/copypaste/suspicious-clones.cpp
Log Message:
-----------
[analyzer] Unbreak [[clang::suppress]] on checkers without decl-with-issue. (#79398)
There are currently a few checkers that don't fill in the bug report's
"decl-with-issue" field (typically a function in which the bug is
found).
The new attribute `[[clang::suppress]]` uses decl-with-issue to reduce
the size of the suppression source range map so that it didn't need to
do that for the entire translation unit.
I'm already seeing a few problems with this approach so I'll probably
redesign it in some point as it looks like a premature optimization. Not
only checkers shouldn't be required to pass decl-with-issue (consider
clang-tidy checkers that never had such notion), but also it's not
necessarily uniquely determined (consider leak suppressions at
allocation site).
For now I'm adding a simple stop-gap solution that falls back to
building the suppression map for the entire TU whenever decl-with-issue
isn't specified. Which won't happen in the default setup because luckily
all default checkers do provide decl-with-issue.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 1d1432356e656fcae7b2a3634a2b349334ba3d80
https://github.com/llvm/llvm-project/commit/1d1432356e656fcae7b2a3634a2b349334ba3d80
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve2-rsh.ll
Log Message:
-----------
[AArch64][SVE2] Generate urshr rounding shift rights (#78374)
Add a new node `AArch64ISD::URSHR_I_PRED`.
`srl(add(X, 1 << (ShiftValue - 1)), ShiftValue)` is transformed to
`urshr`, or to `rshrnb` (as before) if the result it truncated.
`uzp1(rshrnb(uunpklo(X),C), rshrnb(uunpkhi(X), C))` is converted to
`urshr(X, C)` (tested by the wide_trunc tests).
Pattern matching code in `canLowerSRLToRoundingShiftForVT` is taken
from prior code in rshrnb. It returns true if the add has NUW or if the
number of bits used in the return value allow us to not care about the
overflow (tested by rshrnb test cases).
Commit: 4eee04585f7ec722e852604d0dd691e143c775ea
https://github.com/llvm/llvm-project/commit/4eee04585f7ec722e852604d0dd691e143c775ea
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
AMDGPU/NFC: Add predicate for supporting buffer/flat/global f64 atomics (#80209)
Commit: 0f728a08bd005c132f9c79c4bb7316429a10a5bf
https://github.com/llvm/llvm-project/commit/0f728a08bd005c132f9c79c4bb7316429a10a5bf
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
Log Message:
-----------
[flang][hlfir][NFC] Fix typo
Commit: 5e3ae4c4afc98e30e4264b52e234113b49159c37
https://github.com/llvm/llvm-project/commit/5e3ae4c4afc98e30e4264b52e234113b49159c37
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/boolean-patterns.ll
Log Message:
-----------
[NVPTX] improve Boolean ISel (#80166)
Add TableGen patterns to convert more instructions to boolean
expressions:
- **mul -> and/or**: i1 multiply instructions currently cannot be
selected causing the compiler to crash. See
https://github.com/llvm/llvm-project/issues/57404
- **select -> and/or**: Converting selects to and/or can enable more
optimizations. `InstCombine` cannot do this as aggressively due to
poison semantics.
Commit: ff53d5074256b8d88d9883dd593992a011fb0516
https://github.com/llvm/llvm-project/commit/ff53d5074256b8d88d9883dd593992a011fb0516
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Improve legalization of e8 m8 VL>256 shuffles (#79330)
If we can't produce a large enough index vector in i8, we may need to legalize
the shuffle (via scalarization - which in turn gets lowered into stack usage).
This change makes two related changes:
* Deferring legalization until we actually need to generate the vrgather
instruction. With the new recursive structure, this only happens when
doing the fallback for one of the arms.
* Check the actual mask values for something outside of the representable
range.
Both are covered by recently added tests.
Commit: db68e9229b54f1d72c0a4445682718d75e532b5d
https://github.com/llvm/llvm-project/commit/db68e9229b54f1d72c0a4445682718d75e532b5d
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
Log Message:
-----------
[lldb][NFCI] Remove m_being_created from Breakpoint classes (#79716)
The purpose of m_being_created in these classes was to prevent
broadcasting an event related to these Breakpoints during the creation
of the breakpoint (i.e. in the constructor). In Breakpoint and
Watchpoint, m_being_created had no effect. That is to say, removing it
does not change behavior.
However, BreakpointLocation does still use m_being_created. In the
constructor, SetThreadID is called which does broadcast an event only if
`m_being_created` is false. Instead of having this logic be roundabout,
the constructor instead calls `SetThreadIDInternal`, which actually
changes the thread ID. `SetThreadID` also will call
`SetThreadIDInternal` in addition to broadcasting a changed event.
Commit: f264da432207064f4716f81485399ef127b57fd4
https://github.com/llvm/llvm-project/commit/f264da432207064f4716f81485399ef127b57fd4
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
Log Message:
-----------
[lsr][term-fold] Restrict transform to low cost expansions (#74747)
This is a follow up to an item I noted in my submission comment for
e947f95. I don't have a real world example where this is triggering
unprofitably, but avoiding the transform when we estimate the loop to be
short running from profiling seems quite reasonable. It's also now come
up as a possibility in a regression twice in two days, so I'd like to
get this in to close out the possibility if nothing else.
The original review dropped the threshold for short trip count loops. I
will return to that in a separate review if this lands.
Commit: 7c2e32d6fe386a12750292096271a00d5b7aa82f
https://github.com/llvm/llvm-project/commit/7c2e32d6fe386a12750292096271a00d5b7aa82f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-toolchain-mllvm.hip
Log Message:
-----------
Partial revert "[HIP] Fix -mllvm option for device lld linker" (#80202)
This partially reverts commit aa964f157f9b50fab3895afbfda6e0915cf6bb4a
because it caused perf regressions in rccl due to drop of -mllvm
-amgpu-kernarg-preload-count=16 from the linker step. Potentially it
could cause similar regressions for other HIP apps using -mllvm options
with -fgpu-rdc.
Fixes: SWDEV-443345
Commit: a5a8cbb110384825b99228891576f799082f200e
https://github.com/llvm/llvm-project/commit/a5a8cbb110384825b99228891576f799082f200e
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Reland "[lldb][progress][NFC] Add unit test for progress reports (#79533)"
This reverts commit 209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6.
The original commit failed to due an assertion failure in the unit test
`ProgressReportTest` that the commit added. The Debugger::Initialize()
function was called more than once which triggered the assertion, so
this commit calls that function under a `std::call_once`.
Commit: 5561beae296bded328d307d625f37805a049cddf
https://github.com/llvm/llvm-project/commit/5561beae296bded328d307d625f37805a049cddf
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/disable-feature.ll
Log Message:
-----------
[WebAssembly] avoid to enable explicit disabled feature (#80094)
Commit: 40ebe522ea5fd56cb383e29c77373b1482d49c0f
https://github.com/llvm/llvm-project/commit/40ebe522ea5fd56cb383e29c77373b1482d49c0f
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
R lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Revert "Reland "[lldb][progress][NFC] Add unit test for progress reports (#79533)""
This reverts commit a5a8cbb110384825b99228891576f799082f200e.
The test being added by that commit still fails on the assertion that
Debugger::Initialize has been called more than once.
Commit: cf401f72e1b5aa6be0719ab45c95c10ea06bec9a
https://github.com/llvm/llvm-project/commit/cf401f72e1b5aa6be0719ab45c95c10ea06bec9a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Use Zacas for AtomicRMWInst::Nand i32 and XLen. (#80119)
We don't have an AMO instruction for Nand, so with the A extension we
use an LR/SC loop. If we have Zacas we can use a CAS loop instead.
According to the Zacas spec, a CAS loop scales to highly parallel
systems better than LR/SC.
Commit: 0e0d155f87b199c137fe7bd506fb443c242f785e
https://github.com/llvm/llvm-project/commit/0e0d155f87b199c137fe7bd506fb443c242f785e
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M libc/docs/stdbit.rst
Log Message:
-----------
[libc][docs] fix stdbit.h docs (#80070)
Fix rst comment, add checks for recently implemented functions+macro.
Commit: 0e8eb445db0cc2552d9d077b527a43c779785cb9
https://github.com/llvm/llvm-project/commit/0e8eb445db0cc2552d9d077b527a43c779785cb9
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M libc/src/unistd/linux/read.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix read under msan (#80203)
The read function wasn't properly unpoisoning its result under msan,
causing test failures downstream when I tried to roll it out. This patch
adds the msan unpoison call that fixes the issue.
Commit: 8ba018d72a67050a9c37065ea2668814ebf513a9
https://github.com/llvm/llvm-project/commit/8ba018d72a67050a9c37065ea2668814ebf513a9
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add support for sub-byte transpose emulation (#80110)
This PR adds patterns to convert a sub-byte vector transpose into a
sequence of instructions that perform the transpose on i8 vector
elements. Whereas this rewrite may not lead to the absolute peak
performance, it should ensure correctness when dealing with sub-byte
transposes.
Commit: 730f498c961f29691a605028f9b1cd6d9e232460
https://github.com/llvm/llvm-project/commit/730f498c961f29691a605028f9b1cd6d9e232460
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Improve `truncf` folding (#80206)
* Use APFloat conversion function instead of going through double to
check if fold results in information loss.
* Support folding vector constants.
Commit: f8be7f29ede5369b96056d3879c57de54781c9cf
https://github.com/llvm/llvm-project/commit/f8be7f29ede5369b96056d3879c57de54781c9cf
Author: Yi Kong <yikong at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test
Log Message:
-----------
[llvm-objcopy][test] Use llvm-readelf instead for clearer visualization(NFC) (#79874)
Commit: a8279a8bc541b6027087dd497daa63b6602b7f4b
https://github.com/llvm/llvm-project/commit/a8279a8bc541b6027087dd497daa63b6602b7f4b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/Lex/Token.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Move isSimpleTypeSpecifier() from Sema to Token (#80101)
So that it can be used by clang-format.
Commit: 908fd09a13b2e89a52282478544f7f70cf0a887f
https://github.com/llvm/llvm-project/commit/908fd09a13b2e89a52282478544f7f70cf0a887f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Simplify the AfterPlacementOperator option (#79796)
Change AfterPlacementOperator to a boolean and deprecate SBPO_Never,
which meant never inserting a space except when after new/delete.
Fixes #78892.
Commit: 994493ce05ab7351cd92d30fb1bd23985b292851
https://github.com/llvm/llvm-project/commit/994493ce05ab7351cd92d30fb1bd23985b292851
Author: martinboehme <mboehme at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
Log Message:
-----------
[clang][dataflow][NFC] Rename a confusingly named variable. (#80182)
Commit: 0c361270afff83cd6433cf865ed5a410dadfb33f
https://github.com/llvm/llvm-project/commit/0c361270afff83cd6433cf865ed5a410dadfb33f
Author: martinboehme <mboehme at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/HTMLLogger.css
M clang/lib/Analysis/FlowSensitive/HTMLLogger.html
Log Message:
-----------
[clang][dataflow] Display line numbers in the HTML logger timeline. (#80130)
This makes it easier to count how many iterations an analysis takes to
complete.
It also makes it easier to compare how a change to the analysis code
affects
the timeline.
Here's a sample screenshot:
![image](https://github.com/llvm/llvm-project/assets/29098113/b3f44b4d-7037-4f28-9532-5418663250e1)
Commit: 147d7a64f8493e78669581097a3ff06c985aa3a1
https://github.com/llvm/llvm-project/commit/147d7a64f8493e78669581097a3ff06c985aa3a1
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
A lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
A lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
A lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/Makefile
A lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/TestUnalignedLargeWatchpoint.py
A lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/main.c
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/unittests/Breakpoint/CMakeLists.txt
A lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
[lldb] Add support for large watchpoints in lldb (#79962)
This patch is the next piece of work in my Large Watchpoint proposal,
https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116
This patch breaks a user's watchpoint into one or more
WatchpointResources which reflect what the hardware registers can cover.
This means we can watch objects larger than 8 bytes, and we can watched
unaligned address ranges. On a typical 64-bit target with 4 watchpoint
registers you can watch 32 bytes of memory if the start address is
doubleword aligned.
Additionally, if the remote stub implements AArch64 MASK style
watchpoints (e.g. debugserver on Darwin), we can watch any power-of-2
size region of memory up to 2GB, aligned to that same size.
I updated the Watchpoint constructor and CommandObjectWatchpoint to
create a CompilerType of Array<UInt8> when the size of the watched
region is greater than pointer-size and we don't have a variable type to
use. For pointer-size and smaller, we can display the watched granule as
an integer value; for larger-than-pointer-size we will display as an
array of bytes.
I have `watchpoint list` now print the WatchpointResources used to
implement the watchpoint.
I added a WatchpointAlgorithm class which has a top-level static method
that takes an enum flag mask WatchpointHardwareFeature and a user
address and size, and returns a vector of WatchpointResources covering
the request. It does not take into account the number of watchpoint
registers the target has, or the number still available for use. Right
now there is only one algorithm, which monitors power-of-2 regions of
memory. For up to pointer-size, this is what Intel hardware supports.
AArch64 Byte Address Select watchpoints can watch any number of
contiguous bytes in a pointer-size memory granule, that is not currently
supported so if you ask to watch bytes 3-5, the algorithm will watch the
entire doubleword (8 bytes). The newly default "modify" style means we
will silently ignore modifications to bytes outside the watched range.
I've temporarily skipped TestLargeWatchpoint.py for all targets. It was
only run on Darwin when using the in-tree debugserver, which was a proxy
for "debugserver supports MASK watchpoints". I'll be adding the
aforementioned feature flag from the stub and enabling full mask
watchpoints when a debugserver with that feature is enabled, and
re-enable this test.
I added a new TestUnalignedLargeWatchpoint.py which only has one test
but it's a great one, watching a 22-byte range that is unaligned and
requires four 8-byte watchpoints to cover.
I also added a unit test, WatchpointAlgorithmsTests, which has a number
of simple tests against WatchpointAlgorithms::PowerOf2Watchpoints. I
think there's interesting possible different approaches to how we cover
these; I note in the unit test that a user requesting a watch on address
0x12e0 of 120 bytes will be covered by two watchpoints today, a
128-bytes at 0x1280 and at 0x1300. But it could be done with a 16-byte
watchpoint at 0x12e0 and a 128-byte at 0x1300, which would have fewer
false positives/private stops. As we try refining this one, it's helpful
to have a collection of tests to make sure things don't regress.
I tested this on arm64 macOS, (genuine) x86_64 macOS, and AArch64
Ubuntu. I have not modifed the Windows process plugins yet, I might try
that as a standalone patch, I'd be making the change blind, but the
necessary changes (see ProcessGDBRemote::EnableWatchpoint) are pretty
small so it might be obvious enough that I can change it and see what
the Windows CI thinks.
There isn't yet a packet (or a qSupported feature query) for the gdb
remote serial protocol stub to communicate its watchpoint capabilities
to lldb. I'll be doing that in a patch right after this is landed,
having debugserver advertise its capability of AArch64 MASK watchpoints,
and have ProcessGDBRemote add eWatchpointHardwareArmMASK to
WatchpointAlgorithms so we can watch larger than 32-byte requests on
Darwin.
I haven't yet tackled WatchpointResource *sharing* by multiple
Watchpoints. This is all part of the goal, especially when we may be
watching a larger memory range than the user requested, if they then add
another watchpoint next to their first request, it may be covered by the
same WatchpointResource (hardware watchpoint register). Also one "read"
watchpoint and one "write" watchpoint on the same memory granule need to
be handled, making the WatchpointResource cover all requests.
As WatchpointResources aren't shared among multiple Watchpoints yet,
there's no handling of running the conditions/commands/etc on multiple
Watchpoints when their shared WatchpointResource is hit. The goal beyond
"large watchpoint" is to unify (much more) the Watchpoint and Breakpoint
behavior and commands. I have a feeling I may be slowly chipping away at
this for a while.
Re-landing this patch after fixing two undefined behaviors in
WatchpointAlgorithms found by UBSan and by failures on different
CI bots.
rdar://108234227
Commit: 19a10c13e53f4fb7dfecf400bf0ba9f18942e061
https://github.com/llvm/llvm-project/commit/19a10c13e53f4fb7dfecf400bf0ba9f18942e061
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port 147d7a64f849
Commit: 995d21bc6ff2220b2887cf9640d936eb99b3c617
https://github.com/llvm/llvm-project/commit/995d21bc6ff2220b2887cf9640d936eb99b3c617
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
Log Message:
-----------
[SelectOpt] Print instruction instead of pointer
Pull Request: https://github.com/llvm/llvm-project/pull/80125
Commit: 5a8f290ded52c218510369f3a7ae66bee1cac99f
https://github.com/llvm/llvm-project/commit/5a8f290ded52c218510369f3a7ae66bee1cac99f
Author: Wanyi <kusmour at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
A llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
Log Message:
-----------
[llvm-gsymutil] Print one-time DWO file missing warning under --quiet flag (#79882)
FileCheck test added
```
./bin/llvm-lit -sv llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
```
Manual test steps:
- Create binary with split-dwarf:
```
clang++ -g -gdwarf-4 -gsplit-dwarf main.cpp -o main_split
```
- Remove or remane the dwo file to a different name so llvm-gsymutil can't find it
```
mv main_split-main.dwo main_split-main__.dwo
```
- Now run llvm-gsymutil conversion, it should print out warning with and
without the `--quiet` flag
```
$ ./bin/llvm-gsymutil --convert=./main_split
Input file: ./main_split
Output file (x86_64): ./main_split.gsym
warning: Unable to retrieve DWO .debug_info section for main_split-main.dwo
Loaded 0 functions from DWARF.
Loaded 12 functions from symbol table.
Pruned 0 functions, ended with 12 total
```
```
$ ./bin/llvm-gsymutil --convert=./main_split --quiet
Input file: ./main_split
Output file (x86_64): ./main_split.gsym
warning: Unable to retrieve DWO .debug_info section for some object files. (Remove the --quiet flag for full output)
Pruned 0 functions, ended with 12 total
```
Commit: 3b76b86491d13ced848f2ed6f411754f54befaba
https://github.com/llvm/llvm-project/commit/3b76b86491d13ced848f2ed6f411754f54befaba
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Add debug prints to diagnose a crash on arm-ubuntu bot
Commit: c82a645ef2421c29b5e0000e981b90dc9a1e1137
https://github.com/llvm/llvm-project/commit/c82a645ef2421c29b5e0000e981b90dc9a1e1137
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Simplify the code for memory fold
Commit: 8eea582dcb900afb45866a09296624b6fef9dd20
https://github.com/llvm/llvm-project/commit/8eea582dcb900afb45866a09296624b6fef9dd20
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Driver/modules-skip-odr-check-in-gmf.cpp
M clang/test/Modules/concept.cppm
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr76638.cppm
A clang/test/Modules/skip-odr-check-in-gmf.cppm
Log Message:
-----------
[C++20] [Modules] Introduce -fskip-odr-check-in-gmf (#79959)
Close https://github.com/llvm/llvm-project/issues/79240
Cite the comment from @mizvekov in
//github.com/llvm/llvm-project/issues/79240:
> There are two kinds of bugs / issues relevant here:
>
> Clang bugs that this change hides
> Here we can add a Frontend flag that disables the GMF ODR check, just
> so
> we can keep tracking, testing and fixing these issues.
> The Driver would just always pass that flag.
> We could add that flag in this current issue.
> Bugs in user code:
> I don't think it's worth adding a corresponding Driver flag for
> controlling the above Frontend flag, since we intend it's behavior to
> become default as we fix the problems, and users interested in testing
> the more strict behavior can just use the Frontend flag directly.
This patch follows the suggestion:
- Introduce the CC1 flag `-fskip-odr-check-in-gmf` which is by default
off, so that the every existing test will still be tested with checking
ODR violations.
- Passing `-fskip-odr-check-in-gmf` in the driver to keep the behavior
we intended.
- Edit the document to tell the users who are still interested in more
strict checks can use `-Xclang -fno-skip-odr-check-in-gmf` to get the
existing behavior.
Commit: b777bb78b302055eba876a0258ea4b2625ffe71a
https://github.com/llvm/llvm-project/commit/b777bb78b302055eba876a0258ea4b2625ffe71a
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
Log Message:
-----------
[clang-tidy] Add AllowStringArrays option to modernize-avoid-c-arrays (#71701)
Add AllowStringArrays option, enabling the exclusion of array types with
deduced sizes constructed from string literals. This includes only var
declarations of array of characters constructed directly from c-strings.
Closes #59475
Commit: 9b68c095d6b52d6ec0390c653528f65c42e5f570
https://github.com/llvm/llvm-project/commit/9b68c095d6b52d6ec0390c653528f65c42e5f570
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Allow decltype in requires clause (#78847)
If clang-format is not sure whether a `requires` keyword starts a
requires clause or a requires expression, it looks ahead to see if any
token disqualifies it from being a requires clause. Among these tokens
was `decltype`, since it fell through the switch.
This patch allows decltype to exist in a require clause.
I'm not 100% sure this change won't have repercussions, but that just
means we need more test coverage!
Fixes https://github.com/llvm/llvm-project/issues/78645
Commit: fdd98e506d77514d8cbd5099e8fc98130244f6ff
https://github.com/llvm/llvm-project/commit/fdd98e506d77514d8cbd5099e8fc98130244f6ff
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Skip 2 of the three test sets to narrow down the arm-ubuntu
CI bot crash when running this unittest. The printfs aren't
printing into the CI log output.
Commit: a8f317aeaccaa052c9c4cfa4660c40554fbbf223
https://github.com/llvm/llvm-project/commit/a8f317aeaccaa052c9c4cfa4660c40554fbbf223
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] complex binary operators aren't always initializing
The added test case would trigger the removed assertion.
Commit: 5d9ffcd7f8e47ab1e15e8f7f23784b639544a7e9
https://github.com/llvm/llvm-project/commit/5d9ffcd7f8e47ab1e15e8f7f23784b639544a7e9
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Build stage2-clang-bolt target for CI container
Only the stage2-distribution target is built by default for the
stage2 distribution installation target. This means that we don't get a
BOLT optimized binary. This patch explicitly builds the
stage2-clang-bolt target before the distribution installation target so
that the clang binary is optimized before it gets installed.
Commit: 6ff431b01e29e99c7dbfcda96bdefdff91dcdf7f
https://github.com/llvm/llvm-project/commit/6ff431b01e29e99c7dbfcda96bdefdff91dcdf7f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Context.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Handle imaginary literals (#79130)
Initialize the first element to 0 and the second element to the value of
the subexpression.
Commit: 1395e582f334f3db354b6e999d86a8662819e890
https://github.com/llvm/llvm-project/commit/1395e582f334f3db354b6e999d86a8662819e890
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMisc.td
Log Message:
-----------
[X86][CodeGen] Set mayLoad = 1 for LZCNT/POPCNT/TZCNTrm_(EVEX|NF)
Promoted and NF LZCNT/POPCNT/TZCNT were supported in #79954.
B/c null_frag is used in the patterns for these variants, tablgen can
not infer mayLoad = 1 for them.
This can be tested by MCA tests, which will be added after
-mcpu=<cpu_with_apx> is supported.
Commit: 021a2b4ba254eb9e06fece5c18e5596cbb4896e6
https://github.com/llvm/llvm-project/commit/021a2b4ba254eb9e06fece5c18e5596cbb4896e6
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Uncomment the 2GB max tests and see if that works on arm-ubuntu
Commit: a9e830910bc07733b7a9d4b935cd12a9041623b3
https://github.com/llvm/llvm-project/commit/a9e830910bc07733b7a9d4b935cd12a9041623b3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/c.c
M clang/test/Sema/check-increment.c
Log Message:
-----------
[clang][Interp] Protect Inc/Dec ops against dummy pointers
We create them more often in C, so it's more likely to happen there.
Commit: fa98e2861dadaf436b0eb4b38e96a2ccf7c41072
https://github.com/llvm/llvm-project/commit/fa98e2861dadaf436b0eb4b38e96a2ccf7c41072
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Remove unused RecordScope
Commit: 48f8b74c35991fd3842e135481960449b1e25363
https://github.com/llvm/llvm-project/commit/48f8b74c35991fd3842e135481960449b1e25363
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/Sema/c2x-auto.c
M clang/test/Sema/c2x-bool.c
Log Message:
-----------
[clang][Interp] Support GenericSelectionExprs
Just delegate to the resulting expression.
Commit: 54f324f377a92a64fcc5c1d401da9b07bf50a2f1
https://github.com/llvm/llvm-project/commit/54f324f377a92a64fcc5c1d401da9b07bf50a2f1
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Trying to refine which test is crashing on arm-ubuntu.
Commit: 65066c02770cc3da3b5154fbb7ed9df78ab94b93
https://github.com/llvm/llvm-project/commit/65066c02770cc3da3b5154fbb7ed9df78ab94b93
Author: Hugo Trachino <32955781+nujaa at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
Log Message:
-----------
[mlir] Use `create` instead of `createOrFold` for ConstantOp as folding has no effect (NFC) (#80129)
This aims to clean-up confusing uses of
builder.createOrFold<ConstantOp> since folding of constants fails.
Commit: 7ec996d4c5c30083b070be4898140440094e6b97
https://github.com/llvm/llvm-project/commit/7ec996d4c5c30083b070be4898140440094e6b97
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-01 (Thu, 01 Feb 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
A llvm/test/TableGen/GlobalISelCombinerEmitter/Inputs/test-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/builtin-pattern-errors.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/test/TableGen/lit.local.cfg
M llvm/utils/TableGen/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.h
Log Message:
-----------
[GlobalISel][TableGen] Support Intrinsics in MIR Patterns (#79278)
Commit: e8512786fedbfa6ddba70ceddc29d7122173ba5e
https://github.com/llvm/llvm-project/commit/e8512786fedbfa6ddba70ceddc29d7122173ba5e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Use range-based for loops (NFC)
Commit: 39fa304866e16f1408a0cab9437e47e4ebacf206
https://github.com/llvm/llvm-project/commit/39fa304866e16f1408a0cab9437e47e4ebacf206
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/utils/TableGen/CodeGenInstruction.cpp
Log Message:
-----------
[llvm] Use StringRef::starts_with (NFC)
Commit: b67ce7e34948d4d954d3cfedb29ffc94861ca0b2
https://github.com/llvm/llvm-project/commit/b67ce7e34948d4d954d3cfedb29ffc94861ca0b2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Frontend/FrontendActions.cpp
Log Message:
-----------
[clang] Use StringRef::starts_with (NFC)
Commit: eaa3d5e26665ca85d488e9194b9fbe304db6fa21
https://github.com/llvm/llvm-project/commit/eaa3d5e26665ca85d488e9194b9fbe304db6fa21
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Done iterating with arm-ubuntu bot, I see the problem test.
Go back to the original form of this file before I add temp
workaround.
Commit: 90e68086d8fdbfb32dfc7e7e3498f44365274ce8
https://github.com/llvm/llvm-project/commit/90e68086d8fdbfb32dfc7e7e3498f44365274ce8
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Skip two WatchpointAlgorithm tests for 32-bit lldb's
After iterating with the arm-ubuntu CI bot, I found the crash (a
std::bad_alloc exception being thrown) was caused by these two
entries when built on a 32-bit machine. I probably have an assumption
about size_t being 64-bits in WatchpointAlgorithms and we have a
problem when it's actually 32-bits and we're dealing with a real
64-bit address. All of the cases where the address can be represented
in the low 32-bits of the addr_t work correctly, so for now I'm
skipping these two unit tests when building lldb on a 32-bit host
until I can review that method and possibly switch to explicit
uin64_t's.
.
Commit: 5fdf8c6faaa572d6c5e58d5c16d3b1e62782f7c4
https://github.com/llvm/llvm-project/commit/5fdf8c6faaa572d6c5e58d5c16d3b1e62782f7c4
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][Transforms] `GreedyPatternRewriteDriver`: Hash ops separately (#78312)
The greedy pattern rewrite driver has multiple "expensive checks" to
detect invalid rewrite pattern API usage. As part of these checks, it
computes fingerprints for every op that is in scope, and compares the
fingerprints before and after an attempted pattern application.
Until now, each computed fingerprint took into account all nested
operations. That is quite expensive because it walks the entire IR
subtree. It is also redundant in the expensive checks because we already
compute a fingerprint for every op.
This commit significantly improves the running time of the "expensive
checks" in the greedy pattern rewrite driver.
Commit: 84564e1040be8df037d2e9cdbb494aef067e77a7
https://github.com/llvm/llvm-project/commit/84564e1040be8df037d2e9cdbb494aef067e77a7
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/ConvertType.cpp
A flang/test/Lower/derived-types-kind-params-2.f90
Log Message:
-----------
[flang][NFC] Cache derived type translation in lowering (#80179)
Derived type translation is proving expensive in modern fortran apps
with many big derived types with dozens of components and parents.
Extending the cache that prevent recursion is proving to have little
cost on apps with small derived types and significant gain (can divide
compile time by 2) on modern fortran apps.
It is legal since the cache lifetime is less than the MLIRContext
lifetime that owns the cached mlir::Type.
Doing so also exposed that the current caching was incorrect, the type
symbol is the same for kind parametrized derived types regardless of the
kind parameters. Instances with different kinds should lower to
different MLIR types. See added test.
Using the type scopes fixes the problem.
Commit: ae931b470319ade31fcc0797b6051eb8b96f9a8a
https://github.com/llvm/llvm-project/commit/ae931b470319ade31fcc0797b6051eb8b96f9a8a
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
[Clang][test] Limit library search when linking shared lib (#80253)
Don't search for unnecessary libs when linking the shared lib. This
allows the test to run in chroot environment.
Commit: e7d40a87ff230528131541f6ac17a2e1a7dc78e1
https://github.com/llvm/llvm-project/commit/e7d40a87ff230528131541f6ac17a2e1a7dc78e1
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/FuncToEmitC/CMakeLists.txt
A mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
A mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Dialect/EmitC/IR/CMakeLists.txt
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
A mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Target/Cpp/func.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][EmitC] Add func, call and return operations and conversions (#79612)
This adds a `func`, `call` and `return` operation to the EmitC dialect,
closely related to the corresponding operations of the Func dialect. In
contrast to the operations of the Func dialect, the EmitC operations do
not support multiple results. The `emitc.func` op features a
`specifiers` argument that for example allows, with corresponding
support in the emitter, to emit `inline static` functions.
Furthermore, this adds patterns and a pass to convert the Func dialect
to EmitC. A `func.func` op that is `private` is converted to
`emitc.func` with a `"static"` specifier.
Commit: d0dbd50cf0dc85834842380235f445e80516cb59
https://github.com/llvm/llvm-project/commit/d0dbd50cf0dc85834842380235f445e80516cb59
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing header for 7ec996d4c5c30083b070be4898140440094e6b97
Commit: 468b23935a56d2be75c1f86fea97e5620b230a93
https://github.com/llvm/llvm-project/commit/468b23935a56d2be75c1f86fea97e5620b230a93
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Merge TableGenGlobalISel into the tablegen target
These two are intertwined enough so it doesn't really make sense to have
it standalone and hack around it by putting headers into both.
Commit: 395c8175e37248c11ddbffe47294033834b0ec51
https://github.com/llvm/llvm-project/commit/395c8175e37248c11ddbffe47294033834b0ec51
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Put back the pieces of TableGenGlobalISel that unittests depend on
This is a mess and needs to be cleaned up some day.
Commit: 415bf200a725055a3a38e96269f4b752ea6fc330
https://github.com/llvm/llvm-project/commit/415bf200a725055a3a38e96269f4b752ea6fc330
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp
M llvm/unittests/tools/llvm-exegesis/ResultAggregatorTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
Log Message:
-----------
[llvm-exegesis] Replace --num-repetitions with --min-instructions (#77153)
This patch replaces --num-repetitions with --min-instructions to make it
more clear that the value refers to the minimum number of instructions
in the final assembled snippet rather than the number of repetitions of
the snippet. This patch also refactors some llvm-exegesis internal
variable names to reflect the name change.
Fixes #76890.
Commit: ca7fd25492388003fab4e19d7e95517bdee2d210
https://github.com/llvm/llvm-project/commit/ca7fd25492388003fab4e19d7e95517bdee2d210
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix a typo from e7d40a87ff230528131541f6ac17a2e1a7dc78e1
Commit: e9e01675a31969d5ae7c250caa6efcc8dcdb80bc
https://github.com/llvm/llvm-project/commit/e9e01675a31969d5ae7c250caa6efcc8dcdb80bc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/HLFIR/invalid.fir
M flang/test/Lower/HLFIR/minval.f90
Log Message:
-----------
[flang][HLFIR] Relax verifiers of intrinsic operations (#80132)
The verifiers are currently very strict: requiring intrinsic operations
to be used only in cases where the Fortran standard permits the
intrinsic to be used.
There have now been a lot of cases where these verifiers have caused
bugs in corner cases. In a recent ticket, @jeanPerier pointed out that
it could be useful for future optimizations if somewhat invalid uses of
these operations could be allowed in dead code. See this comment:
https://github.com/llvm/llvm-project/issues/79995#issuecomment-1918118234
In response to all of this, I have decided to relax the intrinsic
operation verifiers. The intention is now to only disallow operation
uses that are likely to crash the compiler. Other checks are still
available under `-strict-intrinsic-verifier`.
The disadvantage of this approach is that IR can now represent intrinsic
invocations which are incorrect. The lowering and implementation of
these intrinsic functions is unlikely to do the right thing in all of
these cases, and as they should mostly be impossible to generate using
normal Fortran code, these edge cases will see very little testing,
before some new optimization causes them to become more common.
Fixes #79995
Commit: 1bbb797e9c7f37aa814b9bbaba2961f730a26891
https://github.com/llvm/llvm-project/commit/1bbb797e9c7f37aa814b9bbaba2961f730a26891
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
[Clang][AArch64] Add ACLE macros for FEAT_PAuth_LR (#80163)
This updates clang's target defines to include the ACLE changes covering
the FEAT_PAuth_LR architecture extension.
The changes include:
* The new `__ARM_FEATURE_PAUTH_LR` feature macro, which is set to 1 when
FEAT_PAuth_LR is available in the target.
* A new bit field for the existing `__ARM_FEATURE_PAC_DEFAULT` macro,
indicating the use of PC as a diversifier for Pointer Authentication
(from -mbranch-protection=pac-ret+pc).
The approved changes to the ACLE spec can be found here:
https://github.com/ARM-software/acle/pull/292
Commit: f34418c73b718abb24cd5b921b5a2846011e7d0c
https://github.com/llvm/llvm-project/commit/f34418c73b718abb24cd5b921b5a2846011e7d0c
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugInfoMetadata.cpp
Log Message:
-----------
[HWASAN] Remove DW_OP_LLVM_tag_offset from DIExpression::isImplicit (#79816)
According to its doc-comment `isImplicit` is meant to return true if the
expression is an implicit location description (describes an object or part of
an object which has no location by computing the value from available program
state).
There's a brief entry for `DW_OP_LLVM_tag_offset` in the LangRef and there's
some info in the original commit fb9ce100d19be130d004d03088ccd4af295f3435.
>From what I can tell it doesn't look like `DW_OP_LLVM_tag_offset` affects
whether or not the location is implicit; the opcode doesn't get included in the
final location description but instead is added as an attribute to the variable.
This was tripping an assertion in the latest application of the fix to #76545,
#78606, where an expression containing a `DW_OP_LLVM_tag_offset` is split into
a fragment (i.e., describe a part of the whole variable).
Commit: 96a3d05ed923d2abd51acb52984b83b9e8044924
https://github.com/llvm/llvm-project/commit/96a3d05ed923d2abd51acb52984b83b9e8044924
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub][workflows] Reflow some text in buildbot info PR comment
When the markdown link renders the line gets a lot shorter.
Commit: b5c0b67bc270936c8fa254dc42d920e867adef54
https://github.com/llvm/llvm-project/commit/b5c0b67bc270936c8fa254dc42d920e867adef54
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
Log Message:
-----------
[AMDGPU] Check wavefrontsize for GFX11 WMMA builtins (#79980)
Commit: da437330beca0411912ca46f2d5ef1e46403acbd
https://github.com/llvm/llvm-project/commit/da437330beca0411912ca46f2d5ef1e46403acbd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/iv-poison.ll
Log Message:
-----------
[SCEVExp] Keep NUW/NSW if both original inc and isomporphic inc agree. (#79512)
We are replacing with a wider increment. If both OrigInc and
IsomorphicInc are NUW/NSW, then we can preserve them on the wider
increment; the narrower IsomorphicInc would wrap before the wider
OrigInc, so the replacement won't make IsomorphicInc's uses more
poisonous.
PR: https://github.com/llvm/llvm-project/pull/79512
Commit: 7d78ccf7d5a9861839126d5899b443f55236cab9
https://github.com/llvm/llvm-project/commit/7d78ccf7d5a9861839126d5899b443f55236cab9
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/memory
M libcxx/include/version
M libcxx/modules/std/memory.inc
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
R libcxx/test/std/utilities/memory/allocator.traits/allocate_at_least.pass.cpp
A libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_at_least.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][memory] P2652R2: Disallow Specialization of `allocator_traits` (#79978)
Implements P2652R2 <https://wg21.link/P2652R2>:
- https://eel.is/c++draft/allocator.requirements.general
- https://eel.is/c++draft/memory.syn
- https://eel.is/c++draft/allocator.traits.general
- https://eel.is/c++draft/allocator.traits.members
- https://eel.is/c++draft/diff.cpp20.concepts
- https://eel.is/c++draft/diff.cpp20.utilities
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: ea2984287d91b96f5e2cc0aa66d146d6dbd1d1bb
https://github.com/llvm/llvm-project/commit/ea2984287d91b96f5e2cc0aa66d146d6dbd1d1bb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/CodeGen/ARM/popcnt.ll
Log Message:
-----------
[ARM] Add ctpop codegen tests
Commit: c105848fd29d3b46eeb794bb6b10dad04f903b09
https://github.com/llvm/llvm-project/commit/c105848fd29d3b46eeb794bb6b10dad04f903b09
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/pr79861.ll
Log Message:
-----------
[IndVars] Add tests for #79861 (NFC)
Commit: 178719e86043c1e830a7e24de027a84f6f8ea28f
https://github.com/llvm/llvm-project/commit/178719e86043c1e830a7e24de027a84f6f8ea28f
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
Log Message:
-----------
[RISCV][NFC] Simplify calls.ll and autogenerate checks for tail-calls.ll
Split out from #78417.
Reviewers: topperc, asb, kito-cheng
Reviewed By: asb
Pull Request: https://github.com/llvm/llvm-project/pull/79248
Commit: d2565bb11308f6cf98d838e828d9bcbe2d51e0e4
https://github.com/llvm/llvm-project/commit/d2565bb11308f6cf98d838e828d9bcbe2d51e0e4
Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
Log Message:
-----------
[openmp] On Windows, fix standalone cmake build (#80174)
This fixes: https://github.com/llvm/llvm-project/issues/80117
Commit: f956e7fbf161447b9236f7c4448a9d02d3564261
https://github.com/llvm/llvm-project/commit/f956e7fbf161447b9236f7c4448a9d02d3564261
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
Log Message:
-----------
[AMDGPU] Prefer `s_memtime` for `readcyclecounter` on GFX10 (#80211)
Summary:
The old `s_memtime` instruction was supported until the GFX10
architecture. Although this instruction has a higher latency than the
new shader counter, it's much more usable as a processor clock as it is
a full 64-bit counter. The new shader counter is only a 20-bit counter,
which makes it difficult to use as a standard cycle counter as it will
overflow in a few milliseconds. This patch suggests preferring
`s_memtime` for this instrinsic if it is still available.
Commit: d313614b60ff1194f48e5f0b1bb8d63d2b7eb52d
https://github.com/llvm/llvm-project/commit/d313614b60ff1194f48e5f0b1bb8d63d2b7eb52d
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/Modules/aarch64-sme-keywords.cppm
M llvm/docs/AArch64SME.rst
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-call-remarks.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Verifier/sme-attributes.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[AArch64] Replace LLVM IR function attributes for PSTATE.ZA. (#79166)
Since https://github.com/ARM-software/acle/pull/276 the ACLE
defines attributes to better describe the use of a given SME state.
Previously the attributes merely described the possibility of it being
'shared' or 'preserved', whereas the new attributes have more semantics
and also describe how the data flows through the program.
For ZT0 we already had to add new LLVM IR attributes:
* aarch64_new_zt0
* aarch64_in_zt0
* aarch64_out_zt0
* aarch64_inout_zt0
* aarch64_preserves_zt0
We have now done the same for ZA, such that we add:
* aarch64_new_za (previously `aarch64_pstate_za_new`)
* aarch64_in_za (more specific variation of `aarch64_pstate_za_shared`)
* aarch64_out_za (more specific variation of `aarch64_pstate_za_shared`)
* aarch64_inout_za (more specific variation of
`aarch64_pstate_za_shared`)
* aarch64_preserves_za (previously `aarch64_pstate_za_shared,
aarch64_pstate_za_preserved`)
This explicitly removes 'pstate' from the name, because with SME2 and
the new ACLE attributes there is a difference between "sharing ZA"
(sharing
the ZA matrix register with the caller) and "sharing PSTATE.ZA" (sharing
either the ZA or ZT0 register, both part of PSTATE.ZA with the caller).
Commit: 5d41788f3798da5ea91dc6cac86e3d9eebdee3ce
https://github.com/llvm/llvm-project/commit/5d41788f3798da5ea91dc6cac86e3d9eebdee3ce
Author: David Green <david.green at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/test/CodeGen/AArch64/select_fmf.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-basic-instructions.s
Log Message:
-----------
[AArch64] Alter latency of FCSEL under Cortex-A510 (#80178)
As per the Cortex-A510 software optimization guide, the latency of a
fcsel should be 3 not 4. It would previously get the latency from
WriteF.
Commit: c3eb2978a60b4e2e0cf9c8a8f9c51b48bd49477a
https://github.com/llvm/llvm-project/commit/c3eb2978a60b4e2e0cf9c8a8f9c51b48bd49477a
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Log Message:
-----------
[mlir][scf] Considering defining operators of indices when fusing scf::ParallelOp (#80145)
When checking the load indices of the second loop coincide with the
store indices of the first loop, it only considers the index values are
the same or not. However, there are some cases the index values defined
by other operators. In these cases, it will treat them as different even
the results of defining operators are the same.
We already check if the iteration space is the same in isFusionLegal().
When checking operands of defining operators, we only need to consider
the operands come from the same induction variables. If so, we know the
results of defining operators are the same.
Commit: 112fba974ce42a6e552f7391d20a858a128283a1
https://github.com/llvm/llvm-project/commit/112fba974ce42a6e552f7391d20a858a128283a1
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-unreachable-blocks.mir
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-unmerge-undef.mir
M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-crash.ll
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-ignorable-exec-use.mir
M llvm/test/CodeGen/AMDGPU/opt-exec-masking-pre-ra-update-liveness.mir
M llvm/test/CodeGen/AMDGPU/optimize-compare.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-def-after-use.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
M llvm/test/CodeGen/AMDGPU/ra-inserted-scalar-instructions.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
M llvm/test/CodeGen/AMDGPU/sink-after-control-flow-postra.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
M llvm/test/CodeGen/AMDGPU/tail-dup-bundle.mir
M llvm/test/CodeGen/AMDGPU/wqm-terminators.mir
M llvm/test/CodeGen/ARM/cmpxchg.mir
M llvm/test/CodeGen/ARM/machine-outliner-noreturn.mir
M llvm/test/CodeGen/MIR/X86/unreachable-block-print.mir
M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/phi.mir
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/jump_table_and_brjt.mir
M llvm/test/CodeGen/PowerPC/branch_coalescing.mir
M llvm/test/CodeGen/PowerPC/machine-cse-rm-pre.mir
M llvm/test/CodeGen/PowerPC/nofpexcept.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv64.mir
M llvm/test/CodeGen/RISCV/float-select-verify.ll
M llvm/test/CodeGen/Thumb2/cmpxchg.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/X86/GlobalISel/select-phi.mir
M llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
M llvm/test/CodeGen/X86/coalescer-remat-with-undef-implicit-def-operand.mir
M llvm/test/CodeGen/X86/cse-two-preds.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
Log Message:
-----------
[MIRPrinter] Don't print line break when there is no instructions (NFC) (#80147)
Per #80143, we can remove the extra line break when there is no
instruction.
Commit: 15295d01352c922f1dfe564d801d556cf5fe01b3
https://github.com/llvm/llvm-project/commit/15295d01352c922f1dfe564d801d556cf5fe01b3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Introduce and use computeCommonAlignment function, NFC.
Commit: 2a50921553798d2db52ca6330c89f0f8a5bc2215
https://github.com/llvm/llvm-project/commit/2a50921553798d2db52ca6330c89f0f8a5bc2215
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
A llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
Log Message:
-----------
[AIX][TLS] Optimize the small local-exec access sequence for non-zero offsets (#71485)
This patch utilizes the -maix-small-local-exec-tls option to produce a
faster,
non-TOC-based access sequence for the local-exec TLS model.
Specifically, for
when the offsets from the TLS variable are non-zero.
In particular, this patch produces either a single:
- addi/la with a displacement off of R13 plus a non-zero offset for when
an address is calculated, or
- load or store off of R13 plus a non-zero offset for when an address is
calculated and used for further
access where R13 is the thread pointer, respectively.
In order to produce a single addi or load/store off of the thread
pointer with a non-zero offset,
this patch also adds the necessary support in the assembly printer when
printing these instructions.
Specifically:
- The non-zero offset is added to the TLS variable address when the
address of the
TLS variable + it's offset is less than 32KB.
- Otherwise, when the address of the TLS variable + its offset is
greater than 32KB, the
non-zero offset (and a multiple of 64KB) is subtracted from the TLS
address.
This handling in the assembly printer is necessary to ensure that the
TLS address + the non-zero offset
is between [-32768, 32768), so that the total displacement can fit
within the addi/load/store instructions.
This patch is meant to be a follow-up to
3f46e5453d9310b15d974e876f6132e3cf50c4b1 (where the
optimization occurs for when the offset is zero).
Commit: 40f6b7d4761657cebd383b102ff3e6e612337f01
https://github.com/llvm/llvm-project/commit/40f6b7d4761657cebd383b102ff3e6e612337f01
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Log Message:
-----------
[PowerPC] Fix -Wunused-variable in PPCAsmPrinter.cpp and PPCISelDAGToDAG.cpp (NFC)
llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1648:15:
error: unused variable 'InstDisp' [-Werror,-Wunused-variable]
ptrdiff_t InstDisp = TLSVarAddress + Offset - Delta;
^
llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:7624:19:
error: unused variable 'TPReg' [-Werror,-Wunused-variable]
RegisterSDNode *TPReg = dyn_cast<RegisterSDNode>(TPRegNode.getNode());
^
llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:7625:23:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const PPCSubtarget &Subtarget =
^
Commit: f7b05e055fa63e1c4b5ae5e391b654b57161a0e4
https://github.com/llvm/llvm-project/commit/f7b05e055fa63e1c4b5ae5e391b654b57161a0e4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopUnroll/runtime-i128.ll
Log Message:
-----------
[LoopUnroll] Add test for #80289 (NFC)
Commit: 62ae7d976f494f3dbd297331b19cd1204750de6f
https://github.com/llvm/llvm-project/commit/62ae7d976f494f3dbd297331b19cd1204750de6f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/test/Transforms/LoopUnroll/runtime-i128.ll
Log Message:
-----------
[LoopUnroll] Fix missing sign extension
For integers larger than 64-bit, this would zero-extend a -1
value, instead of sign-extending it.
Fixes https://github.com/llvm/llvm-project/issues/80289.
Commit: 3c64b24ed35fe6bb4a7a1fe304089e6069fcd14d
https://github.com/llvm/llvm-project/commit/3c64b24ed35fe6bb4a7a1fe304089e6069fcd14d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
Log Message:
-----------
[BOLT] Add extra staleness logging (#80225)
Report two extra metrics:
- # of stale functions with matching block count,
- # of stale blocks with matching instruction count.
Commit: fcd3752342ebd193d4eef39b9c0730599eca4486
https://github.com/llvm/llvm-project/commit/fcd3752342ebd193d4eef39b9c0730599eca4486
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/rocm-detect.hip
Log Message:
-----------
[HIP] fix HIP detection for /usr (#80190)
Skip checking HIP version file under parent directory for /usr/local
since /usr will be checked after /usr/local.
Fixes: https://github.com/llvm/llvm-project/issues/78344
Commit: 6050cf28846e5be2c162108f1a024d5ff25d5637
https://github.com/llvm/llvm-project/commit/6050cf28846e5be2c162108f1a024d5ff25d5637
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Log Message:
-----------
[mlir][scf] Add reductions support to `scf.parallel` fusion (#75955)
Properly handle fusion of loops with reductions:
* Check there are no first loop results users between loops
* Create new loop op with merged reduction init values
* Update `scf.reduce` op to contain reductions from both loops
* Update loops users with new loop results
Commit: 390d66b03b5a5e352b7d696aaed679a2deb25c6c
https://github.com/llvm/llvm-project/commit/390d66b03b5a5e352b7d696aaed679a2deb25c6c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
Log Message:
-----------
[LSR] Add tests for restricting term-fold budget based on exact trip count
Commit: 6ac4fe8de014336ce66d02ddd07e85db3b8e77a2
https://github.com/llvm/llvm-project/commit/6ac4fe8de014336ce66d02ddd07e85db3b8e77a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants.cpp - refactor constant search loop to take array of sorted candidates
Pulled out of #79815 - refactors the internal FixupConstant logic to just accept an array of vzload/broadcast candidates that are pre-sorted in ascending constant pool size
Commit: 9acd61ec1999ac3a54371d0a8b9d922ef5ca2b50
https://github.com/llvm/llvm-project/commit/9acd61ec1999ac3a54371d0a8b9d922ef5ca2b50
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/datasizeof.cpp
Log Message:
-----------
[Sema] Fix crash in __datasizeof with unknown types (#80300)
Fixes #80284.
Calling `getASTRecordLayout` on invalid types may crash and results of
`__datasizeof` on invalid types can be arbitrary, so just use whatever
`sizeof` returns.
Commit: c5f461918cece4362fb70c7b16de4e95c1af8e5f
https://github.com/llvm/llvm-project/commit/c5f461918cece4362fb70c7b16de4e95c1af8e5f
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/test/CXX/temp/p3.cpp
M clang/test/OpenMP/declare_simd_messages.cpp
Log Message:
-----------
[Clang][Parse] Diagnose member template declarations with multiple declarators (#78243)
According to [temp.pre] p5:
> In a template-declaration, explicit specialization, or explicit instantiation the init-declarator-list in the declaration shall contain at most one declarator.
A member-declaration that is a template-declaration or explicit-specialization contains a declaration, even though it declares a member. This means it _will_ contain an init-declarator-list (not a member-declarator-list), so [temp.pre] p5 applies.
This diagnoses declarations such as:
```
struct A
{
template<typename T>
static const int x = 0, f(); // error: a template declaration can only declare a single entity
template<typename T>
static const int g(), y = 0; // error: a template declaration can only declare a single entity
};
```
The diagnostic messages are the same as those of the equivalent namespace scope declarations.
Note: since we currently do not diagnose declarations with multiple abbreviated function template declarators at namespace scope e.g., `void f(auto), g(auto);`, so this patch does not add diagnostics for the equivalent member declarations.
This patch also refactors `ParseSingleDeclarationAfterTemplate` (now named `ParseDeclarationAfterTemplate`) to call `ParseDeclGroup` and return the resultant `DeclGroup`.
Commit: a52eea66795018550e95c4b060165a7250899298
https://github.com/llvm/llvm-project/commit/a52eea66795018550e95c4b060165a7250899298
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Make +pauth enabled in Armv8.3-a by default (#78027)
Add AEK_PAUTH to ARMV8_3A in TargetParser and let it propagate to
ARMV8R, as it aligns with GCC defaults.
After adding AEK_PAUTH, several tests from TargetParserTest.cpp crashed
when trying to format an error message, thus update a format string in
AssertSameExtensionFlags to account for bitmask being pre-formatted as
std::string.
The CHECK-PAUTH* lines in aarch64-target-features.c are updated to
account for the fact that FEAT_PAUTH support and pac-ret can be enabled
independently and all four combinations are possible.
Commit: bed3608c22fbd3afbdbc782f04e8c9c6e6e8fa18
https://github.com/llvm/llvm-project/commit/bed3608c22fbd3afbdbc782f04e8c9c6e6e8fa18
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Factor out RI::disassemblePLTInstruction (#80302)
Commit: 4eb0810922a8d6ad9a32fbf09326166317dc5c08
https://github.com/llvm/llvm-project/commit/4eb0810922a8d6ad9a32fbf09326166317dc5c08
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-cov5.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump][AMDGPU] Pass ELF ABIVersion through disassembler (#78907)
Admittedly, its a bit ugly to pass the ABIVersion through onSymbolStart
but I'm not sure what a better place for it would be.
Commit: 09b4649ea5cefc4f93d9c936d38863df5c6568ed
https://github.com/llvm/llvm-project/commit/09b4649ea5cefc4f93d9c936d38863df5c6568ed
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/HLFIR/procedure-pointer.f90
Log Message:
-----------
[flang] Fix passing NULL to OPTIONAL procedure pointers (#80267)
Procedure pointer lowering used `prepareUserCallActualArgument` because
it was convenient, but this helper was not meant for POINTERs when
originally written and it did not handled passing NULL to an OPTIONAL
procedure pointer correctly.
The resulting argument should be a disassociated pointer, not an absent
pointer (Fortran 15.5.2.12 point 1.).
Move the logic for procedure pointer argument "cooking" in its own
helper to avoid triggering the logic that created an absent argument in
this case.
Commit: bfdd78233fba4623366bbef5631ff0ebab29c42e
https://github.com/llvm/llvm-project/commit/bfdd78233fba4623366bbef5631ff0ebab29c42e
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DIContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/test/DebugInfo/X86/skeleton-unit-verify.s
M llvm/test/DebugInfo/dwarfdump-accel.test
M llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_split_cu.s
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
Aggregate errors from llvm-dwarfdump --verify (#79648)
The amount and format of output from `llvm-dwarfdump --verify` makes it
quite difficult to know if a change to a tool that produces or modifies
DWARF is causing new problems, or is fixing existing problems. This diff
adds a categorized summary of issues found by the DWARF verifier, on by
default, at the bottom of the error output.
The change includes a new `--error-display` option with 4 settings:
* `--error-display=quiet`: Only display if errors occurred, but no
details or summary are printed.
* `--error-display=summary`: Only display the aggregated summary of
errors with no error detail.
* `--error-display=details`: Only display the detailed error messages
with no summary (previous behavior)
* `--error-display=full`: Display both the detailed error messages and
the aggregated summary of errors (the default)
I changed a handful of tests that were failing due to new output, adding
the flag to use the old behavior for all but a couple. For those two I
added the new aggregated output to the expected output of the test.
The `OutputCategoryAggregator` is a pretty simple little class that
@clayborg suggested to allow code to only be run to dump detail if it's
enabled, while still collating counts of the category. Knowing that the
lambda passed in is only conditionally executed is pretty important
(handling errors has to be done *outside* the lambda). I'm happy to move
this somewhere else (and change/improve it) to be more broadly useful if
folks would like.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 4739a97faedf766541245e6a5b48595d4a3deaae
https://github.com/llvm/llvm-project/commit/4739a97faedf766541245e6a5b48595d4a3deaae
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaExprCXX.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
Log Message:
-----------
[Clang][NFC] Remove TemplateArgumentList::OnStack (#79760)
This patch removes on-stack `TemplateArgumentList`'s. They were primary used
to pass an `ArrayRef<TemplateArgument>` to
`Sema::getTemplateInstantiationArgs`, which had a `const
TemplateArgumentList*` parameter for the innermost template argument
list. Changing this parameter to an
`std::optional<ArrayRef<TemplateArgument>>` eliminates the need for
on-stack `TemplateArgumentList`'s, which in turn eliminates the need for
`TemplateArgumentList` to store a pointer to its template argument
storage (which is redundant in almost all cases, as it is an AST
allocated type).
Commit: 548d132b9457aa5223ee87d2306a7bec30da93d2
https://github.com/llvm/llvm-project/commit/548d132b9457aa5223ee87d2306a7bec30da93d2
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc][NFC] Refactor FLAGS expansion using cmake_language(CALL ...). (#80156)
Commit: 46068f5e8d318c67d0b9088ed751e09473776a0d
https://github.com/llvm/llvm-project/commit/46068f5e8d318c67d0b9088ed751e09473776a0d
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
Log Message:
-----------
[NFC] Reorder test lines in arith-fp-frem.ll (#79991)
Run lines appear in a more natural order:
- no veclib (neon, sve)
- neon + veclib
- sve + veclib
- sve + tailfold + veclib
Commit: 7b9bf80ab51b9b09d9f07fb636f4b64581a3c3e0
https://github.com/llvm/llvm-project/commit/7b9bf80ab51b9b09d9f07fb636f4b64581a3c3e0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-unsupported-type.ll
Log Message:
-----------
[SLP][NFC]Add tests with strided loads, NFC.
Commit: 7e7f118404cdfbee9eaf7c05ab8ea54a25b52aa4
https://github.com/llvm/llvm-project/commit/7e7f118404cdfbee9eaf7c05ab8ea54a25b52aa4
Author: XDeme <tagawafernando at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handles Elaborated type specifier for enum in trailing return (#80085)
Fixes llvm/llvm-project#80062
Commit: e0e6236fd61f906f8529dcaa8ecd0beec1f5a18a
https://github.com/llvm/llvm-project/commit/e0e6236fd61f906f8529dcaa8ecd0beec1f5a18a
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py
A lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml
A lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml
A lldb/test/API/commands/target/debuginfo/a.out.yaml
Log Message:
-----------
Fix debug info size statistics for split dwarf (#80218)
`statistics dump` command relies on `SymbolFile::GetDebugInfoSize()` to
get total debug info size.
The current implementation is missing debug info for split dwarf
scenarios which requires getting debug info from separate dwo/dwp files.
This patch fixes this issue for split dwarf by parsing debug info from
dwp/dwo.
New yaml tests are added.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 28699e385681e7f0aeefc208b7b59d6f1d484800
https://github.com/llvm/llvm-project/commit/28699e385681e7f0aeefc208b7b59d6f1d484800
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M libc/include/errno.h.def
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/sys/mman/linux/madvise_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/mmap_test.cpp
M libc/test/src/sys/mman/linux/mprotect_test.cpp
M libc/test/src/sys/mman/linux/posix_madvise_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
Log Message:
-----------
[libc] Update libc_errno to work correctly in both overlay and full build modes. (#80177)
Commit: 1f3c30911cc5eee4b42bdc9c6358c689b2f2f223
https://github.com/llvm/llvm-project/commit/1f3c30911cc5eee4b42bdc9c6358c689b2f2f223
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
Log Message:
-----------
[AMDGPU] Mark PC_ADD_REL_OFFSET rematerializable (#79674)
Currently machine LICM hoist PC_ADD_REL_OFFSET out of loops, causes
register pressure when function calls are deep in loops. This is a main
cause of sgpr spill for programs containing large number of function
calls in loops.
This patch marks PC_ADD_REL_OFFSET as rematerializable, which eliminates
sgpr spills due to function calls in loops.
Commit: 48b9be3a7dfd2ce10a4a3392845197b0e1a7c416
https://github.com/llvm/llvm-project/commit/48b9be3a7dfd2ce10a4a3392845197b0e1a7c416
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.cpp
R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
M clang-tools-extra/clangd/TidyFastChecks.inc
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugSuppression.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.css
M clang/lib/Analysis/FlowSensitive/HTMLLogger.html
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExprCXX.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/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/complex.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/copypaste/suspicious-clones.cpp
M clang/test/CXX/temp/p3.cpp
A clang/test/ClangScanDeps/optimize-fmodulemap.m
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/Driver/hip-toolchain-mllvm.hip
A clang/test/Driver/modules-skip-odr-check-in-gmf.cpp
M clang/test/Driver/rocm-detect.hip
M clang/test/Interpreter/cxx20-modules.cppm
M clang/test/Modules/aarch64-sme-keywords.cppm
M clang/test/Modules/concept.cppm
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr76638.cppm
A clang/test/Modules/skip-odr-check-in-gmf.cppm
M clang/test/OpenMP/declare_simd_messages.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/c2x-auto.c
M clang/test/Sema/c2x-bool.c
M clang/test/Sema/check-increment.c
M clang/test/SemaCXX/datasizeof.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/runtime/numeric.cpp
M flang/test/Driver/prescanner-diag.f90
M flang/test/HLFIR/invalid.fir
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/derived-pointer-components.f90
A flang/test/Lower/derived-types-kind-params-2.f90
M flang/test/Preprocessing/include-comment.F90
A flang/test/Preprocessing/macro-in-include.F90
M flang/test/Semantics/local-vs-global.f90
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/docs/stdbit.rst
M libc/include/errno.h.def
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/unistd/linux/read.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/sys/mman/linux/madvise_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/mmap_test.cpp
M libc/test/src/sys/mman/linux/mprotect_test.cpp
M libc/test/src/sys/mman/linux/posix_madvise_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/memory
M libcxx/include/version
M libcxx/modules/std/memory.inc
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
R libcxx/test/std/utilities/memory/allocator.traits/allocate_at_least.pass.cpp
A libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_at_least.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
M lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py
A lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml
A lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml
A lldb/test/API/commands/target/debuginfo/a.out.yaml
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
M lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/TestUnalignedLargeWatchpoint.py
M lldb/test/Shell/Watchpoint/ExpressionLanguage.test
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
M llvm/docs/AArch64SME.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/DebugInfo/DIContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-unreachable-blocks.mir
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AArch64/select_fmf.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-call-remarks.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
A llvm/test/CodeGen/AArch64/sve2-rsh.ll
M llvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-unmerge-undef.mir
M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-crash.ll
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-ignorable-exec-use.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/opt-exec-masking-pre-ra-update-liveness.mir
M llvm/test/CodeGen/AMDGPU/optimize-compare.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-def-after-use.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
M llvm/test/CodeGen/AMDGPU/ra-inserted-scalar-instructions.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
M llvm/test/CodeGen/AMDGPU/sink-after-control-flow-postra.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
M llvm/test/CodeGen/AMDGPU/tail-dup-bundle.mir
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/wqm-terminators.mir
M llvm/test/CodeGen/ARM/cmpxchg.mir
M llvm/test/CodeGen/ARM/machine-outliner-noreturn.mir
M llvm/test/CodeGen/ARM/popcnt.ll
M llvm/test/CodeGen/MIR/X86/unreachable-block-print.mir
M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/phi.mir
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/jump_table_and_brjt.mir
A llvm/test/CodeGen/NVPTX/boolean-patterns.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
A llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-local-linkage.ll
A llvm/test/CodeGen/PowerPC/basic-toc-data-private-linkage.ll
M llvm/test/CodeGen/PowerPC/branch_coalescing.mir
M llvm/test/CodeGen/PowerPC/machine-cse-rm-pre.mir
M llvm/test/CodeGen/PowerPC/nofpexcept.ll
A llvm/test/CodeGen/PowerPC/toc-data-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv64.mir
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/float-select-verify.ll
M llvm/test/CodeGen/RISCV/inline-asm-s-constraint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/Thumb2/cmpxchg.mir
A llvm/test/CodeGen/WebAssembly/disable-feature.ll
M llvm/test/CodeGen/X86/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/X86/GlobalISel/select-phi.mir
M llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
M llvm/test/CodeGen/X86/coalescer-remat-with-undef-implicit-def-operand.mir
M llvm/test/CodeGen/X86/cse-two-preds.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
M llvm/test/DebugInfo/X86/skeleton-unit-verify.s
M llvm/test/DebugInfo/dwarfdump-accel.test
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
A llvm/test/TableGen/GlobalISelCombinerEmitter/Inputs/test-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/builtin-pattern-errors.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/test/TableGen/lit.local.cfg
M llvm/test/Transforms/IndVarSimplify/iv-poison.ll
A llvm/test/Transforms/IndVarSimplify/pr79861.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
A llvm/test/Transforms/LoopUnroll/runtime-i128.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-unsupported-type.ll
M llvm/test/Verifier/sme-attributes.ll
M llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_split_cu.s
A llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-basic-instructions.s
M llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test
A llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-cov5.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
M llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp
M llvm/unittests/tools/llvm-exegesis/ResultAggregatorTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
M llvm/utils/TableGen/CodeGenInstruction.cpp
M llvm/utils/TableGen/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.h
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/FuncToEmitC/CMakeLists.txt
A mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
A mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/EmitC/IR/CMakeLists.txt
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
A mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
A mlir/test/Target/Cpp/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M openmp/cmake/HandleOpenMPOptions.cmake
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
remove unused CHECK
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/7e9a74f18904...48b9be3a7dfd
More information about the All-commits
mailing list