[all-commits] [llvm/llvm-project] 56140a: [SLP]Fix PR104422: Wrong value truncation
Justin Bogner via All-commits
all-commits at lists.llvm.org
Wed Aug 21 18:10:02 PDT 2024
Branch: refs/heads/users/bogner/sprmain.directx-add-resource-handling-to-the-dxil-pretty-printer
Home: https://github.com/llvm/llvm-project
Commit: 56140a8258a3498cfcd9f0f05c182457d43cbfd2
https://github.com/llvm/llvm-project/commit/56140a8258a3498cfcd9f0f05c182457d43cbfd2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/operand-is-reduced-val.ll
Log Message:
-----------
[SLP]Fix PR104422: Wrong value truncation
The minbitwidth restrictions can be skipped only for immediate reduced
values, for other nodes still need to check if external users allow
bitwidth reduction.
Fixes https://github.com/llvm/llvm-project/issues/104422
Commit: 95daf1aedfe521704c601a26ad8011c6e237c38a
https://github.com/llvm/llvm-project/commit/95daf1aedfe521704c601a26ad8011c6e237c38a
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
Log Message:
-----------
Allow optimization of __size_returning_new variants. (#102258)
https://github.com/llvm/llvm-project/pull/101564 added support to TLI to
detect variants of operator new which provide feedback on the actual
size of memory allocated (http://wg21.link/P0901R5). This patch extends
SimplifyLibCalls to handle hot cold hinting of these variants.
Commit: fcefe957ddfdc5a2fe9463757b597635e3436e01
https://github.com/llvm/llvm-project/commit/fcefe957ddfdc5a2fe9463757b597635e3436e01
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/AMDGPU/scalarize-insert-subvector.ll
Log Message:
-----------
[LegalizeTypes][AMDGPU]: Allow for scalarization of insert_subvector (#104236)
Legalization for when the inserted subvector is to be scalarized.
https://godbolt.org/z/vx3joWqoh
Commit: c7df775440717ec5a3f47b6d485617d802cbd036
https://github.com/llvm/llvm-project/commit/c7df775440717ec5a3f47b6d485617d802cbd036
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Check explicit object parameter for defaulted operators properly (#100419)
Previously, the type of explicit object parameters was not considered
for relational operators. This was defined by CWG2586,
<https://cplusplus.github.io/CWG/issues/2586.html>. This fix also means
CWG2547 <https://cplusplus.github.io/CWG/issues/2547.html> is now fully
implemented. Fixes #100329, fixes #104413.
Now start rejecting invalid rvalue reference parameters, which weren't
checked for, and start accepting non-reference explicit object
parameters (like `bool operator==(this C, C) = default;`) which were
previously rejected for the object param not being a reference.
Also start rejecting non-reference explicit object parameters for
defaulted copy/move assign operators (`A& operator=(this A, const A&) =
default;` is invalid but was previously accepted). Fixes #104414.
Commit: 2d52eb6a434fe47e67086f5ec1c3789bf6e7a604
https://github.com/llvm/llvm-project/commit/2d52eb6a434fe47e67086f5ec1c3789bf6e7a604
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove unused using declarations, reduce mem usage in containers, NFC
Commit: db8ef6188cbbe2125e6d60bdef77a535105772df
https://github.com/llvm/llvm-project/commit/db8ef6188cbbe2125e6d60bdef77a535105772df
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[NFC] Fix code line exceeding 80 columns (#104428)
Commit: 11c2da8fb7dc4d5dede094fa61077827004a3997
https://github.com/llvm/llvm-project/commit/11c2da8fb7dc4d5dede094fa61077827004a3997
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Narrow indices to e16 for LMUL > 1 when lowering vector_reverse (#104427)
The vector_shuffle lowering already does this to reduce register
pressure, so also do it here.
Commit: 57abd4e4abb705a453134051743542de5fd396bc
https://github.com/llvm/llvm-project/commit/57abd4e4abb705a453134051743542de5fd396bc
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
A clang/test/ExtractAPI/platform-serialization.c
Log Message:
-----------
[clang][ExtractAPI] Emit environment component of target triple in SGF (#103273)
rdar://133533830
Commit: 598970904736f3535939f6a5525022219e4ae517
https://github.com/llvm/llvm-project/commit/598970904736f3535939f6a5525022219e4ae517
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
M openmp/runtime/src/kmp_wait_release.h
M openmp/runtime/src/ompt-general.cpp
Log Message:
-----------
[OpenMP] Miscellaneous small code improvements (#95603)
Removes a few uninitialized variables, possible resource leaks, and
redundant code.
Commit: e63b7ba0eb497d10d643aa5e27461c6c1bf8e221
https://github.com/llvm/llvm-project/commit/e63b7ba0eb497d10d643aa5e27461c6c1bf8e221
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/shl-factor.ll
Log Message:
-----------
[InstCombine][NFC] Add tests for shifts of constants by common factor (#103471)
Commit: 51328b78dc2b0be20e8d67f57f64445cec25162c
https://github.com/llvm/llvm-project/commit/51328b78dc2b0be20e8d67f57f64445cec25162c
Author: sp <james at rooted.gg>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
Log Message:
-----------
[NFC] Fix spelling of "definitely". (#104455)
This corrects the misspelling of "definitely" as "definately". No
functional changes.
Commit: 64c856055aed97603510410fd2feab273e1d5b8a
https://github.com/llvm/llvm-project/commit/64c856055aed97603510410fd2feab273e1d5b8a
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
Log Message:
-----------
Revert "[Object][x86-64] Add support for `R_X86_64_GLOB_DAT` relocations. (#103029)" (#103497)
This reverts commit 5ae9faa538d100ab38f6f4f99c924de0e4270272.
RelocationResolver is only supposed to handle static relocation types.
Introducing GLOB_DAT could negatively impact other RelocationResolver
users who solely handle static relocations and want to report errors for
dynamic relocations.
If GLOB_DAT is the sole required relocation, explicitly checking for it
in the caller would be more reliable. Additionally, the caller should
handle GLOB_DAT on other architectures.
Commit: 46fb225f3ac602970ebb8973a5376cd9216ba38f
https://github.com/llvm/llvm-project/commit/46fb225f3ac602970ebb8973a5376cd9216ba38f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/fptoi-range.ll
Log Message:
-----------
[InstSimplify] Add tests for f16 to i128 range (NFC)
Commit: afa0f53f96b5563a80fbdf8c41c8153bf8cd2685
https://github.com/llvm/llvm-project/commit/afa0f53f96b5563a80fbdf8c41c8153bf8cd2685
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
M llvm/test/Transforms/InstSimplify/fptoi-range.ll
Log Message:
-----------
[ValueTracking] Fix f16 fptosi range for large integers
We were missing the signed flag on the negative value, so the
range was incorrectly interpreted for integers larger than 64-bit.
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: b6bb208662b980b3c29194f63f22e3af8f772a57
https://github.com/llvm/llvm-project/commit/b6bb208662b980b3c29194f63f22e3af8f772a57
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Revert "[SLP][NFC]Remove unused using declarations, reduce mem usage in containers, NFC"
This reverts commit 2d52eb6a434fe47e67086f5ec1c3789bf6e7a604 to fix
compile time regression found in https://llvm-compile-time-tracker.com/compare.php?from=fcefe957ddfdc5a2fe9463757b597635e3436e01&to=2d52eb6a434fe47e67086f5ec1c3789bf6e7a604&stat=instructions%3Au.
Commit: 9e0ee0e104a2f10b04144837d6a138b04a0193f6
https://github.com/llvm/llvm-project/commit/9e0ee0e104a2f10b04144837d6a138b04a0193f6
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M openmp/runtime/src/include/omp.h.var
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_runtime.cpp
A openmp/runtime/test/ompt/misc/pause_stop_tool.c
Log Message:
-----------
[OpenMP] Add support for pause with omp_pause_stop_tool (#97100)
This patch adds support for pause resource with a new enumerator
omp_pause_stop_tool. The expected behavior of this enumerator is
* omp_pause_resource: not allowed
* omp_pause_resource_all: equivalent to omp_pause_hard
Commit: 6c270a8b9f1e1b80a6016aafb438db7dd89bcb99
https://github.com/llvm/llvm-project/commit/6c270a8b9f1e1b80a6016aafb438db7dd89bcb99
Author: Koakuma <koachan at protonmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
M clang/test/Driver/sparc-target-features.c
Log Message:
-----------
[SPARC][Driver] Add -m(no-)v8plus flags handling (#98713)
Implement handling for `-m(no-)v8plus` flags to allow the user to switch
between V8 and V8+ mode with 32-bit code.
Currently it only toggles the V8+ feature bit, ABI and codegen changes
will be done in future patches.
Commit: e61776a0edce86ef01efaa708f43476c58173cae
https://github.com/llvm/llvm-project/commit/e61776a0edce86ef01efaa708f43476c58173cae
Author: Koakuma <koachan at protonmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/ObjectYAML/ELFYAML.cpp
A llvm/test/tools/llvm-readobj/ELF/Sparc/elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[SPARC][Utilities] Add names for SPARC ELF flags in LLVM binary utilities (#102843)
This allows us to use and print readable names in LLVM binary utilities.
Commit: 54154f9f06e08b7ab3c7294352601ca4c6e5e160
https://github.com/llvm/llvm-project/commit/54154f9f06e08b7ab3c7294352601ca4c6e5e160
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M lldb/source/Target/ThreadPlanSingleThreadTimeout.cpp
Log Message:
-----------
Fix single thread stepping timeout race condition (#104195)
This PR fixes a potential race condition in
https://github.com/llvm/llvm-project/pull/90930.
This race can happen because the original code set `m_info->m_isAlive =
true` **after** the timer thread is created. So if there is a context
switch happens and timer thread checks `m_info->m_isAlive` before main
thread got a chance to run `m_info->m_isAlive = true`, the timer thread
may treat `ThreadPlanSingleThreadTimeout` as not alive and simply exit
resulting in async interrupt never being sent to resume all threads
(deadlock).
The PR fixes the race by initializing all states **before** worker timer
thread creates.
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: dd3f1313ae27a76cfce68e926fd90ac7408b3a21
https://github.com/llvm/llvm-project/commit/dd3f1313ae27a76cfce68e926fd90ac7408b3a21
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/utils/lit/tests/BUILD.bazel
Log Message:
-----------
[bazel] Enable more lit self tests (#104285)
I assume the intent of the initial `*/*.py` was to also collect things
in `*.py`, but that's not what bazel does unless you use `**/*.py` which
is what we're doing now. A few of these tests fail so I explicitly
disabled them until someone has time to debug.
Commit: d68d2172f9f1f0659b8b4bdbbeb1ccd290a614b5
https://github.com/llvm/llvm-project/commit/d68d2172f9f1f0659b8b4bdbbeb1ccd290a614b5
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
A llvm/test/Transforms/InstCombine/lshr-ashr-of-uscmp.ll
Log Message:
-----------
[InstCombine] Fold `ucmp/scmp(x, y) >> N` to `zext/sext(x < y)` when N is one less than the width of the result of `ucmp/scmp` (#104009)
Proof: https://alive2.llvm.org/ce/z/4diUqN
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 062e69a647c7ea0bc3441223648f9989490abb7a
https://github.com/llvm/llvm-project/commit/062e69a647c7ea0bc3441223648f9989490abb7a
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/complex.f90
A flang/test/Semantics/OpenMP/present.f90
Log Message:
-----------
[flang][OpenMP] Fix 2 more regressions after #101009 (#101538)
PR #101009 exposed a semantic check issue with OPTIONAL dummy
arguments.
Another issue occurred when using %{re,im,len,kind}, as these also
need to be skipped when handling variables with implicitly defined
DSAs.
These issues were found by Fujitsu testsuite.
Commit: e398da2b37fcc2696e1f5c661e5372844f4e1550
https://github.com/llvm/llvm-project/commit/e398da2b37fcc2696e1f5c661e5372844f4e1550
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
R clang/test/CodeGen/overflow-idiom-exclusion-fp.c
Log Message:
-----------
Revert "[Clang] Overflow Pattern Exclusions (#100272)"
This reverts commit 9a666deecb9ff6ca3a6b12e6c2877e19b74b54da.
Reason: broke buildbots
e.g., fork-ubsan.test started failing at
https://lab.llvm.org/buildbot/#/builders/66/builds/2819/steps/9/logs/stdio
Clang :: CodeGen/compound-assign-overflow.c
Clang :: CodeGen/sanitize-atomic-int-overflow.c
started failing with https://lab.llvm.org/buildbot/#/builders/52/builds/1570
Commit: 7332713b8eea9bb84d8481376f62b8de7c0ddb3a
https://github.com/llvm/llvm-project/commit/7332713b8eea9bb84d8481376f62b8de7c0ddb3a
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] prevent null explicit object argument from being deduced (#104328)
Fixes #102025
Commit: 29b0a251c14b248848f2bbad1618b66a0c173336
https://github.com/llvm/llvm-project/commit/29b0a251c14b248848f2bbad1618b66a0c173336
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
A llvm/test/tools/llvm-objdump/XCOFF/private-headers.test
M llvm/tools/llvm-objdump/XCOFFDump.cpp
Log Message:
-----------
[llvm-objdump] Print out xcoff file header for xcoff object file with option private-headers (#96350)
Print out the XCOFF file header and load section header for the XCOFF
object file using llvm-objdump with the --private-headers option.
Commit: 75ea8e803a6560b5e16644bb25d6340926156503
https://github.com/llvm/llvm-project/commit/75ea8e803a6560b5e16644bb25d6340926156503
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/test/AST/Interp/lifetimes.cpp
Log Message:
-----------
[clang][Interp] Call move function for certain primitive types (#104437)
Commit: 7493ea22f8027dc163ca521a71150d264891853c
https://github.com/llvm/llvm-project/commit/7493ea22f8027dc163ca521a71150d264891853c
Author: earnol <earnol at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/test/CodeGen/bit-int-ubsan.c
Log Message:
-----------
[test]Fix test error due to CRT dependency (#104462)
Remove CRT dependency in headers stdint.h, stdio.h inside test
clang/test/CodeGen/bit-int-ubsan.c
---------
Co-authored-by: Eänolituri Lómitaurë <vladislav.aranov at ericsson.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Co-authored-by: Paul Kirth <paulkirth at google.com>
Commit: 52337d5f9d108f04b2ed06069b21a255c232dc1f
https://github.com/llvm/llvm-project/commit/52337d5f9d108f04b2ed06069b21a255c232dc1f
Author: Tim Northover <t.p.northover at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
A llvm/test/tools/llvm-objdump/macho-stabs-in-syms.yaml
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
llvm-objdump: ensure a MachO symbol isn't STAB before looking up secion (#86667)
The section field has been repurposed for some STAB symbol types, and if
we blindly look it up we'll produce an error and terminate. Logic
already existed
Existing stabs test had a section that was in range. Unfortunately I
don't know of an easy way to produce stabs entries in LLVM (I thought
they died in the 90s until this came up) so I just binary-edited it to
cause a failure on existing llvm-objdump.
Commit: 47721d46187f89c12a13d07b5857496301cf5d6e
https://github.com/llvm/llvm-project/commit/47721d46187f89c12a13d07b5857496301cf5d6e
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompileUnit.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/FileSpecList.h
A lldb/include/lldb/Utility/RealpathPrefixes.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/FileSpecList.cpp
A lldb/source/Utility/RealpathPrefixes.cpp
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/TestBreakpoint.py
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/main.c
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/real/bar.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/real/foo.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/real/qux.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/symlink1/foo.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/symlink2
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/to-be-mapped/README.md
M lldb/unittests/Core/CMakeLists.txt
R lldb/unittests/Core/FileSpecListTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/FileSpecListTest.cpp
A lldb/unittests/Utility/MockSymlinkFileSystem.h
A lldb/unittests/Utility/RealpathPrefixesTest.cpp
Log Message:
-----------
[lldb] Realpath symlinks for breakpoints (#102223)
Improve the chance of resolving file/line breakpoints by realpath'ing the support files before doing a second match attempt, with some conditions applied.
A working [hello-world example](https://github.com/royitaqi/lldb_demos/blob/main/realpath/README.md).
See [patch](https://github.com/llvm/llvm-project/pull/102223) for more info about problem/motivation, details of the feature, new settings, telemetries and tests.
Commit: 7ab2d504a1b30ce7a1338d23b0f443c8b24f94c4
https://github.com/llvm/llvm-project/commit/7ab2d504a1b30ce7a1338d23b0f443c8b24f94c4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port 47721d46187f
Commit: 6cbd96e24c6a60cbc3dbb849d2ed7afc39c77a80
https://github.com/llvm/llvm-project/commit/6cbd96e24c6a60cbc3dbb849d2ed7afc39c77a80
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/Parser/attr-order.cpp
Log Message:
-----------
[Clang] handle both gnu and cpp11 attributes to ensure correct parsing inside extern block (#102864)
Fixes #101990
Commit: 85da39debd8ee8c3186d88b462a924ea57b812ec
https://github.com/llvm/llvm-project/commit/85da39debd8ee8c3186d88b462a924ea57b812ec
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/uninitialized_algorithms.h
Log Message:
-----------
[libc++] Remove the allocator<const T> extension (#102655)
In LLVM 19 removed the extension with an opt-in macro. This finally
removes that option too and removes a few `const_cast`s where I know
that they exist only to support this extension.
Commit: 8ffdc8765661b2f6e6fed32de9fd95c76ff7dc9f
https://github.com/llvm/llvm-project/commit/8ffdc8765661b2f6e6fed32de9fd95c76ff7dc9f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port 47721d46187f89c12a13d07b5857496301cf5d6e (#104481)
Made more difficult by many header circular dependencies
Commit: 6bbbd301473a14a52d7ea1c5dae38ee20f97f1f2
https://github.com/llvm/llvm-project/commit/6bbbd301473a14a52d7ea1c5dae38ee20f97f1f2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/tools/llvm-objdump/XCOFFDump.cpp
Log Message:
-----------
[llvm-objdump] Fix a warning
This patch fixes:
llvm/tools/llvm-objdump/XCOFFDump.cpp:85:12: error: unused variable
'BytesFormatted' [-Werror,-Wunused-variable]
Commit: b5e63cc533b5e752eb475ac657f09b9bb5eb2373
https://github.com/llvm/llvm-project/commit/b5e63cc533b5e752eb475ac657f09b9bb5eb2373
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
Log Message:
-----------
clang/AMDGPU: Emit atomicrmw for __builtin_amdgcn_global_atomic_fadd_{f32|f64} (#96872)
Need to emit syncscope and new metadata to get the native instruction,
most of the time.
Commit: 2b0a8fcf702fb63fca8ec6e11dca35baf70f058d
https://github.com/llvm/llvm-project/commit/2b0a8fcf702fb63fca8ec6e11dca35baf70f058d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/AST/ast-dump-funcs-json.cpp
A clang/test/AST/cxx2c-variadic-friends.cpp
A clang/test/CXX/drs/cwg29xx.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/Parser/cxx2c-variadic-friends-ext-diags.cpp
A clang/test/Parser/cxx2c-variadic-friends.cpp
A clang/test/SemaCXX/cxx2c-variadic-friends.cpp
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement C++26’s P2893R3 ‘Variadic friends’ (#101448)
Implement P2893R3 ‘Variadic friends’ for C++26.
This closes #98587.
Co-authored-by: Younan Zhang <zyn7109 at gmail.com>
Commit: 932538199818554cee7347c17de3f4e004b75257
https://github.com/llvm/llvm-project/commit/932538199818554cee7347c17de3f4e004b75257
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
M llvm/test/DebugInfo/Symbolize/XCOFF/xcoff-symbolize-data.ll
Log Message:
-----------
[PowerPC][GlobalMerge] Enable GlobalMerge by default on AIX (#101226)
This patch turns on the GlobalMerge pass by default on AIX and updates
LIT tests accordingly.
Commit: 3dea42f3e5edc5a571081b7c5d58cce2fc4b2671
https://github.com/llvm/llvm-project/commit/3dea42f3e5edc5a571081b7c5d58cce2fc4b2671
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Don't call SelectionDAG::getTargetLoweringInfo() from TargetLowering methods. NFC (#104197)
If we are inside a TargetLowering method,
`SelectionDAG::getTargetLoweringInfo()` should be the same as `this`.
Commit: 9aa3b53ac52167aba6253a52805874948ce40c8f
https://github.com/llvm/llvm-project/commit/9aa3b53ac52167aba6253a52805874948ce40c8f
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix a small bug recently found (#102953)
`QualType::isConstantArrayType()` checks canonical type. So a following
cast should be applied to canonical type as well:
```
if (Ty->isConstantArrayType())
cast<ConstantArrayType>(Ty.getCanonicalType()); // cast<ConstantArrayType>(Ty) is incorrect
```
Commit: 1d5c2ad4f15f250a0b71495543c5626581a58a7a
https://github.com/llvm/llvm-project/commit/1d5c2ad4f15f250a0b71495543c5626581a58a7a
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
Log Message:
-----------
Reapply "Fix prctl to handle PR_GET_PDEATHSIG. (#101749)" (#104469)
Reapply with a fix. The fix is changing the arg2 type from u64 to int.
This reverts commit 046524e8fe425cbc86c3371f2bf29fbb39d98435.
Commit: 16f4e85860efcccbadca5d0a00a3872244efae08
https://github.com/llvm/llvm-project/commit/16f4e85860efcccbadca5d0a00a3872244efae08
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/msan/msan_allocator.cpp
Log Message:
-----------
Revert "[sanitizer] Remove GetCurrentThread nullness checks from Allocate"
This reverts commit 4411d1e3926d67c393e6a7bdb910bbe77507ff26 for
breaking Darwin bots:
AddressSanitizer-Unit :: ./Asan-x86_64-calls-Noinst-Test/10/16
AddressSanitizer-Unit :: ./Asan-x86_64-calls-Noinst-Test/12/16
AddressSanitizer-Unit :: ./Asan-x86_64-calls-Noinst-Test/13/16
AddressSanitizer-Unit :: ./Asan-x86_64-inline-Noinst-Test/10/16
AddressSanitizer-Unit :: ./Asan-x86_64-inline-Noinst-Test/12/16
AddressSanitizer-Unit :: ./Asan-x86_64-inline-Noinst-Test/13/16
AddressSanitizer-Unit :: ./Asan-x86_64h-calls-Noinst-Test/10/16
AddressSanitizer-Unit :: ./Asan-x86_64h-calls-Noinst-Test/12/16
AddressSanitizer-Unit :: ./Asan-x86_64h-calls-Noinst-Test/13/16
AddressSanitizer-Unit :: ./Asan-x86_64h-inline-Noinst-Test/10/16
AddressSanitizer-Unit :: ./Asan-x86_64h-inline-Noinst-Test/12/16
AddressSanitizer-Unit :: ./Asan-x86_64h-inline-Noinst-Test/13/16
Commit: 55aa4ea1c7ff99aea69e07c9db6471f9ac31167a
https://github.com/llvm/llvm-project/commit/55aa4ea1c7ff99aea69e07c9db6471f9ac31167a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/newhdrgen/yaml/math.yaml
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/atan2l.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2l.cpp
Log Message:
-----------
[libc] Add definition for `atan2l` on 64-bit long double platforms (#104489)
Summary:
This just adds `atan2l` for platforms that can implement it as an alias
to `atan2`.
Commit: f377edb96abe9fd6fa458415f07b0f411e59cf24
https://github.com/llvm/llvm-project/commit/f377edb96abe9fd6fa458415f07b0f411e59cf24
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M lldb/source/Utility/RealpathPrefixes.cpp
Log Message:
-----------
(lldb) Fix PATH_MAX for Windows (#104493)
The build break was caused by a [previous
patch](https://github.com/llvm/llvm-project/pull/102223) using
`PATH_MAX` which is undefined in Windows.
Commit: 062ae0427a99b0399483572a04eb055784e7fb0f
https://github.com/llvm/llvm-project/commit/062ae0427a99b0399483572a04eb055784e7fb0f
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/test/SemaCXX/constexpr-vectors.cpp
Log Message:
-----------
[Clang] [NFC] Rewrite constexpr vectors test to use element access (#102757)
Previously, this was using FileCheck to test against the emitted IR;
switch to using `static_assert`ions instead now that we can access
vector elements at compile-time.
Fixes #102463
Commit: 50c876a486ebc1a8fbf6f20214b1cf914729c443
https://github.com/llvm/llvm-project/commit/50c876a486ebc1a8fbf6f20214b1cf914729c443
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[nfc][ctx_prof] Remove the need for `PassBuilder` to know about `UseCtxProfile` (#104492)
Commit: 2adc012c34b269f80a735c1ec2011f3a98175cbc
https://github.com/llvm/llvm-project/commit/2adc012c34b269f80a735c1ec2011f3a98175cbc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store.mir
Log Message:
-----------
[RISCV][GISel] Support nxv16p0 for RV32. (#101573)
Pointers are 32 bits on RV32 so nxv1p0 is lmul=mf2 and nxv16p0 is
lmul=m8.
Split the test so we can have different alignments and register class
sizes for rv32 and rv64 for the pointer tests.
Commit: 6ec169d3501124770c3301dab8156c4640346c40
https://github.com/llvm/llvm-project/commit/6ec169d3501124770c3301dab8156c4640346c40
Author: vporpo <vporpodas at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement BinaryOperator (#104121)
This patch implements sandboxir::BinaryOperator mirroring
llvm::BinaryOperator.
Commit: c19326cb84e871e1dd77408c2911c7d1651ba34b
https://github.com/llvm/llvm-project/commit/c19326cb84e871e1dd77408c2911c7d1651ba34b
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfoDarwin.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
Log Message:
-----------
[MC] Replace HasAggressiveSymbolFolding with SetDirectiveSuppressesReloc. NFC
The variable and its comment could lead to confusion (AMDGPU
unnecessarily set it).
Commit: 99a10f1fe8a7e4b0fdb4c6dd5e7f24f87e0d3695
https://github.com/llvm/llvm-project/commit/99a10f1fe8a7e4b0fdb4c6dd5e7f24f87e0d3695
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsBPF.td
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/include/llvm/IR/IntrinsicsMips.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/include/llvm/IR/IntrinsicsVE.td
M llvm/include/llvm/IR/IntrinsicsVEVL.gen.td
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/test/CodeGen/BPF/sockex2.ll
A llvm/test/Transforms/DCE/intrinsics-bpf.ll
A llvm/test/Transforms/DCE/intrinsics-loongarch.ll
A llvm/test/Transforms/DCE/intrinsics-mips.ll
A llvm/test/Transforms/DCE/intrinsics-nvvm.ll
A llvm/test/Transforms/DCE/intrinsics-systemz.ll
A llvm/test/Transforms/DCE/intrinsics-ve.ll
A llvm/test/Transforms/DCE/intrinsics-wasm.ll
R llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll
Log Message:
-----------
Update load intrinsic attributes (#101562)
This patch adds default attributes to many intrinsics and the WillReturn
attribute to some as well. The defaults include WillReturn. The WillReturn
attribute is relevant for dead code elimination as intrinsics without
WillReturn are assumed to have side effects and cannot be removed even
if their return value is unused. It is also relevant for potential
changes to SDAG behavior regarding treatment of intrinsics that function
as loads.
Commit: 290e4858fd3d1278ca8306da351f7ab89240306e
https://github.com/llvm/llvm-project/commit/290e4858fd3d1278ca8306da351f7ab89240306e
Author: earnol <earnol at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/Integer/bit-int-pass.c
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
Log Message:
-----------
[ubsan] Limit _BitInt ubsan tests to x86-64 platform only (#104494)
The patch https://github.com/llvm/llvm-project/pull/104462 broke Sun
Solaris build.
Limit the tests to the tested platform only.
Tests changed are
compiler-rt/test/ubsan/TestCases/Integer/bit-int-pass.c and
compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
---------
Co-authored-by: Eänolituri Lómitaurë <vladislav.aranov at ericsson.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Co-authored-by: Paul Kirth <paulkirth at google.com>
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: fcc318ff7960d7de8cbac56eb4f32b44b5261677
https://github.com/llvm/llvm-project/commit/fcc318ff7960d7de8cbac56eb4f32b44b5261677
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Analysis/DXILResource.cpp
R llvm/test/Analysis/DXILResource/buffer-frombinding.ll
Log Message:
-----------
Revert "[DXIL][Analysis] Implement enough of DXILResourceAnalysis for buffers" (#104504)
Reverts llvm/llvm-project#100699
This broke a few bots unfortunately.
Commit: 89d0a5c9e8852444399645d474543730ca544ede
https://github.com/llvm/llvm-project/commit/89d0a5c9e8852444399645d474543730ca544ede
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
Log Message:
-----------
[asan] De-prioritize VReport `DTLS_Find` (#104401)
Commit: 274370d60332e76c374fd7bf87ade16319c2782c
https://github.com/llvm/llvm-project/commit/274370d60332e76c374fd7bf87ade16319c2782c
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmInfoDarwin.cpp
Log Message:
-----------
MCAsmInfo: Replace some Mach-O specific check with isMachO(). NFC
`HasMachO*` might lure contributors to add other object file format
propery when it is not really necessary.
Commit: 4e078e3797098daa40d254447c499bcf61415308
https://github.com/llvm/llvm-project/commit/4e078e3797098daa40d254447c499bcf61415308
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmInfoDarwin.cpp
Log Message:
-----------
[MC] Replace hasAltEntry() with isMachO()
All Mach-O targets have this property, so just remove this variable,
which could lure contributors to add unneeded object file format
specific properties.
Commit: c1a750b8bf7c7bfcd4e72537fcf76e5f23d0f06a
https://github.com/llvm/llvm-project/commit/c1a750b8bf7c7bfcd4e72537fcf76e5f23d0f06a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M flang/lib/Parser/provenance.cpp
Log Message:
-----------
[flang] Make sure range is valid (#104281)
Attempt to solve #102495
Commit: 99313575b6bb7d5acbe437c2022b6e5dc7f297f1
https://github.com/llvm/llvm-project/commit/99313575b6bb7d5acbe437c2022b6e5dc7f297f1
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix warning after #102953
Commit: 9f1dc01e0ab4f91c4052a712ce590d2e86b81dc3
https://github.com/llvm/llvm-project/commit/9f1dc01e0ab4f91c4052a712ce590d2e86b81dc3
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
Log Message:
-----------
[clang][NFC] Fix table of contents in `Sema.h`
Add APINotes and bounds safety to the table of contents, and move their declarations appropriately.
Commit: c458e9e034b2c49a4b35eb732f08a30b338a9ae2
https://github.com/llvm/llvm-project/commit/c458e9e034b2c49a4b35eb732f08a30b338a9ae2
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/test/SemaCXX/constexpr-vectors.cpp
Log Message:
-----------
[Clang] Add target triple to fix failing test (#104513)
#102757 erroneously removed the target triple required for the test to
pass.
Commit: c5b611a419ca8acab041ca52a94c6338bdcd1756
https://github.com/llvm/llvm-project/commit/c5b611a419ca8acab041ca52a94c6338bdcd1756
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_location.py
A clang/bindings/python/tests/cindex/test_source_range.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/CXSourceLocation.h
M clang/lib/Basic/SourceManager.cpp
M clang/tools/libclang/CXSourceLocation.cpp
M clang/tools/libclang/libclang.map
Log Message:
-----------
[libclang/python] Expose `clang_isBeforeInTranslationUnit` for `SourceRange.__contains__`
Add libclang function `clang_isBeforeInTranslationUnit` to allow checking the order between two source locations.
Simplify the `SourceRange.__contains__` implementation using this new function.
Add tests for `SourceRange.__contains__` and the newly added functionality.
Fixes #22617
Fixes #52827
Commit: 7156bcf2867f4ca98c8c9166e1ecb77daab08aa5
https://github.com/llvm/llvm-project/commit/7156bcf2867f4ca98c8c9166e1ecb77daab08aa5
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/reduced/aapointer_info_map_invalidation.ll
Log Message:
-----------
[Attributor][FIX] Ensure we do not use stale references (#104495)
When copying map entries, we might run into resizing and invalidate the
RHS of the assignment. We dealt with this before and now use the proper
helper to avoid the problem in another place.
Fixes: https://github.com/llvm/llvm-project/issues/104397
Commit: 3333ec1183803fa5a2353e710b8b22db6a72e292
https://github.com/llvm/llvm-project/commit/3333ec1183803fa5a2353e710b8b22db6a72e292
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/Driver/msse2avx.c
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
[Driver] Make CodeGenOptions name match MCTargetOptions names
* Initialize `X86RelaxRelocations`.
* Fix #96860 test to actually test -Wa,-msse2avx for non-x86.
Commit: 157c3fb8c794eaade5fb2a9b08a27c912603b085
https://github.com/llvm/llvm-project/commit/157c3fb8c794eaade5fb2a9b08a27c912603b085
Author: Petr Hosek <phosek at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
Log Message:
-----------
[libc] Make sure we have RISC-V f or d extension before using it (#104476)
This matches what we do for other architectures.
Commit: 3c0a4f2645288e600e31c6753e9d237b3edb4542
https://github.com/llvm/llvm-project/commit/3c0a4f2645288e600e31c6753e9d237b3edb4542
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.cpp
Log Message:
-----------
[asan] Reduce priority of "contiguous_container:" VPrintf (#104402)
They are quite noisy in used in test application.
Commit: 1f0834ad7192d8a73bbf15bb4ad8aa71f9a92ec6
https://github.com/llvm/llvm-project/commit/1f0834ad7192d8a73bbf15bb4ad8aa71f9a92ec6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
Log Message:
-----------
[NFC][sanitizer] Use `UNLIKELY` in VReport/VPrintf (#104403)
Commit: 6dcfc84e903ca6b0fb652962bdbd054a05befc2b
https://github.com/llvm/llvm-project/commit/6dcfc84e903ca6b0fb652962bdbd054a05befc2b
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[docs] Stress out the branch naming scheme for Graphite. (#104499)
This should make this nuance more discoverable, if the user's first instinct is to search for "Graphite" rather than "stacked reviews"
Commit: d156a5a1cb3b3405a6c1e941d112f262c29e15cf
https://github.com/llvm/llvm-project/commit/d156a5a1cb3b3405a6c1e941d112f262c29e15cf
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/ohos.c
M clang/test/Driver/relax.c
Log Message:
-----------
[Driver] Reject -Wa,-mrelax-relocations= for non-x86
Similar to other target-specific -Wa, options.
Commit: 572943e79080962cd70d30fe58a17a8bd0579fd7
https://github.com/llvm/llvm-project/commit/572943e79080962cd70d30fe58a17a8bd0579fd7
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/API/SBThread.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
A lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml
A lldb/test/API/python_api/sbsavecoreoptions/basic_minidump_different_pid.yaml
Log Message:
-----------
[LLDB] Reapply #100443 SBSaveCore Thread list (#104497)
Reapply #100443 and #101770. These were originally reverted due to a
test failure and an MSAN failure. I changed the test attribute to
restrict to x86 (following the other existing tests). I could not
reproduce the test or the MSAN failure and no repo steps were provided.
Commit: 039a86d057b144c963f7a30f9b4b8d3da200576d
https://github.com/llvm/llvm-project/commit/039a86d057b144c963f7a30f9b4b8d3da200576d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use significant bits helpers in narrowing of build vectors [nfc] (#104511)
Commit: 3e1d4ec671c59204e3e556cc58fd948894af1e1b
https://github.com/llvm/llvm-project/commit/3e1d4ec671c59204e3e556cc58fd948894af1e1b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
A llvm/include/llvm/ExecutionEngine/Orc/LoadRelocatableObject.h
A llvm/include/llvm/ExecutionEngine/Orc/MachO.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
A llvm/lib/ExecutionEngine/Orc/LoadRelocatableObject.cpp
A llvm/lib/ExecutionEngine/Orc/MachO.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/MachO_universal_binaries.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC] loadRelocatableObject: universal binary support, clearer errors (#104406)
ORC supports loading relocatable object files into a JIT'd process. The
raw "add object file" API (ObjectLayer::add) accepts plain relocatable
object files as llvm::MemoryBuffers only and does not check that the
object file's format or architecture are compatible with the process
that it will be linked in to. This API is flexible, but places the
burden of error checking and universal binary support on clients.
This commit introduces a new utility, loadRelocatableObject, that takes
a path to load and a target triple and then:
1. If the path does not exist, returns a FileError containing the
invalid path.
2. If the path points to a MachO universal binary, identifies and
returns MemoryBuffer covering the slice that matches the given triple
(checking that the slice really does contains a valid MachO relocatable
object with a compatible arch).
3. If the path points to a regular relocatable object file, verifies
that the format and architecture are compatible with the triple.
Clients can use loadRelocatableObject in the common case of loading
object files from disk to simplify their code.
Note: Error checking for ELF and COFF is left as a FIXME.
rdar://133653290
Commit: ec29660c44e5e73d3b78f4884f9178036563fb25
https://github.com/llvm/llvm-project/commit/ec29660c44e5e73d3b78f4884f9178036563fb25
Author: vporpo <vporpodas at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement UnaryOperator (#104509)
This patch implements sandboxir::UnaryOperator mirroring
llvm::UnaryOperator.
Commit: 9d63a09b452b641e3cc5d88066464b8250bd2bf7
https://github.com/llvm/llvm-project/commit/9d63a09b452b641e3cc5d88066464b8250bd2bf7
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/arm-target-as-mimplicit-it.s
M clang/test/Driver/relax.c
Log Message:
-----------
[Driver] Improve error message for -Wa,-x=unknown
Commit: 84efc8ed463cd0ae90ecd02418442cb62b9a3ad2
https://github.com/llvm/llvm-project/commit/84efc8ed463cd0ae90ecd02418442cb62b9a3ad2
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
A .github/workflows/commit-access-review.py
A .github/workflows/commit-access-review.yml
Log Message:
-----------
[workflows] Add a new workflow for checking commit access qualifications (#93301)
This workflow produces a list of users that should be moved to the LLVM
Triagers team. An admin will review the list and then manually move
people to the LLVM Triagers Team.
I've also added some documentation to the Developer Policy about the
Triage Role.
See
https://discourse.llvm.org/t/rfc2-new-criteria-for-commit-access/77110
for more details.
Commit: 68f6e7467651f38e0b97343bfbc49e0ce69eaedf
https://github.com/llvm/llvm-project/commit/68f6e7467651f38e0b97343bfbc49e0ce69eaedf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_globals.cpp
M compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
M compiler-rt/test/asan/TestCases/initialization-nobug.cpp
Log Message:
-----------
[asan] Remove debug tracing from `report_globals` (#104404)
Printing globals registration is internal debug
tracing and should be controlled with verbosity.
Commit: 4695c16a62261ce85ba28098f402ebcfb72798e9
https://github.com/llvm/llvm-project/commit/4695c16a62261ce85ba28098f402ebcfb72798e9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 3e1d4ec671c5
Commit: 26670e7fa4f032a019d23d56c6a02926e854e8af
https://github.com/llvm/llvm-project/commit/26670e7fa4f032a019d23d56c6a02926e854e8af
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M lldb/include/lldb/lldb-private-types.h
M lldb/source/Utility/RealpathPrefixes.cpp
M lldb/unittests/Utility/FileSpecListTest.cpp
M lldb/unittests/Utility/RealpathPrefixesTest.cpp
Log Message:
-----------
[lldb] Correctly fix a usage of `PATH_MAX`, and fix unit tests (#104502)
# Part 1: Correctly fix a usage of `PATH_MAX`
TL;DR: Adding a typedef `lldb_private::PathSmallString` which contains a
hardcoded initial size (128).
# Part 2: Fix unit tests
After https://github.com/llvm/llvm-project/pull/104493 fixed the build
break for Windows, unit test failure showed up for Windows. The
root-cause is that the `FileSpec`'s in the unit tests are not
style-specific. The fix is to apply either `WindowsSpec` or `PosixSpec`
specifically.
Commit: 812e049ac1c2424f96746ac4c453d6255b0a6ca5
https://github.com/llvm/llvm-project/commit/812e049ac1c2424f96746ac4c453d6255b0a6ca5
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/crel.c
Log Message:
-----------
[Driver] Correctly handle -Wa,--crel -Wa,--no-crel
Follow-up to #97378
Commit: 5d48248755f41245be031791ff6ea7a79a5a8912
https://github.com/llvm/llvm-project/commit/5d48248755f41245be031791ff6ea7a79a5a8912
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/maxval-elemental.fir
A flang/test/HLFIR/minval-elemental.fir
Log Message:
-----------
[flang] Inline minval/maxval over elemental/designate (#103503)
This PR intends to optimize away `hlfir.elemental` operations, which
leave temporary buffers (`allocmem`) in FIR. We typically see elemental
operations in the arguments of reduction intrinsics, so extending
`OptimizedBufferization` shall be the first solution to get heap-free
code.
Here we newly handle `minval`/`maxval` along with other reduction
intrinsics. Those functions over elemental become do loops. Furthermore,
we take the same action with `hlfir.designate` in order to inline more
intrinsics, which otherwise call runtime routines.
Commit: 6992c09dc9a99215e2a426d2524c0e12f11a7b57
https://github.com/llvm/llvm-project/commit/6992c09dc9a99215e2a426d2524c0e12f11a7b57
Author: Lang Hames <lhames at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
Log Message:
-----------
[ORC] Add missing dependence on BinaryFormat library.
Commit 3e1d4ec671 introduced a dependence on BinaryFormat, but CMakeLists.txt
was not updated to include it.
Commit: da25e08a4c8d5869ca66b1ff6ca3dbc291eea6e8
https://github.com/llvm/llvm-project/commit/da25e08a4c8d5869ca66b1ff6ca3dbc291eea6e8
Author: Brad Smith <brad at comstyle.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/aarch64.c
Log Message:
-----------
[builitins] Only try to use getauxval on Linux (#104047)
OpenBSD now has sys/auxv.h but does not use getauxval.
Commit: 224b2800439ec0813a3fa861e98404624f18a6d7
https://github.com/llvm/llvm-project/commit/224b2800439ec0813a3fa861e98404624f18a6d7
Author: Lang Hames <lhames at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/MachO_universal_binaries.test
Log Message:
-----------
[ORC] Gate testcase for 3e1d4ec671c on x86-64 and aarch64 target support.
The testcase requires both of these targets.
Commit: dfa13c010ff10b7bbbbf71c648de1b06ce58e34e
https://github.com/llvm/llvm-project/commit/dfa13c010ff10b7bbbbf71c648de1b06ce58e34e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CodeGen] Use a range-based for loop (NFC) (#104408)
Commit: 3080c806712b59d5d9be6f9dedd02e0e02c32297
https://github.com/llvm/llvm-project/commit/3080c806712b59d5d9be6f9dedd02e0e02c32297
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] Use range-based for loops (NFC) (#104410)
Commit: dca820951c86b79b0b26d92f7c715f3d4305f8e8
https://github.com/llvm/llvm-project/commit/dca820951c86b79b0b26d92f7c715f3d4305f8e8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[llvm] Use llvm::any_of (NFC) (#104443)
Commit: 217f5804ca7fe492910b4a001b06c420e5de1ba6
https://github.com/llvm/llvm-project/commit/217f5804ca7fe492910b4a001b06c420e5de1ba6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Use a range-based for loop (NFC) (#104445)
Commit: f861e33912732d3de05369cdff852968fcdcb3a0
https://github.com/llvm/llvm-project/commit/f861e33912732d3de05369cdff852968fcdcb3a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/relax.c
Log Message:
-----------
[Driver] Reject -Wa,-mrelax-relocations= for non-ELF
Commit: 9088ac1e8335d32bed275fbd33f0cd1b9bd400d6
https://github.com/llvm/llvm-project/commit/9088ac1e8335d32bed275fbd33f0cd1b9bd400d6
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
Log Message:
-----------
[Clang] [Sema] Error on reference types inside a union with msvc 1900+ (#102851)
Godbolt for reference: https://godbolt.org/z/ovKjvWc46
I can confirm that this extension is no longer valid in VS2017, VS2019
and VS2022 under `/permissive` and `/permissive-`
MSDN, https://learn.microsoft.com/en-us/cpp/porting/visual-cpp-what-s-new-2003-through-2015?view=msvc-170, says this extension was officially removed in VS2015.
Commit: 293aa56ebce2a5f5eb97308364645f5685944a42
https://github.com/llvm/llvm-project/commit/293aa56ebce2a5f5eb97308364645f5685944a42
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
Log Message:
-----------
[Sparc] Remove dead code (NFC) (#104264)
Commit: 648f4d0658ab00cf1e95330c8811aaea9481a274
https://github.com/llvm/llvm-project/commit/648f4d0658ab00cf1e95330c8811aaea9481a274
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-load.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-store.ll
Log Message:
-----------
[ScalarizeMaskedMemIntr] Pre-commit tests for splat optimizations (#104527)
Commit tests that track the current behavior when the mask argument to a
llvm.masked.load or llvm.masked.store is a splat of a con-constant value
(that is, it does nothing special).
Commit: c20e7b6fe105e4dffc8ecff77b03a049d327c567
https://github.com/llvm/llvm-project/commit/c20e7b6fe105e4dffc8ecff77b03a049d327c567
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/CodeGenHLSL/default_validator_version.hlsl
Log Message:
-----------
[HLSL] update default validator version to 1.8. (#104040)
Change default validator version to 1.8 in Options.td.
Remove the default value set in HLSL.cpp.
Fixes #102963
This also helps #99910.
Commit: 5f01fda4acae211fcf67b603a7c90bc557bc2aff
https://github.com/llvm/llvm-project/commit/5f01fda4acae211fcf67b603a7c90bc557bc2aff
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[Bitcode] Use range-based for loops (NFC) (#104534)
Commit: 019fbcc4d728895f0decab13738b5d89d01b1436
https://github.com/llvm/llvm-project/commit/019fbcc4d728895f0decab13738b5d89d01b1436
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add missing check for new_shape of `tosa.reshape` (#104394)
This patch adds check for new_shape of `tosa.reshape`. Tensor dimension
with size less than -1 is invalid. Fix #103062.
Commit: 5c3a3dc9eb0a70979ab456a69f2f40dab6515008
https://github.com/llvm/llvm-project/commit/5c3a3dc9eb0a70979ab456a69f2f40dab6515008
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M flang/runtime/CUDA/CMakeLists.txt
M flang/unittests/Runtime/CUDA/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Add version in libCufRuntime name (#104506)
Commit: e027e04f0139126b0a4af3aba0dbb31fdf22ea62
https://github.com/llvm/llvm-project/commit/e027e04f0139126b0a4af3aba0dbb31fdf22ea62
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/RISCV/rvv/pr104480.ll
Log Message:
-----------
[DAGCombiner] Don't let scalarizeBinOpOfSplats create illegal scalar MULHS/MULHU (#104518)
Type legalization lacks generic support for these operations. They are
normally only created when the type is legal. This scalarization case is
new.
We could update type legalization, but there some corner cases that make
it not straightforward. For example, if the promoted type isn't 2x the
narrow type we need to over promote.
Fixes #104480
Commit: fe55c34d19628304e0ca6a0e14a0b786b93d0e02
https://github.com/llvm/llvm-project/commit/fe55c34d19628304e0ca6a0e14a0b786b93d0e02
Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-sqsum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/lit.local.cfg
M mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_abs.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_dim.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_foreach.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex64.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nchw_fchw.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_foreach_slices.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_push_back.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/multi-tile-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f16f16f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-i8i8i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/ssve.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-setArmSVLBits.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile-fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/arrays-of-scalable-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/scalable-interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-deinterleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-setArmVLBits.mlir
M mlir/test/Integration/lit.local.cfg
M mlir/test/lit.site.cfg.py.in
Log Message:
-----------
[MLIR][test] Run SVE and SME Integration tests using qemu-aarch64 (#101568)
To run integration tests using qemu-aarch64 on x64 host, below flags are
added to the cmake command when building mlir/llvm:
-DMLIR_INCLUDE_INTEGRATION_TESTS=ON \
-DMLIR_RUN_ARM_SVE_TESTS=ON \
-DMLIR_RUN_ARM_SME_TESTS=ON \
-DARM_EMULATOR_EXECUTABLE="<...>/qemu-aarch64" \
-DARM_EMULATOR_OPTIONS="-L /usr/aarch64-linux-gnu" \
-DARM_EMULATOR_MLIR_CPU_RUNNER_EXECUTABLE="<llvm_arm64_build_top>/bin/mlir-cpu-runner-arm64"
\
-DARM_EMULATOR_LLI_EXECUTABLE="<llvm_arm64_build_top>/bin/lli" \
-DARM_EMULATOR_UTILS_LIB_DIR="<llvm_arm64_build_top>/lib"
The last three above are prebuilt on, or cross-built for, an aarch64
host.
This patch introduced substittutions of "%native_mlir_runner_utils" etc. and use
them in SVE/SME integration tests. When configured to run using qemu-aarch64,
mlir runtime util libs will be loaded from ARM_EMULATOR_UTILS_LIB_DIR, if set.
Some tests marked with 'UNSUPPORTED: target=aarch64{{.*}}' are still run
when configured with ARM_EMULATOR_EXECUTABLE and the default target is
not aarch64.
A lit config feature 'mlir_arm_emulator' is added in
mlir/test/lit.site.cfg.py.in and to UNSUPPORTED list of such tests.
Commit: ef6760116fa2fa21f78e7a3b499f77e1a3eb7b92
https://github.com/llvm/llvm-project/commit/ef6760116fa2fa21f78e7a3b499f77e1a3eb7b92
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/dll_global_dead_strip.c
M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
M compiler-rt/test/asan/TestCases/Windows/global_dead_strip.c
M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
Log Message:
-----------
[asan] Fix build breakage from report_globals change
https://github.com/llvm/llvm-project/pull/104404 broke the Windows
buildbot (https://lab.llvm.org/buildbot/#/builders/107/builds/1926).
This fixes forward by updating the flags in the tests accordingly.
Commit: ac92dcc7562ca1c0b1ee84bcc678738aefbe5c18
https://github.com/llvm/llvm-project/commit/ac92dcc7562ca1c0b1ee84bcc678738aefbe5c18
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
Log Message:
-----------
[RISCV] Lower fixed reverse vector_shuffles through vector_reverse (#104461)
This teaches lowerVECTOR_REVERSE to handle fixed length vectors, and
then lowers reverse vector_shuffles through it.
The motiviation for this is to allow fixed length vectors to share a
potential optimization on vector_reverse in an upcoming patch (splitting
up LMUL > 1 vrgathers.vv)
Commit: 0c02f6176242c37e6328255e396ccb717188c588
https://github.com/llvm/llvm-project/commit/0c02f6176242c37e6328255e396ccb717188c588
Author: nosba0957 <67941279+nosba0957 at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV][NFC] Fix typo: "wererenamed" to "were renamed" (#104530)
This commit corrects a typo in a comment from "wererenamed" to "were
renamed". No functional changes.
Commit: 1900810b6fd7b913d04b23afd9cce7e83fff51d7
https://github.com/llvm/llvm-project/commit/1900810b6fd7b913d04b23afd9cce7e83fff51d7
Author: Wang Yaduo <wangyaduo at linux.alibaba.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
Log Message:
-----------
[RISCV] Simplify (srl (and X, Mask), Const) to TH_EXTU (#102802)
Commit: 22219873987587d8b5d793ab5dea982a0887ac7c
https://github.com/llvm/llvm-project/commit/22219873987587d8b5d793ab5dea982a0887ac7c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Add scopes to conditional operator subexpressions (#104418)
We would otherwise try to destroy the variables from both branches after
the conditional operator was done.
However, doing so breaks the case where we create internal temporaries.
For those, add allocateTemporary(), which attaches the lifetime of the
temporary to the topmost scope. Since they never have record type, this
shouldn't create any issues.
Commit: 698b42ccff69fde6509c6ad0baf262c257c039bb
https://github.com/llvm/llvm-project/commit/698b42ccff69fde6509c6ad0baf262c257c039bb
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/test/Transforms/stack-arrays-hlfir.f90
Log Message:
-----------
[flang][stack-arrays] Collect analysis results for OMP ws loops (#103590)
We missed collecting the analysis results for regions terminated with
`omp.yield`. This result in missing some opportunities for malloc
optimizations inside omp regions.
Commit: 5cdd2042a01881decd71fbfb7a465e4927a854a3
https://github.com/llvm/llvm-project/commit/5cdd2042a01881decd71fbfb7a465e4927a854a3
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Remove -riscv-v-vector-bits-max from reverse tests. NFC
There doesn't seem to be any difference in the output anymore between
the options.
Commit: e4b24e68a2b55a59dc29700ae6a281c2d4665af0
https://github.com/llvm/llvm-project/commit/e4b24e68a2b55a59dc29700ae6a281c2d4665af0
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Use shufflevector in shuffle reverse tests. NFC
Fixed length @llvm.vector.reverses are converted to vector_shuffle
nodes in SelectionDAGBuilder anyway, and this matches the name of the
test file.
Commit: 8d71016eded39ee6a3d69a8219006f0327bea23c
https://github.com/llvm/llvm-project/commit/8d71016eded39ee6a3d69a8219006f0327bea23c
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
R llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
Log Message:
-----------
[RISCV] Merge shuffle reverse tests. NFC
shuffle-reverse.ll also tests reverse shuffles with two source
vectors, so copy them over.
Commit: 4c77cc634d49782aceff77f7ec4e6183ec223020
https://github.com/llvm/llvm-project/commit/4c77cc634d49782aceff77f7ec4e6183ec223020
Author: Luke Boyer <lukeboyer4 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/lib/IR/Operation.cpp
Log Message:
-----------
[mlir][IR] Fix `checkFoldResult` error message (#104559)
checkFoldResult error message has expected and actual backwards.
Commit: bbc89faf4edf36ceeeef87150e8a7e7a1fd5051a
https://github.com/llvm/llvm-project/commit/bbc89faf4edf36ceeeef87150e8a7e7a1fd5051a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
Log Message:
-----------
[Passes] clang-format initialization files (NFC)
These regularly get touched when adding or removing passes, and
always cause issues with clang-format.
Commit: 7bef16a04dc42e7b0a7b8b27fb661b474f46a7ca
https://github.com/llvm/llvm-project/commit/7bef16a04dc42e7b0a7b8b27fb661b474f46a7ca
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Merge bitrotate crash test into shuffle reverse tests. NFC
Use vscale_range instead of having a separate test to run with +zvl1024b.
Commit: 59d7df4255cc0de5d448aa7908f1f8407860c802
https://github.com/llvm/llvm-project/commit/59d7df4255cc0de5d448aa7908f1f8407860c802
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
Log Message:
-----------
[NFC][X86] Refactor: merge avx512_binop_all2 into avx512_binop_all (#104561)
Commit: 8ca5ff2743f6020e29ee923114e2762b53bd32b1
https://github.com/llvm/llvm-project/commit/8ca5ff2743f6020e29ee923114e2762b53bd32b1
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
R clang/test/Driver/darwin-print-target-triple.c
Log Message:
-----------
Revert "[clang][driver] Fix -print-target-triple OS version for apple targets" (#104563)
This reverts llvm/llvm-project#104037 /
7227b44f928a87b5d7fb05bd1539fdfb6d4958dc.
This change had the unintended consequence of making e.g. `clang -target
armv7-windows-gnu --print-target-triple` output
`thumbv7-unknown-windows-gnu` rather than `armv7-unknown-windows-gnu`.
Commit: fc1b01963857b5c04980c713145a71d6b858ad8a
https://github.com/llvm/llvm-project/commit/fc1b01963857b5c04980c713145a71d6b858ad8a
Author: v01dXYZ <14996868+v01dXYZ at users.noreply.github.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/MatchContext.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SD Pattern Match: Operands patterns with VP Context (#103308)
Currently, when using a VP match context with `sd_context_match`, only Opcode matching is possible (`m_Opc(Opcode)`).
This PR suggest a way to make patterns with Operands (eg `m_Node`, `m_Add`, ...) works with a VP context.
This PR blocks another PR https://github.com/llvm/llvm-project/pull/102877.
Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Commit: 75cb9edf09fdc091e5bc0f3d46a96c2877735a39
https://github.com/llvm/llvm-project/commit/75cb9edf09fdc091e5bc0f3d46a96c2877735a39
Author: Victor Perez <victor.perez at codeplay.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
A mlir/include/mlir/Conversion/GPUCommon/AttrToSPIRVConverter.h
M mlir/include/mlir/Conversion/GPUToLLVMSPV/GPUToLLVMSPVPass.h
A mlir/lib/Conversion/GPUCommon/AttrToSPIRVConverter.cpp
M mlir/lib/Conversion/GPUCommon/CMakeLists.txt
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
Log Message:
-----------
[MLIR][GPU-LLVM] Add GPU to LLVM-SPV address space mapping (#102621)
Implement mapping:
- `global`: 1
- `workgroup`: 3
- `private`: 0
Add `addressSpaceToStorageClass`, mapping GPU address spaces to SPIR-V
storage classes to be able to use SPIR-V's
`storageClassToAddressSpace`, mapping SPIR-V storage classes to LLVM
address spaces according to our mapping above *by definition*.
---------
Signed-off-by: Victor Perez <victor.perez at codeplay.com>
Commit: 61abc15a9f94b081cced18277de8ae571e4d853d
https://github.com/llvm/llvm-project/commit/61abc15a9f94b081cced18277de8ae571e4d853d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update `cxx_dr_status.html`
Commit: dc3b029dc744730e69abac987c38b2d08b465fba
https://github.com/llvm/llvm-project/commit/dc3b029dc744730e69abac987c38b2d08b465fba
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Function.cpp
M clang/lib/AST/Interp/Function.h
Log Message:
-----------
[clang][Interp][NFC] Remove Function::Loc
Unused.
Commit: e54f683fc5a896cdc167596c98d01db8763220b9
https://github.com/llvm/llvm-project/commit/e54f683fc5a896cdc167596c98d01db8763220b9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
Log Message:
-----------
[X86] Add shuffle tests for #104482
Commit: 39a0dedcbf69adaf9d4ffeebd9172844b38974c7
https://github.com/llvm/llvm-project/commit/39a0dedcbf69adaf9d4ffeebd9172844b38974c7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
Log Message:
-----------
[X86] lowerShuffleAsDecomposedShuffleMerge - don't lower to unpack+permute if either source is zero.
Fixes #104482
Commit: 899a3df02427086f365e1308fd11ca8ab981e9df
https://github.com/llvm/llvm-project/commit/899a3df02427086f365e1308fd11ca8ab981e9df
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M lldb/include/lldb/Host/Socket.h
M lldb/source/Host/common/Socket.cpp
M lldb/tools/lldb-server/Acceptor.cpp
Log Message:
-----------
[lldb][NFC] Moved FindSchemeByProtocol() from Acceptor to Socket (#104439)
This is the prerequisite for #104238.
Commit: cc78639453d91250dddaded0e084e5b81fefff3c
https://github.com/llvm/llvm-project/commit/cc78639453d91250dddaded0e084e5b81fefff3c
Author: lancesix <98881381+lancesix at users.noreply.github.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][NFC] AMDGPUUsage.rst: document corefile format (#104419)
This patch adds a description of the core file format used for AMDGPU.
Reference implementation for creating and loading AMDGPU core dump is
available in
[ROCgdb-6.2](https://github.com/ROCm/ROCgdb/tree/rocm-6.2.x/gdb)
Commit: 7d77fb2971e36233f69634380ae55421e5fd70a1
https://github.com/llvm/llvm-project/commit/7d77fb2971e36233f69634380ae55421e5fd70a1
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for 75cb9edf09fdc091e5bc0f3d46a96c2877735a39
Commit: 65390f9d6f0aa5f7bc5125d73337eb658e162d0a
https://github.com/llvm/llvm-project/commit/65390f9d6f0aa5f7bc5125d73337eb658e162d0a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
A llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
Log Message:
-----------
[SimplifyCFG] Add test for #104567 (NFC)
Commit: 6a84af704f57defd919a4ec2e34b70a48d548719
https://github.com/llvm/llvm-project/commit/6a84af704f57defd919a4ec2e34b70a48d548719
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[LAA] Use computeConstantDifference() (#103725)
Use computeConstantDifference() instead of casting getMinusSCEV() to
SCEVConstant. This can be much faster in some cases, because
computeConstantDifference() computes the result without creating new
SCEV expressions.
This improves LTO/ThinLTO compile-time for lencod by more than 10%.
I've verified that computeConstantDifference() does not produce worse
results than the previous code for anything in llvm-test-suite. This
required raising the iteration cutoff to 6. I ended up increasing it to
8 just to be on the safe side (for code outside llvm-test-suite), and
because this doesn't materially affect compile-time anyway (we'll almost
always bail out earlier).
Commit: 1db674b83d2bb165d038846cbd0b88120a67535e
https://github.com/llvm/llvm-project/commit/1db674b83d2bb165d038846cbd0b88120a67535e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/builtin-assumed-addrspace.ll
Log Message:
-----------
InferAddressSpaces: Convert test to generated checks
Also use named values
Commit: a426ffdee1ca7814f2684b6104c48f5669815aad
https://github.com/llvm/llvm-project/commit/a426ffdee1ca7814f2684b6104c48f5669815aad
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] Add handling for new/delete expressions (#104033)
Commit: a84790e5fca0429683b24f7bb52d2c4d947dc011
https://github.com/llvm/llvm-project/commit/a84790e5fca0429683b24f7bb52d2c4d947dc011
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86 conversions nodes when upper elements are not demanded. (#102882)
Fixes #83402
Commit: d867988cd9b0f8ea31e7dd9f995e341c9d5d8157
https://github.com/llvm/llvm-project/commit/d867988cd9b0f8ea31e7dd9f995e341c9d5d8157
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/IR/DataLayout.cpp
M llvm/unittests/IR/DataLayoutTest.cpp
Log Message:
-----------
[DataLayout] Refactor parsing of "ni" specification (#104546)
Split off of #104545 to reduce patch size.
This introduces `parseAddrSpace` function, intended as a replacement for
`getAddrSpace`, which doesn't check for trailing characters after the
address space number. `getAddrSpace` will be removed after switching all
uses to `parseAddrSpace`.
Pull Request: https://github.com/llvm/llvm-project/pull/104546
Commit: 8aa9d6206ce55bdaaf422839c351fbd63f033b89
https://github.com/llvm/llvm-project/commit/8aa9d6206ce55bdaaf422839c351fbd63f033b89
Author: Alan Wu <XrXr at users.noreply.github.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/int_math.h
Log Message:
-----------
[compiler-rt] Stop using x86 builtin on AArch64 with GCC (#93890)
Previously, building `multc3.c` on A64 with GCC 7 or up but 9 and lower
will attempt to reference `__builtin_copysignq`, an [x86-specific
intrinsic][1]:
```
$ gcc -c multc3.c
In file included from fp_lib.h:24,
from multc3.c:14:
multc3.c: In function '__multc3':
int_math.h:71:32: warning: implicit declaration of function '__builtin_copysignq'; did you mean '__builtin_copysign'? [-Wimplicit-function-declaration]
#define crt_copysignf128(x, y) __builtin_copysignq((x), (y))
^~~~~~~~~~~~~~~~~~~
```
This is because `__has_builtin` is from GCC 10, and defined to 0 at the
top of int_math.h for affected GCC versions, so the fallback definition
is used. But `__builtin_copysignq` is unavailable on A64.
Use version detection to find `__builtin_copysignf128` instead. It's
available since GCC 7 and [available][2] on both x86 and A64, given this
macro is only used when `CRT_HAS_IEEE_TF`.
---
I realize this is fixing a problem for an out-of-tree build
configuration, but help would be greatly appreciated. Rust
[builds](https://github.com/rust-lang/compiler-builtins) `multc3.c` with
GCC 8 and this mis-selection is causing [build
issues](https://github.com/rust-lang/rust/issues/125619) way downstream.
ref: d2ce3e9621411f3391def327f89e3a650918989f
[1]: https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html
[2]: https://gcc.gnu.org/gcc-7/changes.html
Commit: 9f430de4b2577fb0a0169b6409a6267db927c08d
https://github.com/llvm/llvm-project/commit/9f430de4b2577fb0a0169b6409a6267db927c08d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/docs/Dialects/ArmSME.md
Log Message:
-----------
[mlir][ArmSME][docs] Fix broken link (NFC)
Commit: 7417b4cd138f7384bba83f7eb62a890303f82600
https://github.com/llvm/llvm-project/commit/7417b4cd138f7384bba83f7eb62a890303f82600
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/test/CXX/drs/cwg20xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add a new test for CWG2091 (#104573)
This patch adds a test from
https://github.com/llvm/llvm-project/issues/42233, and updates CWG2091
status from `2.7` to `10`.
Commit: 1cdf1e693425ae6830883d2fc0eaaa601a8250d8
https://github.com/llvm/llvm-project/commit/1cdf1e693425ae6830883d2fc0eaaa601a8250d8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Context.cpp
M clang/test/AST/Interp/enums.cpp
Log Message:
-----------
[clang][Interp] Fix classifying enum types (#104582)
We used to always return PT_IntAP(s) for them.
Commit: 7e23a23d5e4fa367842546af9f92dcdef869ef9a
https://github.com/llvm/llvm-project/commit/7e23a23d5e4fa367842546af9f92dcdef869ef9a
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/ucmp.ll
Log Message:
-----------
[InstCombine] Fold an unsigned icmp of ucmp/scmp with a constant to an icmp of the original arguments (#104471)
Proofs: https://alive2.llvm.org/ce/z/9mv8HU
Commit: e8e88873ab528eb9a44804e6e68953bb058eceb7
https://github.com/llvm/llvm-project/commit/e8e88873ab528eb9a44804e6e68953bb058eceb7
Author: wr7 <d-wr7 at outlook.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
Log Message:
-----------
[llvm-c] Add non-cstring versions of LLVMGetNamedFunction and LLVMGetNamedGlobal (#103396)
Add `LLVMGetNamedFunctionWithLength` and `LLVMGetNamedGlobalWithLength`
As far as i know, it isn't currently possible to use
`LLVMGetNamedFunction` and `LLVMGetNamedGlobal` with non-null-terminated
strings.
These new functions are more convenient for C programs that use
non-null-terminated strings or for languages like Rust that primarily
use non-null-terminated strings.
Commit: ce128d8fe8298e87799b5302e08bd0c6ea8ccce4
https://github.com/llvm/llvm-project/commit/ce128d8fe8298e87799b5302e08bd0c6ea8ccce4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
Log Message:
-----------
[InstCombine] Add i128 test for select of lshr/ashr transform (NFC)
Commit: 5d28678277195e0b136198323ef4afa4561f8796
https://github.com/llvm/llvm-project/commit/5d28678277195e0b136198323ef4afa4561f8796
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
Log Message:
-----------
[InstCombine] Fix incorrect zero ext in select of lshr/ashr fold
The -1 constant should be sign extended, not zero extended.
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: ff906403dd8c9791eaa3168faeb546a5266ceac0
https://github.com/llvm/llvm-project/commit/ff906403dd8c9791eaa3168faeb546a5266ceac0
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/preserve.ll
Log Message:
-----------
Add FPMR register and update dependencies of FP8 instructions (#102910)
Currently FP8 instructions are missing dependecies on system registers,
namely FPMR and FPCR. This patch fixes this issue.
Commit: 81f8abdca4e134009ca1acf9e85ddd4890e39822
https://github.com/llvm/llvm-project/commit/81f8abdca4e134009ca1acf9e85ddd4890e39822
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Fix CreateInsertElement does not use the correct result if MinBWs applied. (#104558)
Commit: abdc2b17d2dbb49397cbe4023f199f63461c2a97
https://github.com/llvm/llvm-project/commit/abdc2b17d2dbb49397cbe4023f199f63461c2a97
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-sameopcode-hands-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
Log Message:
-----------
[AArch64][GlobalISel] Disable fixed-point iteration in all Combiners
Disable fixed-point iteration in all AArch64 Combiners after #102163.
See inline comments for justification of test changes.
Pull Request: https://github.com/llvm/llvm-project/pull/102167
Commit: aa427b1aae445ed46d9f60c5e2eaac61bdf76be3
https://github.com/llvm/llvm-project/commit/aa427b1aae445ed46d9f60c5e2eaac61bdf76be3
Author: RichardLuo <CommAdama at outlook.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libcxx/src/filesystem/path.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
Log Message:
-----------
[libc++] Fix backslash as root dir breaks lexically_relative, lexically_proximate and hash_value on Windows (#99780)
Various functions like hash_value, lexically_proximate and lexically_relative
would incorrectly handle backslashes in the root directory on Windows, causing
behavior that is inconsistent with the equality comparison for a path.
Commit: 710a552dedbf1a28cebac78b481cb78138fbc454
https://github.com/llvm/llvm-project/commit/710a552dedbf1a28cebac78b481cb78138fbc454
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext.mir
Log Message:
-----------
[GlobalIsel] Revisit ext of ext. (#102769)
Credits:
https://reviews.llvm.org/D86516
combine-ext.mir
Notable semantic changes:
InstCombine does not mix zero and sign extend,
see CastInst::isEliminableCastPair.
New version has legality checks.
Folds sext/zext of anyext -> sext/zext
Support for nneg
Future work:
nneg zext of sext -> sext
sext of nneg zext -> sext
Commit: 3e5a4ac31abd9021dd7996287ebb96af45daef04
https://github.com/llvm/llvm-project/commit/3e5a4ac31abd9021dd7996287ebb96af45daef04
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
Log Message:
-----------
[mlir][spirv] Update documentation. NFC (#104584)
Commit: 8173ad703152e0b7f3689da76d5337ea8522e11c
https://github.com/llvm/llvm-project/commit/8173ad703152e0b7f3689da76d5337ea8522e11c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/and-or-icmp-const-icmp.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: 397bcfef741315a68e75d174b8f746a11b42c0e2
https://github.com/llvm/llvm-project/commit/397bcfef741315a68e75d174b8f746a11b42c0e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr50609.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
Log Message:
-----------
[X86] Fold extract_subvector(int_to_fp(x)) vXi32/vXf32 cases to match existing fp_to_int folds
Commit: 11ebc9d30eb5d58c41386bd0e5a350884d5d1020
https://github.com/llvm/llvm-project/commit/11ebc9d30eb5d58c41386bd0e5a350884d5d1020
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/and-xor-merge.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/demorgan.ll
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: b9fecea56f031c17665737b4844628027cf3c431
https://github.com/llvm/llvm-project/commit/b9fecea56f031c17665737b4844628027cf3c431
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[PhaseOrdering] Regenerate test checks (NFC)
Commit: 14d57e21e1cc76de554314015e11a9d6e9b797f5
https://github.com/llvm/llvm-project/commit/14d57e21e1cc76de554314015e11a9d6e9b797f5
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] fix 32-bit buildbots after a426ffdee1ca7814f2684b6
Commit: 3c3fc4ce77da21214e1e20b8c42607b4dcdef5a7
https://github.com/llvm/llvm-project/commit/3c3fc4ce77da21214e1e20b8c42607b4dcdef5a7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Add nsw tests for A + -B fold (NFC)
Commit: dd9a99f2b634d95072ae49ebcbe5598877de4985
https://github.com/llvm/llvm-project/commit/dd9a99f2b634d95072ae49ebcbe5598877de4985
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Preserve nsw in A + -B fold
This was already done for -B + A, but not for A + -B.
Proof: https://alive2.llvm.org/ce/z/F3V2yZ
Commit: 83bf1d661213cb8ec8e79ac085f793009721aaf5
https://github.com/llvm/llvm-project/commit/83bf1d661213cb8ec8e79ac085f793009721aaf5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/fast-math.ll
Log Message:
-----------
[InstCombine] Thwart complexity-based canonicalization in sqrt test (NFC)
Commit: 60bffe221a1d615ffc7c6b632287d0fbd27ef863
https://github.com/llvm/llvm-project/commit/60bffe221a1d615ffc7c6b632287d0fbd27ef863
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/fast-math.ll
Log Message:
-----------
[InstCombine] Handle commuted variant of sqrt transform
Commit: 99696b35bc8a0054e0b0c1a26e8dd5049fa8c41b
https://github.com/llvm/llvm-project/commit/99696b35bc8a0054e0b0c1a26e8dd5049fa8c41b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libcxx/include/span
M libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp
Log Message:
-----------
[libc++] Fix rejects-valid in std::span copy construction (#104500)
Trying to copy-construct a std::span from another std::span holding an
incomplete type would fail as we evaluate the SFINAE for the range-based
constructor. The problem was that we checked for __is_std_span after
checking for the range being a contiguous_range, which hard-errored
because of arithmetic on a pointer to incomplete type.
As a drive-by, refactor the whole test and format it.
Fixes #104496
Commit: ef6e7affbb7b0eb4976c1019c788bcadfc34ecd6
https://github.com/llvm/llvm-project/commit/ef6e7affbb7b0eb4976c1019c788bcadfc34ecd6
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir] [tosa] Bug fixes in shape inference pass (#104146)
This change addresses 2 bugs in the TOSA shape inference pass
(`--tosa-infer-shapes`). The included unit test contains a detailed
description of the issues.
- Input IR
```
func.func @main(%arg0: tensor<1x2x8xf32>) {
%0 = tosa.cast %arg0 : (tensor<1x2x8xf32>) -> tensor<?x2x8xf32>
%c0 = arith.constant 0 : index
%dim = tensor.dim %0, %c0 : tensor<?x2x8xf32>
%expanded_0 = tensor.expand_shape %0 [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
%expanded_1 = tensor.expand_shape %0 [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
return
}
```
- Output IR
```
module {
func.func @main(%arg0: tensor<1x2x8xf32>) {
%0 = tosa.cast %arg0 : (tensor<1x2x8xf32>) -> tensor<1x2x8xf32>
// This cast was previously inserted between both 'tensor.expand_shape' ops.
%cast = tensor.cast %0 : tensor<1x2x8xf32> to tensor<?x2x8xf32>
%c0 = arith.constant 0 : index
%dim = tensor.dim %0, %c0 : tensor<1x2x8xf32>
// The operand of the first 'tensor.expand_shape' op was not previously updated
// from '%0' to '%cast' due to an invalidation of the iterator traversing the
// use list of the 'tosa.cast' op.
%expanded_0 = tensor.expand_shape %cast [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
%expanded_1 = tensor.expand_shape %cast [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
return
}
```
Commit: a07aba5d44204a7ca0d891a3da05af9960081e4c
https://github.com/llvm/llvm-project/commit/a07aba5d44204a7ca0d891a3da05af9960081e4c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/docs/ClangFormattedStatus.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/lib/AST/ASTContext.cpp
A clang/lib/AST/ByteCode/Boolean.h
A clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
A clang/lib/AST/ByteCode/ByteCodeEmitter.h
A clang/lib/AST/ByteCode/Compiler.cpp
A clang/lib/AST/ByteCode/Compiler.h
A clang/lib/AST/ByteCode/Context.cpp
A clang/lib/AST/ByteCode/Context.h
A clang/lib/AST/ByteCode/Descriptor.cpp
A clang/lib/AST/ByteCode/Descriptor.h
A clang/lib/AST/ByteCode/Disasm.cpp
A clang/lib/AST/ByteCode/DynamicAllocator.cpp
A clang/lib/AST/ByteCode/DynamicAllocator.h
A clang/lib/AST/ByteCode/EvalEmitter.cpp
A clang/lib/AST/ByteCode/EvalEmitter.h
A clang/lib/AST/ByteCode/EvaluationResult.cpp
A clang/lib/AST/ByteCode/EvaluationResult.h
A clang/lib/AST/ByteCode/Floating.cpp
A clang/lib/AST/ByteCode/Floating.h
A clang/lib/AST/ByteCode/Frame.cpp
A clang/lib/AST/ByteCode/Frame.h
A clang/lib/AST/ByteCode/Function.cpp
A clang/lib/AST/ByteCode/Function.h
A clang/lib/AST/ByteCode/FunctionPointer.h
A clang/lib/AST/ByteCode/Integral.h
A clang/lib/AST/ByteCode/IntegralAP.h
A clang/lib/AST/ByteCode/Interp.cpp
A clang/lib/AST/ByteCode/Interp.h
A clang/lib/AST/ByteCode/InterpBlock.cpp
A clang/lib/AST/ByteCode/InterpBlock.h
A clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpFrame.cpp
A clang/lib/AST/ByteCode/InterpFrame.h
A clang/lib/AST/ByteCode/InterpShared.cpp
A clang/lib/AST/ByteCode/InterpShared.h
A clang/lib/AST/ByteCode/InterpStack.cpp
A clang/lib/AST/ByteCode/InterpStack.h
A clang/lib/AST/ByteCode/InterpState.cpp
A clang/lib/AST/ByteCode/InterpState.h
A clang/lib/AST/ByteCode/MemberPointer.cpp
A clang/lib/AST/ByteCode/MemberPointer.h
A clang/lib/AST/ByteCode/Opcode.h
A clang/lib/AST/ByteCode/Opcodes.td
A clang/lib/AST/ByteCode/Pointer.cpp
A clang/lib/AST/ByteCode/Pointer.h
A clang/lib/AST/ByteCode/PrimType.cpp
A clang/lib/AST/ByteCode/PrimType.h
A clang/lib/AST/ByteCode/Primitives.h
A clang/lib/AST/ByteCode/Program.cpp
A clang/lib/AST/ByteCode/Program.h
A clang/lib/AST/ByteCode/Record.cpp
A clang/lib/AST/ByteCode/Record.h
A clang/lib/AST/ByteCode/Source.cpp
A clang/lib/AST/ByteCode/Source.h
A clang/lib/AST/ByteCode/State.cpp
A clang/lib/AST/ByteCode/State.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
R clang/lib/AST/Interp/Boolean.h
R clang/lib/AST/Interp/ByteCodeEmitter.cpp
R clang/lib/AST/Interp/ByteCodeEmitter.h
R clang/lib/AST/Interp/Compiler.cpp
R clang/lib/AST/Interp/Compiler.h
R clang/lib/AST/Interp/Context.cpp
R clang/lib/AST/Interp/Context.h
R clang/lib/AST/Interp/Descriptor.cpp
R clang/lib/AST/Interp/Descriptor.h
R clang/lib/AST/Interp/Disasm.cpp
R clang/lib/AST/Interp/DynamicAllocator.cpp
R clang/lib/AST/Interp/DynamicAllocator.h
R clang/lib/AST/Interp/EvalEmitter.cpp
R clang/lib/AST/Interp/EvalEmitter.h
R clang/lib/AST/Interp/EvaluationResult.cpp
R clang/lib/AST/Interp/EvaluationResult.h
R clang/lib/AST/Interp/Floating.cpp
R clang/lib/AST/Interp/Floating.h
R clang/lib/AST/Interp/Frame.cpp
R clang/lib/AST/Interp/Frame.h
R clang/lib/AST/Interp/Function.cpp
R clang/lib/AST/Interp/Function.h
R clang/lib/AST/Interp/FunctionPointer.h
R clang/lib/AST/Interp/Integral.h
R clang/lib/AST/Interp/IntegralAP.h
R clang/lib/AST/Interp/Interp.cpp
R clang/lib/AST/Interp/Interp.h
R clang/lib/AST/Interp/InterpBlock.cpp
R clang/lib/AST/Interp/InterpBlock.h
R clang/lib/AST/Interp/InterpBuiltin.cpp
R clang/lib/AST/Interp/InterpFrame.cpp
R clang/lib/AST/Interp/InterpFrame.h
R clang/lib/AST/Interp/InterpShared.cpp
R clang/lib/AST/Interp/InterpShared.h
R clang/lib/AST/Interp/InterpStack.cpp
R clang/lib/AST/Interp/InterpStack.h
R clang/lib/AST/Interp/InterpState.cpp
R clang/lib/AST/Interp/InterpState.h
R clang/lib/AST/Interp/MemberPointer.cpp
R clang/lib/AST/Interp/MemberPointer.h
R clang/lib/AST/Interp/Opcode.h
R clang/lib/AST/Interp/Opcodes.td
R clang/lib/AST/Interp/Pointer.cpp
R clang/lib/AST/Interp/Pointer.h
R clang/lib/AST/Interp/PrimType.cpp
R clang/lib/AST/Interp/PrimType.h
R clang/lib/AST/Interp/Primitives.h
R clang/lib/AST/Interp/Program.cpp
R clang/lib/AST/Interp/Program.h
R clang/lib/AST/Interp/Record.cpp
R clang/lib/AST/Interp/Record.h
R clang/lib/AST/Interp/Source.cpp
R clang/lib/AST/Interp/Source.h
R clang/lib/AST/Interp/State.cpp
R clang/lib/AST/Interp/State.h
A clang/test/AST/ByteCode/arrays.cpp
A clang/test/AST/ByteCode/atomic.c
A clang/test/AST/ByteCode/atomic.cpp
A clang/test/AST/ByteCode/bitfields.cpp
A clang/test/AST/ByteCode/builtin-align-cxx.cpp
A clang/test/AST/ByteCode/builtin-constant-p.cpp
A clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtins.cpp
A clang/test/AST/ByteCode/c.c
A clang/test/AST/ByteCode/c23.c
A clang/test/AST/ByteCode/codegen.cpp
A clang/test/AST/ByteCode/comma.cpp
A clang/test/AST/ByteCode/complex.c
A clang/test/AST/ByteCode/complex.cpp
A clang/test/AST/ByteCode/cond.cpp
A clang/test/AST/ByteCode/const-eval.c
A clang/test/AST/ByteCode/const-fpfeatures.cpp
A clang/test/AST/ByteCode/const-temporaries.cpp
A clang/test/AST/ByteCode/constexpr-frame-describe.cpp
A clang/test/AST/ByteCode/constexpr-nqueens.cpp
A clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
A clang/test/AST/ByteCode/crash-GH49103-2.cpp
A clang/test/AST/ByteCode/cxx03.cpp
A clang/test/AST/ByteCode/cxx11.cpp
A clang/test/AST/ByteCode/cxx17.cpp
A clang/test/AST/ByteCode/cxx20.cpp
A clang/test/AST/ByteCode/cxx23.cpp
A clang/test/AST/ByteCode/cxx26.cpp
A clang/test/AST/ByteCode/cxx2a.cpp
A clang/test/AST/ByteCode/cxx98.cpp
A clang/test/AST/ByteCode/depth-limit.cpp
A clang/test/AST/ByteCode/depth-limit2.cpp
A clang/test/AST/ByteCode/enums-targets.cpp
A clang/test/AST/ByteCode/enums.cpp
A clang/test/AST/ByteCode/eval-order.cpp
A clang/test/AST/ByteCode/floats.cpp
A clang/test/AST/ByteCode/functions.cpp
A clang/test/AST/ByteCode/hlsl.hlsl
A clang/test/AST/ByteCode/if.cpp
A clang/test/AST/ByteCode/intap.cpp
A clang/test/AST/ByteCode/invalid.cpp
A clang/test/AST/ByteCode/lambda.cpp
A clang/test/AST/ByteCode/lifetimes.cpp
A clang/test/AST/ByteCode/literals.cpp
A clang/test/AST/ByteCode/loops.cpp
A clang/test/AST/ByteCode/memberpointers.cpp
A clang/test/AST/ByteCode/ms.cpp
A clang/test/AST/ByteCode/mutable.cpp
A clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/nullable.cpp
A clang/test/AST/ByteCode/objc.mm
A clang/test/AST/ByteCode/opencl.cl
A clang/test/AST/ByteCode/pointer-addition.c
A clang/test/AST/ByteCode/records.cpp
A clang/test/AST/ByteCode/references.cpp
A clang/test/AST/ByteCode/shifts.cpp
A clang/test/AST/ByteCode/spaceship.cpp
A clang/test/AST/ByteCode/switch.cpp
A clang/test/AST/ByteCode/sycl.cpp
A clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/ByteCode/vectors.cpp
A clang/test/AST/ByteCode/weak.cpp
R clang/test/AST/Interp/arrays.cpp
R clang/test/AST/Interp/atomic.c
R clang/test/AST/Interp/atomic.cpp
R clang/test/AST/Interp/bitfields.cpp
R clang/test/AST/Interp/builtin-align-cxx.cpp
R clang/test/AST/Interp/builtin-constant-p.cpp
R clang/test/AST/Interp/builtin-functions.cpp
R clang/test/AST/Interp/builtins.cpp
R clang/test/AST/Interp/c.c
R clang/test/AST/Interp/c23.c
R clang/test/AST/Interp/codegen.cpp
R clang/test/AST/Interp/comma.cpp
R clang/test/AST/Interp/complex.c
R clang/test/AST/Interp/complex.cpp
R clang/test/AST/Interp/cond.cpp
R clang/test/AST/Interp/const-eval.c
R clang/test/AST/Interp/const-fpfeatures.cpp
R clang/test/AST/Interp/const-temporaries.cpp
R clang/test/AST/Interp/constexpr-frame-describe.cpp
R clang/test/AST/Interp/constexpr-nqueens.cpp
R clang/test/AST/Interp/constexpr-subobj-initialization.cpp
R clang/test/AST/Interp/crash-GH49103-2.cpp
R clang/test/AST/Interp/cxx03.cpp
R clang/test/AST/Interp/cxx11.cpp
R clang/test/AST/Interp/cxx17.cpp
R clang/test/AST/Interp/cxx20.cpp
R clang/test/AST/Interp/cxx23.cpp
R clang/test/AST/Interp/cxx26.cpp
R clang/test/AST/Interp/cxx2a.cpp
R clang/test/AST/Interp/cxx98.cpp
R clang/test/AST/Interp/depth-limit.cpp
R clang/test/AST/Interp/depth-limit2.cpp
R clang/test/AST/Interp/enums-targets.cpp
R clang/test/AST/Interp/enums.cpp
R clang/test/AST/Interp/eval-order.cpp
R clang/test/AST/Interp/floats.cpp
R clang/test/AST/Interp/functions.cpp
R clang/test/AST/Interp/hlsl.hlsl
R clang/test/AST/Interp/if.cpp
R clang/test/AST/Interp/intap.cpp
R clang/test/AST/Interp/invalid.cpp
R clang/test/AST/Interp/lambda.cpp
R clang/test/AST/Interp/lifetimes.cpp
R clang/test/AST/Interp/literals.cpp
R clang/test/AST/Interp/loops.cpp
R clang/test/AST/Interp/memberpointers.cpp
R clang/test/AST/Interp/ms.cpp
R clang/test/AST/Interp/mutable.cpp
R clang/test/AST/Interp/new-delete.cpp
R clang/test/AST/Interp/nullable.cpp
R clang/test/AST/Interp/objc.mm
R clang/test/AST/Interp/opencl.cl
R clang/test/AST/Interp/pointer-addition.c
R clang/test/AST/Interp/records.cpp
R clang/test/AST/Interp/references.cpp
R clang/test/AST/Interp/shifts.cpp
R clang/test/AST/Interp/spaceship.cpp
R clang/test/AST/Interp/switch.cpp
R clang/test/AST/Interp/sycl.cpp
R clang/test/AST/Interp/unions.cpp
R clang/test/AST/Interp/vectors.cpp
R clang/test/AST/Interp/weak.cpp
A clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Descriptor.cpp
A clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/CMakeLists.txt
R clang/unittests/AST/Interp/CMakeLists.txt
R clang/unittests/AST/Interp/Descriptor.cpp
R clang/unittests/AST/Interp/toAPValue.cpp
Log Message:
-----------
[clang] Rename all AST/Interp stuff to AST/ByteCode (#104552)
"Interp" clashes with the clang interpreter and people often confuse
this.
Commit: 2fe59d5259ec921668d87d111be55db0b047aa68
https://github.com/llvm/llvm-project/commit/2fe59d5259ec921668d87d111be55db0b047aa68
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/c.math/isinf.pass.cpp
M libcxx/test/std/numerics/c.math/isnan.pass.cpp
Log Message:
-----------
[libc++][math] Fix acceptance of convertible types in `std::isnan()` and `std::isinf()` (#98952)
Following up on https://github.com/llvm/llvm-project/pull/98841.
Changes:
- Properly test convertible types for `std::isnan()` and `std::inf()`
- Tighten conditional in `cmath.pass.cpp` (Find insights on `_LIBCPP_PREFERRED_OVERLOAD` below)
- Tighten preprocessor guard in `traits.h`
Insights into why `_LIBCPP_PREFERRED_OVERLOAD` is needed:
(i) When libc++ is layered on top of glibc on Linux, glibc's `math.h` is
included. When compiling with `-std=c++03`, this header brings the
function declaration of `isinf(double)` [1] and `isnan(double)` [2]
into scope. This differs from the C99 Standard as only the macros
`#define isnan(arg)` and `#define isinf(arg)` are expected.
Therefore, libc++ needs to respect the presense of the `double` overload
and cannot redefine it as it will conflict with the declaration already
in scope. For `-std=c++11` and beyond this issue is fixed, as glibc
guards both the `isinf` and `isnan` by preprocessor macros.
(ii) When libc++ is layered on top of Bionic's libc, `math.h` exposes a
function prototype for `isinf(double)` with return type `int`. This
function prototype in Bionic's libc is not guarded by any preprocessor
macros [3].
`_LIBCPP_PREFERRED_OVERLOAD` specifies that a given overload is a better match
than an otherwise equally good function declaration. This is implemented in
modern versions of Clang via `__attribute__((__enable_if__))`, and not elsewhere.
See [4] for details. We use `_LIBCPP_PREFERRED_OVERLOAD` to define overloads in
the global namespace that displace the overloads provided by the C
libraries mentioned above.
[1]: https://github.com/bminor/glibc/blob/fe9408087583fd7a6f61bb0dbcf2fd4e83186afa/math/bits/mathcalls.h#L185-L194
[2]: https://github.com/bminor/glibc/blob/fe9408087583fd7a6f61bb0dbcf2fd4e83186afa/math/bits/mathcalls.h#L222-L231
[3]: https://cs.android.com/android/platform/superproject/+/master:bionic/libc/include/math.h;l=322-323;drc=master?hl=fr-BE%22https:%2F%2Fsupport.google.com%2Fmerchants%2Fanswer%2F188494%5C%22%22https:%2F%2Fsupport.google.com%2Fmerchants%2Fanswer%2F188494%5C%22
[4]: https://github.com/llvm/llvm-project/commit/5fd17ab1b093f6b59aabb27f6c2c2278e65c2707
Commit: c4bf949171a72383d5ba4d2b587d4cc496aacebb
https://github.com/llvm/llvm-project/commit/c4bf949171a72383d5ba4d2b587d4cc496aacebb
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
A mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
A mlir/test/Dialect/Linalg/transform-tile-winograd.mlir
Log Message:
-----------
[mlir][linalg] Implement TilingInterface for winograd operators (#96184)
In order to support arbitrary size input data of conv2d, implement
TilingInterface for winograd operations. Before converting winograd
operations into nested loops with matrix multiply, tile the input of
conv2d into the supported size first.
Add a transform operation structured.decompose_winograd_op to decompose
winograd operations. Before applying the transform op, use
tile_using_for to tile the input data into supported size. The test case
shows how to tile and decompose winograd operations.
Commit: e25f6b0fa6b4f00131ae40e02d6ab89c39638f98
https://github.com/llvm/llvm-project/commit/e25f6b0fa6b4f00131ae40e02d6ab89c39638f98
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Port AST/ByteCode #104552
Commit: 7aa4726f44587791ed4f41a13c68e8f499ed34f0
https://github.com/llvm/llvm-project/commit/7aa4726f44587791ed4f41a13c68e8f499ed34f0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#104536)
Commit: 66878ff69293c4008707261592d448d5896239e7
https://github.com/llvm/llvm-project/commit/66878ff69293c4008707261592d448d5896239e7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
Log Message:
-----------
[Hexagon] Use range-based for loops (NFC) (#104538)
Commit: d8c9d583930befff3e0d78a5ab785d33a8e95f0f
https://github.com/llvm/llvm-project/commit/d8c9d583930befff3e0d78a5ab785d33a8e95f0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-select-to-max-usat.ll
Log Message:
-----------
[RISCV] Don't support TRUNCATE_SSAT_U. (#104468)
RISC-V doesn't have an instruction for this. We were treating it the
same as TRUNCATE_USAT_U.
Commit: 321de07b778a16e88c589ab0af05ad10c906af13
https://github.com/llvm/llvm-project/commit/321de07b778a16e88c589ab0af05ad10c906af13
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove TRUNCATE_(S/U)SAT_(S/U) from an assert that isn't tested. NFC (#104466)
Commit: 82fe79357f54d4db4c4e2c46bbfbd4345022ae22
https://github.com/llvm/llvm-project/commit/82fe79357f54d4db4c4e2c46bbfbd4345022ae22
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/AST/Interp/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
Log Message:
-----------
[gn] Port AST/ByteCode #104552
Commit: ce88ca928a29748f5fd179a3ab7f7039b3a311c4
https://github.com/llvm/llvm-project/commit/ce88ca928a29748f5fd179a3ab7f7039b3a311c4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/utils/TableGen/Common/DAGISelMatcher.h
Log Message:
-----------
[TableGen] Sign extend constants based on size for EmitIntegerMatcher. (#104550)
I'm planning to add a getSignedConstant to SelectionDAG and use it for
EmitInteger in SelectionDAGISel which already uses int64_t.
getSignedConstant will assert that the constant has the correct number
of significant bits for the VT.
This patch ensures that tablegen emits constants in this form.
Commit: 6fceb3e86591e9a111671b9b76e11262279d7bad
https://github.com/llvm/llvm-project/commit/6fceb3e86591e9a111671b9b76e11262279d7bad
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Add more tests for ConvertVectorToLLVM (4/n) (#103391)
Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
* vector.insertelement
* vector.insert
I have also renamed some function names from `@insert_element{}` to
`@insertelement{}` - that's to make a clearer distinction between
tests for `vector.insertelement` (tested by `@insertelement{}`) and
`vector.insert` (tested by `@insert_element{}`).
Commit: 4a57e834f7de83d85d994c63647aa957279c354e
https://github.com/llvm/llvm-project/commit/4a57e834f7de83d85d994c63647aa957279c354e
Author: Chris B <chris.bieneman at me.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_basic_types.h
A clang/test/SemaHLSL/Types/typedefs.hlsl
Log Message:
-----------
[HLSL] Flesh out basic type typedefs (#104479)
We had a few missing typedefs that are supported by DXC. Specifically
1-element vectors, size-explicit 32-bit types and size-explicit floating
point types.
This adds the typedefs and a test file that just verifies the expected
sizes and vector element counts.
I needed to add some of these missing typedefs to address #102964, and
thought instead I should try and be a bit comprehensive and put it in a
separate PR.
Nothing complicated here, just typedefs and static asserts to verify
them.
Commit: a434cac523da6db542350fd747967520aaae8fbb
https://github.com/llvm/llvm-project/commit/a434cac523da6db542350fd747967520aaae8fbb
Author: Fred Grim <fgrim at apple.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/elf-core/CMakeLists.txt
A lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp
Log Message:
-----------
[lldb] Add Populate Methods for ELFLinuxPrPsInfo and ELFLinuxPrStatus (#104109)
To create elf core files there are multiple notes in the core file that
contain these structs as the note. These populate methods take a Process
and produce fully specified structures that can be used to fill these
note sections. The pr also adds tests to ensure these structs are
correctly populated.
Commit: 42944da5ba7617bbc02f341e9ef401c325310a73
https://github.com/llvm/llvm-project/commit/42944da5ba7617bbc02f341e9ef401c325310a73
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
R mlir/test/Dialect/Vector/sink-vector-broadcast.mlir
M mlir/test/Dialect/Vector/vector-reduce-to-contract.mlir
A mlir/test/Dialect/Vector/vector-sink.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Group re-order patterns together (#102856)
Group all patterns that re-order vector.transpose and vector.broadcast
Ops (*) under `populateSinkVectorOpsPatterns`. These patterns are
normally used to "sink" redundant Vector Ops, hence grouping together.
Example:
```mlir
%at = vector.transpose %a, [1, 0]: vector<4x2xf32> to vector<2x4xf32>
%bt = vector.transpose %b, [1, 0]: vector<4x2xf32> to vector<2x4xf32>
%r = arith.addf %at, %bt : vector<2x4xf32>
```
would get converted to:
```mlir
%0 = arith.addf %a, %b : vector<4x2xf32>
%r = vector.transpose %0, [1, 0] : vector<2x4xf32>
```
This patch also moves all tests for these patterns so that all of them
are:
* run under one test-flag: `test-vector-sink-patterns`,
* located in one file: "vector-sink.mlir".
To facilitate this change:
* `-test-sink-vector-broadcast` is renamed as
`test-vector-sink-patterns`,
* "sink-vector-broadcast.mlir" is renamed as "vector-sink.mlir",
* tests for `ReorderCastOpsOnBroadcast` and
`ReorderElementwiseOpsOnTranspose` patterns are moved from
"vector-reduce-to-contract.mlir" to "vector-sink.mlir",
* `ReorderElementwiseOpsOnTranspose` patterns are removed from
`populateVectorReductionToContractPatterns` and added to (newly
created) `populateSinkVectorOpsPatterns`,
* `ReorderCastOpsOnBroadcast` patterns are removed from
`populateVectorReductionToContractPatterns` - these are already
present in `populateSinkVectorOpsPatterns`.
This should allow us better layering and more straightforward testing.
For the latter, the goal is to be able to easily identify which pattern
a particular test is exercising (especially when it's a specific
pattern).
NOTES FOR DOWNSTREAM USERS
In order to preserve the current functionality, please make sure to add
* `populateSinkVectorOpsPatterns`,
wherever you are using `populateVectorReductionToContractPatterns`.
Also, rename `populateSinkVectorBroadcastPatterns` as
`populateSinkVectorOpsPatterns`.
(*) I didn't notice any other re-order patterns.
Commit: b221c37082707e35b492baa9ae8045c56b3ced0b
https://github.com/llvm/llvm-project/commit/b221c37082707e35b492baa9ae8045c56b3ced0b
Author: R <rqou at berkeley.edu>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[RISCV] Allow YAML file to control multilib selection (#98856)
This changes the bare-metal driver logic such that it _always_ tries
multilib.yaml if it exists, and it falls back to the hardwired/default
RISC-V multilib selection only if a multilib.yaml doesn't exist. In
contrast, the current behavior is that RISC-V can never use
multilib.yaml, but other targets will try it if it exists.
The flags `-march=` and `-mabi=` are exposed for multilib.yaml to match
on. There is no attempt to help YAML file creators to duplicate the
existing hard-wired multilib reuse logic -- they will have to implement
it using `Mappings`.
This should be backwards-compatible with existing sysroots, as
multilib.yaml was previously never used for RISC-V, and the behavior
doesn't change after this PR if the file doesn't exist.
Commit: 1164e4aef2844ac3d35153ffe6376db9abda704a
https://github.com/llvm/llvm-project/commit/1164e4aef2844ac3d35153ffe6376db9abda704a
Author: stefankoncarevic <skoncare at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/dpp.mlir
Log Message:
-----------
[mlir][AMDGPU] Implement AMDGPU DPP operation in MLIR. (#89233)
Defined AMDGPU DPP operation in mlir to represent semantics. Introduced
a new enumeration attribute for different permutations and allowed for
different types of arguments. Implemented constant attribute handling
for ROCDL::DPPMovOp operation. The operation now correctly accepts
constant attributes for dppCtrl, rowMask, bankMask, boundCtrl, and
passes them to the corresponding LLVM intrinsic.
Commit: 7afb51e035709e7f2532452054a39fe968444504
https://github.com/llvm/llvm-project/commit/7afb51e035709e7f2532452054a39fe968444504
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG][X86] Add SelectionDAG::getSignedConstant and use it in a few places. (#104555)
PR #80309 proposes to have users of APInt's uint64_t
constructor opt-in to implicit truncation. Currently, that patch
requires SelectionDAG::getConstant to opt-in.
This patch adds getSignedConstant so we can start fixing some of the
cases that require implicit truncation.
Commit: 97f0ab71c002e8a14142be3a117b3091ab75c552
https://github.com/llvm/llvm-project/commit/97f0ab71c002e8a14142be3a117b3091ab75c552
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
A mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/invalid.mlir
A mlir/test/Target/Cpp/switch.mlir
Log Message:
-----------
[mlir][emitc] Add 'emitc.switch' op to the dialect (#102331)
This PR is continuation of the [previous
one](https://github.com/llvm/llvm-project/pull/101478). As a result, the
`emitc::SwitchOp` op was developed inspired by `scf::IndexSwitchOp`.
Main points of PR:
- Added the `emitc::SwitchOp` op to the EmitC dialect + CppEmitter
- Corresponding tests were added
- Conversion from the SCF dialect to the EmitC dialect for the op
Commit: ddda37a6c72f0d2fb315d53043ed5e7a39eddfe0
https://github.com/llvm/llvm-project/commit/ddda37a6c72f0d2fb315d53043ed5e7a39eddfe0
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Basic/SDNodeProperties.cpp
M llvm/utils/TableGen/Basic/SDNodeProperties.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M polly/lib/Support/GICHelper.cpp
Log Message:
-----------
[TableGen] Refactor Intrinsic handling in TableGen (#103980)
CodeGenIntrinsic changes:
- Use `const` Record pointers, and `StringRef` when possible.
- Default initialize several fields with their definition instead of in
the constructor.
- Simplify various string checks in the constructor using StringRef
starts_with()/ends_with() functions.
- Eliminate first argument to `setDefaultProperties` and use `TheDef`
class member instead.
IntrinsicEmitter changes:
- Emit `namespace llvm::Intrinsic` instead of nested namespaces.
- End generated comments with a .
- Use range based for loops, and early continue within loops.
- Emit `static constexpr` instead of `static const` for arrays.
- Change `compareFnAttributes` to use std::tie() to compare intrinsic
attributes and return a default value when all attributes are equal.
STLExtras:
- Add std::replace wrapper which takes a range.
Commit: d8c2874172ebe70d34c08dea5fcf885283c93562
https://github.com/llvm/llvm-project/commit/d8c2874172ebe70d34c08dea5fcf885283c93562
Author: earnol <earnol at users.noreply.github.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/test/CodeGen/bit-int-ubsan.c
Log Message:
-----------
[test] Prevent generation of the bigendian code inside clang test CodeGen/bit-int-ubsan.c (#104607)
Add missing -triple x86_64-pc-linux-gnu line into RUN line, which should be here.
---------
Co-authored-by: Eänolituri Lómitaurë <vladislav.aranov at ericsson.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Co-authored-by: Paul Kirth <paulkirth at google.com>
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 3f18a0a71cc29c502591a3d29a1845a011415f2a
https://github.com/llvm/llvm-project/commit/3f18a0a71cc29c502591a3d29a1845a011415f2a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[nfc] Improve testability of PGOInstrumentationGen (#104490)
Passing to the `PGOInstrumentationGen` pass whether it needs to produce contextual profiling instrumentation as a flag, in the process restructuring a bit the places that need to be aware of that (some were unnecessarily in `PGOInstrumentationUse`)
Commit: aba3476111fbc06f652453c13c99ca029646df47
https://github.com/llvm/llvm-project/commit/aba3476111fbc06f652453c13c99ca029646df47
Author: Luke Lau <luke at igalia.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
Log Message:
-----------
[RISCV] Move vmv.v.v peephole from SelectionDAG to RISCVVectorPeephole (#100367)
This is split off from #71764, and moves only the vmv.v.v part of
performCombineVMergeAndVOps to work on MachineInstrs.
In retrospect trying to handle PseudoVMV_V_V and PseudoVMERGE_VVM in the
same function makes the code quite hard to read, so this just does it in
a separate peephole.
This turns out to be simpler since for PseudoVMV_V_V we don't need to
convert the Src instruction to a masked variant, and we don't need to
create a fake all ones mask.
Commit: ab5102d61d1fc0b3b5f2dbaa268ffa5fef295cad
https://github.com/llvm/llvm-project/commit/ab5102d61d1fc0b3b5f2dbaa268ffa5fef295cad
Author: vporpo <vporpodas at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement AtomicRMWInst (#104529)
This patch implements sandboxir::AtomicRMWInst mirroring
llvm::AtomicRMWInst.
Commit: f668708796b981733a5816f2efed0d5195af923d
https://github.com/llvm/llvm-project/commit/f668708796b981733a5816f2efed0d5195af923d
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/include/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libc] Disable old headergen checks unless enabled (#104522)
Old Headergen needed extra build rules to ensure that it worked in
runtimes mode. This patch disables those checks if new headergen is
enabled. Also some new headers were not being properly built with
new headergen, and that's also fixed.
Commit: fbef911dc3ed5ab2c857736de9e68bec4c578410
https://github.com/llvm/llvm-project/commit/fbef911dc3ed5ab2c857736de9e68bec4c578410
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix cyclic dependencies for macos (#104528)
Similar to https://github.com/llvm/llvm-project/pull/104481. Replace
more "Utility" dependencies with "UtilityHeaders" to avoid cyclic
dependency when building on macos.
Commit: db279c72f2fea755c8e66cc1f0a69954764e9284
https://github.com/llvm/llvm-project/commit/db279c72f2fea755c8e66cc1f0a69954764e9284
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/CMakeLists.txt
A llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
A llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
A llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
Log Message:
-----------
[HLSL] Change default linkage of HLSL functions to internal (#95331)
An HLSL function has internal linkage by default unless it is:
1. shader entry point function
2. marked with the `export` keyword
(https://github.com/llvm/llvm-project/issues/92812)
3. patch constant function (not implemented yet)
This PR adds a link-time pass `DXILFinalizeLinkage` that updates the
linkage of functions to make sure only shader entry points and exported
functions are visible from the module (have _program linkage_). All
other functions will be updated to have internal linkage.
Related spec update: microsoft/hlsl-specs#295
Fixes #llvm/llvm-project#92071
Commit: 907c7eb311077c5da434bf67858b1173a351d800
https://github.com/llvm/llvm-project/commit/907c7eb311077c5da434bf67858b1173a351d800
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/heap-to-shared-missing-declarations.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
Log Message:
-----------
[Attributor] Enable `AAAddressSpace` in `OpenMPOpt` (#104363)
This reverts commit e592c2dcf5b7d2da6c2564f5d9990aa34079bad4.
We can finally reland the PR since the issue that caused the PR to be
reverted has been resolved in
https://github.com/llvm/llvm-project/pull/104051.
Commit: b81697718f49b0f353882e178f25981f47b2aa43
https://github.com/llvm/llvm-project/commit/b81697718f49b0f353882e178f25981f47b2aa43
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/APINotes/APINotesWriter.h
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
A clang/test/APINotes/Inputs/Headers/Fields.apinotes
A clang/test/APINotes/Inputs/Headers/Fields.h
M clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/fields.cpp
Log Message:
-----------
[APINotes] Support fields of C/C++ structs
This allows annotating fields of C/C++ structs using API Notes.
Previously API Notes supported Objective-C properties, but not fields.
rdar://131548377
Commit: 9f89d31d5185015f8eea9c0f3d35e7ba9d353e67
https://github.com/llvm/llvm-project/commit/9f89d31d5185015f8eea9c0f3d35e7ba9d353e67
Author: Kendal Harland <3987220+kendalharland at users.noreply.github.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/utils/lit/lit/formats/googletest.py
Log Message:
-----------
[lldb][test] Mark gtest cases as XFAIL if the test suite is XFAIL (#102986)
When a test case inside of a gtest suite fails, we report a failure
which causes the entire `ninja check-lldb` invocation to fail, even if
the outer test case is marked as XFAIL - each test case result is
reported as its own lit test run. This PR updates lit so it checks
whether each test case's parent test suite is XFAIL before setting the
status to FAIL.
This is especially problematic because the failing tests can't manually
be marked as XFAIL, due to
https://github.com/llvm/llvm-project/issues/102264.
Fixes https://github.com/llvm/llvm-project/issues/102265
### Repro instructions
1. Modify any gtest test case to generate a failure.
2. Mark the outer lit test with XFAIL using either `--xfail-tests` flag
or `LIT_XFAIL` env var.
3. Run the tests
4. Observe the lit test is XFAIL as expected, but the failed child test
cases show up as separate failures.
Co-authored-by: kendal <kendal at thebrowser.company>
Commit: 0551926fda739c1023a41978efb55047013e70d6
https://github.com/llvm/llvm-project/commit/0551926fda739c1023a41978efb55047013e70d6
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[Clang][OMPX] Add the code generation for multi-dim `thread_limit` clause (#102717)
Commit: 89a1f144f3890d9bd8ab30537b36f8c18038719b
https://github.com/llvm/llvm-project/commit/89a1f144f3890d9bd8ab30537b36f8c18038719b
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/objc-category-conflicts.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
M lld/test/MachO/objc-category-merging-minimal.s
M lld/test/MachO/objc-category-merging-swift.s
M lld/test/MachO/objc-relative-method-lists-simple.s
Log Message:
-----------
[LLD, MachO] Default objc_relative_method_lists on MacOS10.16+/iOS14+ (#104519)
This patch makes `-objc_relative_method_lists` default on MacOS
10.16+/iOS 14+. Manual override still work if command line argument is
provided.
To test this change, many explict arguments are removed from the test
files. Some explict `-objc_no_objc_relative_method_lists` are also added
for tests that don't support this yet.
This commit tries to revive #101360, which exposes a bug that breaks CI.
#104081 has fixed that bug.
Commit: 97919864ec9227001f7bcb5594197b304ace9482
https://github.com/llvm/llvm-project/commit/97919864ec9227001f7bcb5594197b304ace9482
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/include/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[libc] Disable old headergen checks unless enabled" (#104627)
Reverts llvm/llvm-project#104522
Caused crashes on Fuchsia
Commit: 8becb80c43d567d12126a539514040e93892ef1a
https://github.com/llvm/llvm-project/commit/8becb80c43d567d12126a539514040e93892ef1a
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
R llvm/test/CodeGen/AArch64/print-mrs-system-register.ll
R llvm/test/MC/AArch64/arm64-target-specific-sysreg.s
R llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/print-mrs.obj.macho-aarch64
R llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test
Log Message:
-----------
[AArch64] Remove apple-a7-sysreg. (#102709)
This feature provided CPM_IOACC_CTL_EL3, a lone system register that has
been carried over since the original ARM64 implementation, where it was
the only processor-specific register in a long list of architectural
sysregs. We don't need it here.
It's been used as a generic processor-specific sysreg in tests, but the
functionality they target is now better covered in other more exhaustive
tests.
Commit: f999b321d7317fa9e59ce597bd3d63b7035fe774
https://github.com/llvm/llvm-project/commit/f999b321d7317fa9e59ce597bd3d63b7035fe774
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILResourceAnalysis.h
Log Message:
-----------
[DirectX] Add missing Analysis usage to DXILResourceMDWrapper
This analysis can't be used with other analyses if this isn't set.
Pull Request: https://github.com/llvm/llvm-project/pull/104244
Commit: 535b209cb3b485a66083d7c4386c16c2df0000a8
https://github.com/llvm/llvm-project/commit/535b209cb3b485a66083d7c4386c16c2df0000a8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAGISel] Use getSignedConstant for OPC_EmitInteger.
Commit: 51ede55ee2acd3383d990c5fc8882d4b021b87b4
https://github.com/llvm/llvm-project/commit/51ede55ee2acd3383d990c5fc8882d4b021b87b4
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Analysis/DXILResource.cpp
A llvm/test/Analysis/DXILResource/buffer-frombinding.ll
Log Message:
-----------
Re-Apply "[DXIL][Analysis] Implement enough of DXILResourceAnalysis for buffers" (#104517)
Some build configs allow `llvm_unreachable` in a constexpr context, but
not all, so these functions that map a fully covered enum to a string
can't be constexpr. This version fixes that by dropping constexpr from
those functions.
This reverts commit fcc318ff7960d7de8cbac56eb4f32b44b5261677, reapplying
28d577ecefa1557f5dea5566bf33b885c563d14b.
Original message follows:
This implements the DXILResourceAnalysis pass for `dx.TypedBuffer` and
`dx.RawBuffer` types. This should be sufficient to lower
`dx.handle.fromBinding` for this set of types, but it leaves a number of
TODOs around for other resource types.
This also includes a straightforward `print` method in `ResourceInfo` to
make the analysis testable. This is deliberately different than the
printer in `lib/Target/DirectX/DXILResource.cpp`, which attempts to
print bindings in a format compatible with the comments `dxc` prints. We
will eventually want to make that functionality driven by this analysis
pass, but it isn't sufficient for testing so we need both.
Commit: 3e7ca5f1efabb488663caec371e408d74c634d84
https://github.com/llvm/llvm-project/commit/3e7ca5f1efabb488663caec371e408d74c634d84
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SDAG] Read-only intrinsics must have WillReturn and !Throws attributes to be treated as loads (#99999)
This change avoids deleting `!willReturn` intrinsics for which the
return value is unused when building the SDAG. Currently, calls to
read-only intrinsics not marked with `IntrWillReturn` cannot be deleted
at the LLVM IR level but may be deleted when building the SDAG.
These calls are unsafe to remove from the IR because the functions are
`!willReturn` and should also be unsafe to remove fromthe SDAG for
the same reason. This change aligns the behavior of the SDAG to that
of LLVM IR. This change also requires that intrinsics not have the
`Throws` attribute to be treated as loads for the same reason.
Commit: 3c603f857c26fd979ebff3a469c41ecc24bf548f
https://github.com/llvm/llvm-project/commit/3c603f857c26fd979ebff3a469c41ecc24bf548f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libcxx/test/support/platform_support.h
Log Message:
-----------
[libcxx][fix] Rename incorrect filename variable
Summary:
This used an old name I forgot to fix, linter didn't catch it because it
was behind `ifdef` and the branch which I tested it on I forgot to
update the one I landed.
Commit: 845461093c6275022e90fb6af15fc330b246b86a
https://github.com/llvm/llvm-project/commit/845461093c6275022e90fb6af15fc330b246b86a
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] Fix generated header definitions in cmake (#104628)
Some new headers were not being properly built with
new headergen, since they were using the old "add_gen_header" instead of
the new "add_header_macro". This patch fixes the issue.
Commit: ef56061dcfd162fa3ba9dafd05762707f4c30095
https://github.com/llvm/llvm-project/commit/ef56061dcfd162fa3ba9dafd05762707f4c30095
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Rename type helper functions in atomic handling
Requested on #95394
Commit: e6b9f12b0ac0f1e6f7f7145719092c10731e4fe4
https://github.com/llvm/llvm-project/commit/e6b9f12b0ac0f1e6f7f7145719092c10731e4fe4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/Types.cpp
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
[flang][cuda][driver] Make sure flang does not switch to cc1 (#104613)
Flang is switch to cc1 when we use `-x cuda`. Make sure we can use fc1
with cuda fortran input.
The current pipeline will fail at MLIR level for the moment.
#104483
Commit: 464fa3b3b047518699689b57c473c87701986593
https://github.com/llvm/llvm-project/commit/464fa3b3b047518699689b57c473c87701986593
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/docs/PointerAuth.md
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
A llvm/test/MC/AArch64/arm64e-authenticated-pointer-reloc.s
Log Message:
-----------
[AArch64][MachO] Encode @AUTH to ARM64_RELOC_AUTHENTICATED_POINTER.
This adds MachO support for emission of authenticated pointer
relocations.
We already support AArch64AuthMCExpr, to represent assembly expressions
such as:
.quad <symbol>@AUTH(<key>, <discriminator> [, addr])
For example:
.quad _g3 at AUTH(ib, 1234, addr)
These @AUTH expressions lower to a new kind of MachO relocation:
ARM64_RELOC_AUTHENTICATED_POINTER (11)
The relocation points to the referenced symbol.
The other data, describing the signing scheme and original addend
(only 32 bits instead of 64), is encoded into the addend (in the
relocated location):
|63|62|61-51|50-49| 48 |47 - 32|31 - 0|
| 1| 0| 0 | key | addr | discriminator | addend |
Commit: e315ba185b835c8ee520076b434377cfb7350067
https://github.com/llvm/llvm-project/commit/e315ba185b835c8ee520076b434377cfb7350067
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/Types.cpp
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Revert "[flang][cuda][driver] Make sure flang does not switch to cc1" (#104632)
Reverts llvm/llvm-project#104613
Commit: cf721e29c6a3f220bd66475b7d29aff7fe9d56e3
https://github.com/llvm/llvm-project/commit/cf721e29c6a3f220bd66475b7d29aff7fe9d56e3
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
A llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
Log Message:
-----------
[PowerPC] Do not merge TLS constants within PPCMergeStringPool.cpp (#94059)
This patch prevents thread-local constants to be merged within
PPCMergeStringPool.cpp.
The PPCMergeStringPool pass primarily merges non-thread-local constants
together, and thread-local constants should not be mixed together with
other (non-thread-local) constants. In the event that thread-local and
other non-thread-local constants are pooled together, the
llvm.threadlocal.address intrinsic can fail as it expects its argument
to be a thread-local global value, but the merged string structure
created by the PPCMergeStringPool pass is not thread-local as a whole.
Commit: 1aa8a6f6917edbdcad53afad3b00c7e86aa57ffe
https://github.com/llvm/llvm-project/commit/1aa8a6f6917edbdcad53afad3b00c7e86aa57ffe
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Compute cost for most opcodes in VPWidenRecipe (NFCI). (#98764)
Implement VPWidenRecipe::computeCost for most cases (except
UDiv,SDiv,URem,SRem which require additional logic).
Note that this specializes `::computeCost` instead of `::cost`, as
`VPRecipeBase::cost` is responsible for skipping cost-computations
for pre-computed recipes for now.
The most recent version of the VPlan-based cost model introduction
has been committed on Jul 10 (b841e2eca3b5c8b) and we should
probably give it at least a week in case additional mismatches surface.
PR: https://github.com/llvm/llvm-project/pull/98764
Commit: 71d54faa65f490f2a2825e591c3eb25ff7996221
https://github.com/llvm/llvm-project/commit/71d54faa65f490f2a2825e591c3eb25ff7996221
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
Log Message:
-----------
[DirectX] Revert specialized createOp methods part of #101250
In 8cf85653b6f5 "[DirectX] Make DXILOpBuilder's API more useable" we introduced
specialized createOp methods for each DirectX op for convenience, but the API
is buggy and untested. It also isn't actually as useful as I imagined it would
be since we don't have argument names or const-ness represented in DXIL.td
currently. Remove these methods for now and we can reintroduce them if we
actually need them later.
Pull Request: https://github.com/llvm/llvm-project/pull/104245
Commit: 7ff377ba60bf9e615f3efc60268fbd74b75e54c4
https://github.com/llvm/llvm-project/commit/7ff377ba60bf9e615f3efc60268fbd74b75e54c4
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/CFGPrinter.h
M llvm/unittests/Analysis/CMakeLists.txt
A llvm/unittests/Analysis/GraphWriterTest.cpp
Log Message:
-----------
[Analysis] Fix null ptr dereference when using WriteGraph without branch probability info (#104102)
The call to 'CFGInfo->getBPI()->getEdgeProbability(Node, SuccBB);' fails
when BPI is not provided. In this case we can give up and not print any
edge attributes.
---------
Co-authored-by: tnowicki <tnowicki.nowicki at amd.com>
Commit: f5b81aa6ec371c13794aac82eb246a1a92966b43
https://github.com/llvm/llvm-project/commit/f5b81aa6ec371c13794aac82eb246a1a92966b43
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
A llvm/test/Instrumentation/InstrProfiling/conditional-counter-updates.ll
Log Message:
-----------
[InstrProf] Support conditional counter updates (#102542)
This patch adds support for conditional counter updates in single byte
counters mode to reduce the write contention by first checking whether
the counter is set before overwriting it.
---------
Co-authored-by: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Commit: 0e4f7c7207d26e141e271dc88102905d14815596
https://github.com/llvm/llvm-project/commit/0e4f7c7207d26e141e271dc88102905d14815596
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port 7ff377ba60bf
Commit: 808933f60b574c45087d8255ff113083c4536d85
https://github.com/llvm/llvm-project/commit/808933f60b574c45087d8255ff113083c4536d85
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[MC] Drop whitespace padding in AMDGPU combined asm/disasm tests. (#104433)
A follow-up from
<https://github.com/llvm/llvm-project/pull/92895#discussion_r1684390909>.
Commit: af81b4f9f98f6ac89f876637f065d6525e374468
https://github.com/llvm/llvm-project/commit/af81b4f9f98f6ac89f876637f065d6525e374468
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/Types.cpp
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Reland "[flang][cuda][driver] Make sure flang does not switch to cc1 (#104613)"
Flang is switch to cc1 when we use `-x cuda`. Make sure we can use fc1
with cuda fortran input.
The current pipeline will fail at MLIR level for the moment.
Commit: 8c5d76ac508ece0b41cfd33247d1f0551c80a9e8
https://github.com/llvm/llvm-project/commit/8c5d76ac508ece0b41cfd33247d1f0551c80a9e8
Author: vporpo <vporpodas at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
Log Message:
-----------
[SandboxIR][Tracker][NFC] GenericSetterWithIdx (#104615)
This patch adds a generic change tracker class, similar to
GenericSetter, but for getter/setter functions that also take an index
argument. For example: `Foo:get(Idx)` and `Foo::set(Idx, Val)`. These
setter/getter patterns are common enough that using a common
implementation seems beneficial.
Commit: de9338fc625d8d67c18032492b2e743cd53f4b37
https://github.com/llvm/llvm-project/commit/de9338fc625d8d67c18032492b2e743cd53f4b37
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/Types.cpp
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Revert "Reland "[flang][cuda][driver] Make sure flang does not switch to cc1 (#104613)""
This reverts commit af81b4f9f98f6ac89f876637f065d6525e374468.
Commit: 1a8817aebe12b8d4708ee849fb8f792cffb7ae85
https://github.com/llvm/llvm-project/commit/1a8817aebe12b8d4708ee849fb8f792cffb7ae85
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Driver/Types.cpp
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Reland "[flang][cuda][driver] Make sure flang does not switch to cc1 (#104613)"
Flang is switch to cc1 when we use `-x cuda`. Make sure we can use fc1
with cuda fortran input.
The current pipeline will fail at MLIR level for the moment.
Commit: fd9aa5e40d903e8411b924d94348c0e348cf50db
https://github.com/llvm/llvm-project/commit/fd9aa5e40d903e8411b924d94348c0e348cf50db
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
[flang][cuda] Remove run line
Commit: 13779ec29ed724666407bd60f8c4cc8228107ea5
https://github.com/llvm/llvm-project/commit/13779ec29ed724666407bd60f8c4cc8228107ea5
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
R llvm/test/Assembler/getInt.ll
M llvm/unittests/IR/DataLayoutTest.cpp
Log Message:
-----------
[DataLayout] Refactor parsing of "p" specification (#104583)
Split off of #104545 to reduce patch size.
Similar to #104546, this introduces `parseSize` and `parseAlignment`,
which are improved versions of `getInt` tailored for specific needs.
I'm not a GTest guru, so the tests are not ideal.
Commit: 4a0bbbcbcf6ebc87e794e7b86b9f4651bffcd806
https://github.com/llvm/llvm-project/commit/4a0bbbcbcf6ebc87e794e7b86b9f4651bffcd806
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/full-non-schedulable-overlap.ll
Log Message:
-----------
[SLP]Fix PR104637: do not create new nodes for fully overlapped non-schedulable nodes
If the scalars do not require scheduling and were already vectorized,
but in the different order, compiler still tries to create the new node.
It may cause the compiler crash for the gathered operands. Instead need
to consider such nodes as full overlap and just reshuffle vectorized
node.
Fixes https://github.com/llvm/llvm-project/issues/104637
Commit: f33d519cd471b1eec41c8b26f892ddb66bf8144f
https://github.com/llvm/llvm-project/commit/f33d519cd471b1eec41c8b26f892ddb66bf8144f
Author: vporpo <vporpodas at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantInt (#104639)
This patch implements a very basic version of sandboxir::ConstantInt. It
is missing most of the factory functions present in llvm::ConstantInt,
but these will be added later.
Commit: 70995a1a3379ed3c21b1c5da6723f04166cb0ae6
https://github.com/llvm/llvm-project/commit/70995a1a3379ed3c21b1c5da6723f04166cb0ae6
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-load.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-store.ll
Log Message:
-----------
[ScalarizeMaskedMemIntr] Optimize splat non-constant masks (#104537)
In cases (like the ones added in the tests) where the condition of a
masked load or store is a splat but not a constant (that is, a masked
operation is being used to implement patterns like "load if the current
lane is in-bounds, otherwise return 0"), optimize the 'scalarized' code
to perform an aligned vector load/store if the splat constant is true.
Additionally, take a few steps to preserve aliasing information and
names when nothing is scalarized while I'm here.
As motivation, some LLVM IR users will genatate masked load/store in
cases that map to this kind of predicated operation (where either the
vector is loaded/stored or it isn't) in order to take advantage of
hardware primitives, but on AMDGPU, where we don't have a masked load or
store, this pass would scalarize a load or store that was intended to be
- and can be - vectorized while also introducing expensive branches.
Fixes #104520
Pre-commit tests at #104527
Commit: bd9f2c2ba095fa8345bba9f74b279ff20d5ddaab
https://github.com/llvm/llvm-project/commit/bd9f2c2ba095fa8345bba9f74b279ff20d5ddaab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
Log Message:
-----------
[libc] Add missing math definitions for round and scal for GPU (#104636)
Summary:
These can be enabled
Commit: ebe7265b142f370f0a563fece5db22f57383ba2d
https://github.com/llvm/llvm-project/commit/ebe7265b142f370f0a563fece5db22f57383ba2d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/test/CodeGen/Mips/Fast-ISel/bswap1.ll
Log Message:
-----------
[Mips] Fix fast isel for i16 bswap. (#103398)
We need to mask the SRL result to 8 bits before ORing in the SLL. This
is needed in case bits 23:16 of the input aren't zero. They will have
been shifted into bits 15:8.
We don't need to AND the result with 0xffff. It's ok if the upper 16
bits of the register are garbage.
Fixes #103035.
Commit: e4f3735d5f600b17b8f86956162d41ce82096685
https://github.com/llvm/llvm-project/commit/e4f3735d5f600b17b8f86956162d41ce82096685
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/basic/basic.start/basic.start.main/p3.cpp
Log Message:
-----------
[Clang] fix crash by avoiding invalidation of extern main declaration during strictness checks (#104594)
Fixes #104570
Commit: bfdeceada36c0f14a7bb2e264f0b801e442368a7
https://github.com/llvm/llvm-project/commit/bfdeceada36c0f14a7bb2e264f0b801e442368a7
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[NFC][cxxabi] Apply `cp-to-llvm.sh` (#101970)
Commit: 324b676a3d0449add8d4e24047680125f9b9a716
https://github.com/llvm/llvm-project/commit/324b676a3d0449add8d4e24047680125f9b9a716
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
Log Message:
-----------
Revert "[AArch64] Fold more load.x into load.i with large offset"
This reverts commit 43ffe2eed0d9f73789dbe213023733d164999306.
Reason: buildbot breakage starting at https://lab.llvm.org/buildbot/#/builders/85/builds/1102
I manually bisected and found that clang crashed with 43ffe2eed0d9f73789dbe213023733d164999306 but not the immediately preceding commit (33190490c667aaf8b08d5af8b8ce84524f856e80)
Commit: 5ef2456a438578b0783241a2744efc62d47e5ab6
https://github.com/llvm/llvm-project/commit/5ef2456a438578b0783241a2744efc62d47e5ab6
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] add support for enums comments in html generation (#101282)
Part of https://github.com/llvm/llvm-project/issues/101129
This patch adds support for attaching comments to enums for HTML in
clang-doc. It changes the enum generation to table tags where as
perviously we're using lists which is more in line with what other doc
generators are doing. It also gives clang-doc the ability to show user
specified enum values
Commit: 085b04b3a2e941a25cbf713cc3969c1254469289
https://github.com/llvm/llvm-project/commit/085b04b3a2e941a25cbf713cc3969c1254469289
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
A compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
Log Message:
-----------
[asan] Pre-commit test with global constructor without any global (#104620)
In this test `@initializer()` can access globals
outside of the module, but Asan does nothing to
detect that.
Commit: e169cc162adbe89d498e774bccf4e228af989849
https://github.com/llvm/llvm-project/commit/e169cc162adbe89d498e774bccf4e228af989849
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGenCXX/amdgpu-kernel-arg-pointer-type.cpp
Log Message:
-----------
[Clang] Fix sema checks thinking kernels aren't kernels (#104460)
Summary:
Currently we have some sema checks to make sure users don't apply
kernel-only attributes to non-kernel functions. However, this currently
did not correctly check for bare NVPTX / AMDGPU kernel attributes,
making it impossible to use them at all w/o CUDA enabled. This patch
fixes that by checking for the calling convention / attributes directly.
Commit: 516c1a0e9a7f101e678bcc61620ccdebd5ef83d1
https://github.com/llvm/llvm-project/commit/516c1a0e9a7f101e678bcc61620ccdebd5ef83d1
Author: vporpo <vporpodas at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement SwitchInst (#104641)
This patch implements sandboxir::SwitchInst mirroring llvm::SwitchInst.
Commit: 981191aa94bfd3fce0852ee2c8ff2b23aba5a4a6
https://github.com/llvm/llvm-project/commit/981191aa94bfd3fce0852ee2c8ff2b23aba5a4a6
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M flang/test/Lower/ident.f90
Log Message:
-----------
[flang] Allow flexible name in llvm.ident (NFC) (#104543)
Commit: cd3f48df82dae19493da838afd1c0aaf98c737eb
https://github.com/llvm/llvm-project/commit/cd3f48df82dae19493da838afd1c0aaf98c737eb
Author: Greg Roth <grroth at microsoft.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
Log Message:
-----------
[NFC][DXIL] move replace/erase in DXIL intrinsic expansion to caller (#104626)
All expansions end with replacing the previous inrinsic with the new
expansion and erasing the old one. By moving this operation to the
caller, these expansion functions can be called in more contexts and a
small amount of duplicated code is consolidated.
Pre-req for #88056
Commit: 8d8f56da3038dd8e36713f8a4926aeffd0f1f80b
https://github.com/llvm/llvm-project/commit/8d8f56da3038dd8e36713f8a4926aeffd0f1f80b
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/test/MC/AArch64/mapping-within-section.s
Log Message:
-----------
[MC,AArch64] Remove unneeded STT_NOTYPE/STB_LOCAL code for mapping symbols and improve tests
Commit: 4cf9a4266167c686e7e405ead5d6c1cd389eeca5
https://github.com/llvm/llvm-project/commit/4cf9a4266167c686e7e405ead5d6c1cd389eeca5
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Adjust requires clause wrapping (#101550) (#102078)
Address #101550 by adding OwnLineWithBrace option for RequiresClausePosition. This permits placing a following '{' on the same line as the requires clause.
Thus, instead of:
```
bool Foo ()
requires(true)
{
return true;
}
```
we have:
```
bool Foo ()
requires(true) {
return true;
}
```
If the function body is empty, we'll get:
```
bool Foo ()
requires(true) {}
```
I attempted to get a line break between the open and close braces, but
failed. Perhaps that's fine -- it's rare and only happens in the empty
body case.
Commit: 6e0fc155782ff5307245a85c7b037a2998ec6c86
https://github.com/llvm/llvm-project/commit/6e0fc155782ff5307245a85c7b037a2998ec6c86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove feature implication from Zvknhb.
We don't have feature implications on any other Zvk extensions and
we have error messages in RISCVISAInfo if Zve or V is not enabled.
I'm working on testing and refactoring in that code so I'd like to
make it consistent.
Commit: f44f02629274ea67aad23553ebc11042537758ad
https://github.com/llvm/llvm-project/commit/f44f02629274ea67aad23553ebc11042537758ad
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
Log Message:
-----------
[asan] Catch `initialization-order-fiasco` in modules without globals (#104621)
Those modules still can have global constructors and access
globals in other modules which are not initialized yet.
Commit: 1ff630d5c32e73f5346e5cac0392762c11d1323d
https://github.com/llvm/llvm-project/commit/1ff630d5c32e73f5346e5cac0392762c11d1323d
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/brkpt.ll
Log Message:
-----------
[LLVM][NVPTX] Add support for brkpt instruction (#104470)
This commit adds NVPTX codegen support for brkpt instruction
(https://docs.nvidia.com/cuda/parallel-thread-execution/#miscellaneous-instructions-brkpt)
with test under CodeGen/NVPTX/brkpt.ll
Commit: c51578eba1f88750ef189377b1bc848607449309
https://github.com/llvm/llvm-project/commit/c51578eba1f88750ef189377b1bc848607449309
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG][X86] Use getAllOnesConstant. NFC (#104640)
Part of an effort to make getConstant stricter about implicit truncation
when converting uint64_t to APInt.
Commit: 34f941a2f96b804dd24c2a25770d899b018339ff
https://github.com/llvm/llvm-project/commit/34f941a2f96b804dd24c2a25770d899b018339ff
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
Log Message:
-----------
Revert "[asan] Catch `initialization-order-fiasco` in modules without globals" (#104665)
Reverts llvm/llvm-project#104621
To many bots are broken, see #104621.
Commit: d257cd875873666d250e3fa7e95aafcd099f4e2f
https://github.com/llvm/llvm-project/commit/d257cd875873666d250e3fa7e95aafcd099f4e2f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M clang/test/CodeGen/sanitize-ignorelist-mainfile.c
Log Message:
-----------
[CodeGen][asan] Use `%t` instead of `cd` in test
Commit: 2f89c1c76ce22831bd7abebea99202a6d3313110
https://github.com/llvm/llvm-project/commit/2f89c1c76ce22831bd7abebea99202a6d3313110
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Remove duplicate code by using getAddressableLocalMemorySize (#104604)
Commit: 8041bf48337dcd8f02052c47b398216453e56168
https://github.com/llvm/llvm-project/commit/8041bf48337dcd8f02052c47b398216453e56168
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-16 (Fri, 16 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[NFC][asan] Make 'Module &M' class member
Commit: 067f2e9f18e1c92496202dc37428a89945f57c22
https://github.com/llvm/llvm-project/commit/067f2e9f18e1c92496202dc37428a89945f57c22
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Use getSignedConstant/getAllOnesConstant.
Commit: e6ceb29ab6bb5632cac79e99da4d248e9bb7d378
https://github.com/llvm/llvm-project/commit/e6ceb29ab6bb5632cac79e99da4d248e9bb7d378
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Use getAllOnesConstant/getSignedConstant.
Commit: cb7614e839148196c53711fdee639e6dff933a8d
https://github.com/llvm/llvm-project/commit/cb7614e839148196c53711fdee639e6dff933a8d
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalize-type-conversion.mlir
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Fix bug in `computeNecessaryMaterializations` (#104630)
There was a typo in the code path that removes unnecessary
materializations.
Before: Update `opResult` (result of an op different from `user`) in
mapping and remove `user`.
```
replaceMaterialization(rewriterImpl, opResult, inputOperands,
inverseMapping);
necessaryMaterializations.remove(materializationOps.lookup(user));
```
After: Update `user->getResults()` in mapping and remove `user`.
```
replaceMaterialization(rewriterImpl, user->getResults(), inputOperands,
inverseMapping);
necessaryMaterializations.remove(materializationOps.lookup(user));
```
Commit: fc6300a5f7ef430e4ec86d16be0b146de7fbd16b
https://github.com/llvm/llvm-project/commit/fc6300a5f7ef430e4ec86d16be0b146de7fbd16b
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
A llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.mir
Log Message:
-----------
[AMDGPU] Disable inline constants for pseudo scalar transcendentals (#104395)
Prevent operand folding from inlining constants into pseudo scalar
transcendental f16 instructions.
However still allow literal constants.
Commit: aad27bf534b59645f47a92f072af798687b1dd0d
https://github.com/llvm/llvm-project/commit/aad27bf534b59645f47a92f072af798687b1dd0d
Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Add non-temporal support for LLVM masked loads (#104598)
This PR is adding non-temporal support to masked load as a `UnitAttr`
attribute. Non temporal load is quite an important feature for masked
loads to make the intrinsic usable from high level compilers
Commit: 48ae61470104e9d7a8be5beb8739c24f52cc33c0
https://github.com/llvm/llvm-project/commit/48ae61470104e9d7a8be5beb8739c24f52cc33c0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
A llvm/test/Transforms/InstCombine/pr96012.ll
Log Message:
-----------
[InstCombine] Avoid infinite loop when negating phi nodes (#104581)
Closes https://github.com/llvm/llvm-project/issues/96012
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 0da2ba811ac8a01509bc533428941fb9519c0715
https://github.com/llvm/llvm-project/commit/0da2ba811ac8a01509bc533428941fb9519c0715
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/Statistic.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/BlockFrequencyInfo.h
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
M llvm/include/llvm/Analysis/CGSCCPassManager.h
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/CodeMetrics.h
M llvm/include/llvm/Analysis/ConstraintSystem.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/DomConditionCache.h
M llvm/include/llvm/Analysis/DomPrinter.h
M llvm/include/llvm/Analysis/DomTreeUpdater.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/InlineAdvisor.h
M llvm/include/llvm/Analysis/InlineOrder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/InteractiveModelRunner.h
M llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h
M llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/MustExecute.h
M llvm/include/llvm/Analysis/NoInferenceModelRunner.h
M llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h
M llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Analysis/RegionInfo.h
M llvm/include/llvm/Analysis/RegionPrinter.h
M llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/SyntheticCountsUtils.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/UniformityAnalysis.h
M llvm/include/llvm/Analysis/ValueLattice.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ValueLattice.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M mlir/include/mlir/Analysis/Presburger/Fraction.h
Log Message:
-----------
[NFC] Cleanup in ADT and Analysis headers. (#104484)
Remove unused directly includes and forward declarations in ADT and
Analysis headers.
Commit: 27d37ee4d067f42e9a46a0871d3cb961323e5c85
https://github.com/llvm/llvm-project/commit/27d37ee4d067f42e9a46a0871d3cb961323e5c85
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaAVR.h
M clang/include/clang/Sema/SemaBPF.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaHexagon.h
M clang/include/clang/Sema/SemaLoongArch.h
M clang/include/clang/Sema/SemaM68k.h
M clang/include/clang/Sema/SemaMIPS.h
M clang/include/clang/Sema/SemaMSP430.h
M clang/include/clang/Sema/SemaNVPTX.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenCL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaPPC.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Sema/SemaSwift.h
M clang/include/clang/Sema/SemaSystemZ.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/Sema/SemaX86.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaMIPS.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
Log Message:
-----------
[clang][NFC] Clean up `Sema` headers
When various `Sema*.h` and `Sema*.cpp` files were created, cleanup of
`Sema.h` includes and forward declarations was left for the later.
Now's the time. This commit touches `Sema.h` and Sema components:
1. Unused includes are removed.
2. Unused forward declarations are removed.
3. Missing includes are added (those files are largely IWYU-clean now).
4. Includes were converted into forward declarations where possible.
As this commit focuses on headers, all changes to `.cpp` files were
minimal, and were aiming at keeping everything buildable.
Commit: 362142c4bb5cc657151f592e507f552d5b9f7dde
https://github.com/llvm/llvm-project/commit/362142c4bb5cc657151f592e507f552d5b9f7dde
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M clang/test/CodeGen/aarch64-targetattr.c
A clang/test/Driver/aarch64-negative-modifiers-for-default-features.c
M clang/test/Driver/arm-sb.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a12.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a13.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a14.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/MC/AArch64/arm64-system-encoding.s
M llvm/test/MC/AArch64/armv8.5a-ssbs-error.s
M llvm/test/MC/AArch64/armv8.5a-ssbs.s
M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64] Add a check for invalid default features (#104435)
This adds a check that all ExtensionWithMArch which are marked as
implied features for an architecture are also present in the list of
default features. It doesn't make sense to have something mandatory but
not on by default.
There were a number of existing cases that violated this rule, and some
changes to which features are mandatory (indicated by the Implies
field).
This resulted in a bug where if a feature was marked as `Implies` but
was not added to `DefaultExt`, then for `-march=base_arch+nofeat` the
Driver would consider `feat` to have never been added and therefore
would do nothing to disable it (no `-target-feature -feat` would be
added, but the backend would enable the feature by default because of
`Implies`). See
clang/test/Driver/aarch64-negative-modifiers-for-default-features.c.
Note that the processor definitions do not respect the architecture
DefaultExts. These apply only when specifying `-march=<some architecture
version>`. So when a feature is moved from `Implies` to `DefaultExts` on
the Architecture definition, the feature needs to be added to all
processor definitions (that are based on that architecture) in order to
preserve the existing behaviour. I have checked the TRMs for many cases
(see specific commit messages) but in other cases I have just kept the
current behaviour and not tried to fix it.
Commit: 76161451f5ca837b25769c7d142f8271b45d9b28
https://github.com/llvm/llvm-project/commit/76161451f5ca837b25769c7d142f8271b45d9b28
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml/string.yaml
M libc/spec/bsd_ext.td
Log Message:
-----------
[libc] Fix type signature for strlcpy and strlcat (#104643)
Summary:
These should not be const on the destination pointer.
Commit: 16929219b056fdbf9e0c93092904f2c5cac8a66f
https://github.com/llvm/llvm-project/commit/16929219b056fdbf9e0c93092904f2c5cac8a66f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/test/CodeGen/AMDGPU/fail.llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
Log Message:
-----------
AMDGPU: Add tonearest and towardzero roundings for intrinsic llvm.fptrunc.round (#104486)
This work simplifies and generalizes the instruction definition for
intrinsic llvm.fptrunc.round. We no longer name the instruction with the
rounding mode. Instead, we introduce an immediate operand for the
rounding mode for the pseudo instruction. This immediate will be used to
set up the hardware mode register at the time the real instruction is
generated. We name the pseudo instruction as FPTRUNC_ROUND_F16_F32 (for
f32 -> f16), which is easy to generalize for other types.
"round.towardzero" and "round.tonearest" are added for f32 -> f16
truncating, in addition to the existing "round.upward" and
"round.downward". Other rounding modes are not supported by hardware at
this moment.
Commit: 0b092dfee3c5d9d7e4bde636330ce39a656ee676
https://github.com/llvm/llvm-project/commit/0b092dfee3c5d9d7e4bde636330ce39a656ee676
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
Log Message:
-----------
[X86] Don't save/restore fp around longjmp instructions (#102556)
Longjmp instructions can also modify fp register, it is expected
behavior. We should not save/restore fp around these instructions.
Commit: 107f3efdbedeecf4768fc0387db929e51ce96f85
https://github.com/llvm/llvm-project/commit/107f3efdbedeecf4768fc0387db929e51ce96f85
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/machine-csr-names-invalid.s
M llvm/test/MC/RISCV/rv32-only-csr-names.s
Log Message:
-----------
[RISCV][MC] Make error message of CSR with wrong extension more detailed (#104424)
Make the error message of lacking an extension for a CSR more
detailed and update related tests
Commit: f620c5b692dd0bc08692979236073db0db27f0fc
https://github.com/llvm/llvm-project/commit/f620c5b692dd0bc08692979236073db0db27f0fc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Classify 1-bit unsigned integers as bool (#104662)
This happens for enum types with bool parent types. isBooleanType()
returns false for them however.
The previous version did the same thing by re-classifying the enum
integer type, but that breaks with forward-declared enums.
Commit: b21b907aeb36a4ce6b403944e9c440a3bba5c3e0
https://github.com/llvm/llvm-project/commit/b21b907aeb36a4ce6b403944e9c440a3bba5c3e0
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/data08.f90
Log Message:
-----------
[flang] Handle Hollerith in data statement initialization in big endian (#103451)
Update to read the Hollerith literal in reverse order for big endian
environment.
Commit: 555399d562201f3114fb22f883cd1b6710af1a0d
https://github.com/llvm/llvm-project/commit/555399d562201f3114fb22f883cd1b6710af1a0d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Fix shifting negative values (#104663)
Commit: 69f76c782b554a004078af6909c19a11e3846415
https://github.com/llvm/llvm-project/commit/69f76c782b554a004078af6909c19a11e3846415
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Recognize the -rpath option (#102886)
GNU ld silently accepts the -rpath option for Windows targets, as a
no-op.
This has lead to some build systems (and users) passing this option
while building for Windows/MinGW, even if Windows doesn't have any
concept like rpath.
Older versions of Conan did include -rpath in the pkg-config files it
generated, see e.g.
https://github.com/conan-io/conan/blob/17c58f0c61931f9de218ac571cd97a8e0befa68e/conans/client/generators/pkg_config.py#L104-L114
and
https://github.com/conan-io/conan/blob/17c58f0c61931f9de218ac571cd97a8e0befa68e/conans/client/build/compiler_flags.py#L26-L34
- and see https://github.com/mstorsjo/llvm-mingw/issues/300 for user
reports about this issue.
Recognize the option in LLD for MinGW targets, to improve drop-in
compatibility compared to GNU ld, but produce a warning to alert users
that the option really has no effect for these targets.
Commit: f7d94b783f62f61cb9085adaa71e1ffa95918bcc
https://github.com/llvm/llvm-project/commit/f7d94b783f62f61cb9085adaa71e1ffa95918bcc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Use getAllOnesConstant.
Commit: efa859cd3e195bc4c377e8acf21d45fa410c63b6
https://github.com/llvm/llvm-project/commit/efa859cd3e195bc4c377e8acf21d45fa410c63b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[ARM] Use SelectonDAG::getSignedConstant.
Commit: 69115cce29d5dbbdacaa05aaedc89810aa58ef0c
https://github.com/llvm/llvm-project/commit/69115cce29d5dbbdacaa05aaedc89810aa58ef0c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Use SelectionDAG::getSignedConstant/getAllOnesConstant.
Commit: 27a62ec72aed3faf1388600f485552471b580e3b
https://github.com/llvm/llvm-project/commit/27a62ec72aed3faf1388600f485552471b580e3b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Transforms/Scalar.h
A llvm/include/llvm/Transforms/Scalar/LoopTermFold.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/CMakeLists.txt
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/lib/Transforms/Scalar/LoopTermFold.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold-negative-testcase.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-unreachable-bb-phi-node.ll
Log Message:
-----------
[LSR] Split the -lsr-term-fold transformation into it's own pass (#104234)
This transformation doesn't actually use any of the internal state of
LSR and recomputes all information from SCEV. Splitting it out makes
it easier to test.
Note that long term I would like to write a version of this transform
which *is* integrated with LSR's solver, but if that happens, we'll
just delete the extra pass.
Integration wise, I switched from using TTI to using a pass configuration
variable. This seems slightly more idiomatic, and means we don't run
the extra logic on any target other than RISCV.
Commit: addeb22f109158921bae9d91fb76eda99081fa82
https://github.com/llvm/llvm-project/commit/addeb22f109158921bae9d91fb76eda99081fa82
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Log Message:
-----------
[gn build] Port 27a62ec72aed
Commit: f499a3fe5fb6fd816d35b541e67a3761093cfded
https://github.com/llvm/llvm-project/commit/f499a3fe5fb6fd816d35b541e67a3761093cfded
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/VE/VECustomDAG.cpp
M llvm/lib/Target/VE/VEInstrInfo.td
Log Message:
-----------
[VE] Use SelectionDAG::getSignedConstant/getAllOnesConstant.
Commit: c4c9f39ba46b52ea88dffd54217f0205788751c6
https://github.com/llvm/llvm-project/commit/c4c9f39ba46b52ea88dffd54217f0205788751c6
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
Log Message:
-----------
[MLIR][OpenMP] Fix MLIR->LLVM value matching in privatization logic (#103718)
Fixes #102935
Updates matching logic for finding the LLVM value that corresponds to an
MLIR value. We need that matching to find the delayed privatizer for an
LLVM value being privatized.
The issue occures when there is an "indirect" correspondence between
MLIR and LLVM values: in some cases the values we are trying to match
stem from a pair of load/store ops that point to the same memref. This
PR adds such matching logic.
Commit: 93ab50ab3530d82579062fc471f5e91c42eacdde
https://github.com/llvm/llvm-project/commit/93ab50ab3530d82579062fc471f5e91c42eacdde
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
Log Message:
-----------
[APInt] Replace enum with static constexpr member variables. NFC
With C++17 we no longer need the enum to prevent ODR use.
Commit: 88f801037338a2c273a8f6dea8ebcb0c48a2cc06
https://github.com/llvm/llvm-project/commit/88f801037338a2c273a8f6dea8ebcb0c48a2cc06
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Correct typo in ReleaseNotes.rst (#104674)
Commit: e994494a590ea14d4bc9bf14b6cd7b8bc7ce06b6
https://github.com/llvm/llvm-project/commit/e994494a590ea14d4bc9bf14b6cd7b8bc7ce06b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] Use MathExtras helpers to simplify code. NFC (#104691)
Commit: e59c8241fa6a5a9c8f9175b0ed7b0dfdb5c945cf
https://github.com/llvm/llvm-project/commit/e59c8241fa6a5a9c8f9175b0ed7b0dfdb5c945cf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-17 (Sat, 17 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Remove unused tablegen classes from unratified Zbp instructions. NFC
These weren't removed when we removed Zbp.
Commit: 07bd3bb9b7eb34426a81de2b988f53f08611ab35
https://github.com/llvm/llvm-project/commit/07bd3bb9b7eb34426a81de2b988f53f08611ab35
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode][NFC] Improve Pointer::print()
Do not access PointeeStorage.BS.Pointee if we have a non-block pointer
and extend printing to handle function pointers as well.
Commit: dac182990dabe8d15cfb8079aba68df2ded015aa
https://github.com/llvm/llvm-project/commit/dac182990dabe8d15cfb8079aba68df2ded015aa
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/codegen.c
Log Message:
-----------
[clang][bytecode] IntPointer::atOffset() should append (#104686)
... to current offset. This breaks other tests which this commit also
fixes. Namely, getIndex() should return the integer representation for
non-block pointers.
Commit: 11259343593043c77678b59d420159fcd147a858
https://github.com/llvm/llvm-project/commit/11259343593043c77678b59d420159fcd147a858
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/Analysis/builtin_signbit.cpp
M clang/test/Sema/constant-builtins-2.c
Log Message:
-----------
[Clang] `constexpr` builtin floating point classification / comparison functions (#94118)
As per [P0533R9](https://wg21.link/P0533R9), the corresponding C++
`[c.math.fpclass]` standard library functions for the C macros are now
`constexpr`.
The only classification function that wasn't already `constexpr` was
`__builtin_signbit`.
The floating point comparison functions `__builtin_isgreater`,
`__builtin_isgreaterequal`, `__builtin_isless`, `__builtin_islessequal`,
`__builtin_islessgreater` and `__builtin_isunordered` are now
`constexpr`.
The C23 macro `iseqsig` is not currently supported because
`__bulitin_iseqsig` doesn't exist yet (and C++26 is still currently
based on C18).
This also allows them to be constant folded in C, matching the behaviour
of GCC.
Commit: 10fe531d6c9d46fb9584d33782f26d27887c72fd
https://github.com/llvm/llvm-project/commit/10fe531d6c9d46fb9584d33782f26d27887c72fd
Author: David Green <david.green at arm.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
Log Message:
-----------
[GlobalISel] Add and use an Opcode variable and update match-table-cxx.td checks. NFC
Commit: c4092d326ae4989f54c5f01d3a077841fd76bc2f
https://github.com/llvm/llvm-project/commit/c4092d326ae4989f54c5f01d3a077841fd76bc2f
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Sema/c2x-nodiscard.c
Log Message:
-----------
[Clang] warn on discarded [[nodiscard]] function results after casting in C (#104677)
Fixes #104391
Commit: 71801707e33c235656b172fa7dfb8662473a95c2
https://github.com/llvm/llvm-project/commit/71801707e33c235656b172fa7dfb8662473a95c2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/test/Sema/constant-builtins-2.c
Log Message:
-----------
[clang][test] Remove bytecode interpreter RUN line from test
Specifically, from constant-builtins2. This breaks runners using
sanitizers.
See https://github.com/llvm/llvm-project/pull/94118
Commit: e9e3a183d6d8d8729223b7131aa57fd9f02f0440
https://github.com/llvm/llvm-project/commit/e9e3a183d6d8d8729223b7131aa57fd9f02f0440
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
Log Message:
-----------
[LV] Don't cost branches and conditions to empty blocks.
Update the legacy cost model skip branches with successors blocks
that are empty or only contain dead instructions, together with their
conditions. Such branches and conditions won't result in any
generated code and will be cleaned up by VPlan transforms.
This fixes a difference between the legacy and VPlan-based cost model.
When running LV in its usual pipeline position, such dead blocks should
already have been cleaned up, but they might be generated manually or by
fuzzers.
Fixes https://github.com/llvm/llvm-project/issues/100591.
Commit: ff80e1ffe79d893be990cda981526a321697eb9a
https://github.com/llvm/llvm-project/commit/ff80e1ffe79d893be990cda981526a321697eb9a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll
Log Message:
-----------
[InstSimplify] Simplify `uadd.sat(X, Y) u>= X + Y` and `usub.sat(X, Y) u<= X, Y` (#104698)
These patterns are found in harfbuzz/typst.
Alive2: https://alive2.llvm.org/ce/z/cxyjYV
Commit: 29811a81f77c22523dbfffbd2d39ac731baea37b
https://github.com/llvm/llvm-project/commit/29811a81f77c22523dbfffbd2d39ac731baea37b
Author: PaulXiCao <paulxicao7 at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx17.rst
Log Message:
-----------
[libc++][docs] Fixing hyperlink for mathematical special function documentation (#104444)
Inter-documentation link for progress tracking of mathematical special
function is fixed.
Commit: 6ed2a6bf0d26122210c8732d80431529784c4000
https://github.com/llvm/llvm-project/commit/6ed2a6bf0d26122210c8732d80431529784c4000
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/lib/Evaluate/integer.cpp
Log Message:
-----------
[Flang]: Use actual endianness for Integer<80> (#103928)
This PR is to use the actual endianness of the platform when instantiate
Integer<80> so that AIX (big-endian) will not get confused.
Commit: d082f1f37d8cb7a0c6875537ba873a631b154d53
https://github.com/llvm/llvm-project/commit/d082f1f37d8cb7a0c6875537ba873a631b154d53
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
Log Message:
-----------
[clang][bytecode] Only booleans can be inverted
No need to have the Inv() function be templated.
Commit: e05307f6633ca405834a4fd24d858ffb676c9170
https://github.com/llvm/llvm-project/commit/e05307f6633ca405834a4fd24d858ffb676c9170
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Avoid multiple calls to getCurrentDirective in DSAChecker, NFC
Commit: dd40632b52d8da2146a12254afc900315ac3c2e4
https://github.com/llvm/llvm-project/commit/dd40632b52d8da2146a12254afc900315ac3c2e4
Author: c8ef <c8ef at outlook.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
[clang] fix divide by zero in ComplexExprEvaluator (#104666)
fix: #55390.
---------
Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>
Commit: bbcb625798514f1cd6ef04818381d38ea26b23e5
https://github.com/llvm/llvm-project/commit/bbcb625798514f1cd6ef04818381d38ea26b23e5
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp
Log Message:
-----------
[clang-tidy] Support member functions with modernize-use-std-print/format (#104675)
These checks can be made to work on member functions quite easily and
it's not unknown to have at least printf-style functions as members.
Let's remove the restriction.
Commit: de5ea2d122c31e1551654ff506c33df299f351b8
https://github.com/llvm/llvm-project/commit/de5ea2d122c31e1551654ff506c33df299f351b8
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Change /* ParamName */ to /*ParamName=*/, NFC
Change
foo(/* Index */ 0);
to
foo(/*Index=*/0);
There was a mix of these two formats in the source. Clang-format treats
the latter one a bit better, so use that one consistently.
Commit: bcbe9d6c776bc02bfe8f911607240af0d1775d79
https://github.com/llvm/llvm-project/commit/bcbe9d6c776bc02bfe8f911607240af0d1775d79
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
[Clang] Do not allow `[[clang::lifetimebound]]` on explicit object member functions (#96113)
Previously, `[[clang::lifetimebound]]` applied to an explicit object
member function did nothing and was silently ignored.
Now issue the error diagnostic `'lifetimebound' attribute cannot be
applied; explicit object member function has no implicit object
parameter`
Commit: 0d150db214e2aa13a825b563c7238e1243d61db1
https://github.com/llvm/llvm-project/commit/0d150db214e2aa13a825b563c7238e1243d61db1
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
R clang/include/clang/Rewrite/Core/DeltaTree.h
M clang/include/clang/Rewrite/Core/HTMLRewrite.h
R clang/include/clang/Rewrite/Core/RewriteBuffer.h
R clang/include/clang/Rewrite/Core/RewriteRope.h
M clang/include/clang/Rewrite/Core/Rewriter.h
M clang/lib/ARCMigrate/ARCMT.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Rewrite/CMakeLists.txt
R clang/lib/Rewrite/DeltaTree.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
R clang/lib/Rewrite/RewriteRope.cpp
M clang/lib/Rewrite/Rewriter.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/unittests/Rewrite/CMakeLists.txt
R clang/unittests/Rewrite/RewriteBufferTest.cpp
A llvm/include/llvm/ADT/DeltaTree.h
A llvm/include/llvm/ADT/RewriteBuffer.h
A llvm/include/llvm/ADT/RewriteRope.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/DeltaTree.cpp
A llvm/lib/Support/RewriteBuffer.cpp
A llvm/lib/Support/RewriteRope.cpp
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/RewriteBufferTest.cpp
Log Message:
-----------
[llvm][clang] Move RewriterBuffer to ADT. (#99770)
These classes are not specific to clang and useful for other rewriter
tools (flagged in previous review).
Commit: a28c20244242e6f4faad3e8ac673cb8f972c9d7a
https://github.com/llvm/llvm-project/commit/a28c20244242e6f4faad3e8ac673cb8f972c9d7a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Rewrite/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Rewrite/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port 0d150db214e2
Commit: caa1070b1c880627b223dc3884860a64e4b510c7
https://github.com/llvm/llvm-project/commit/caa1070b1c880627b223dc3884860a64e4b510c7
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[HIP] search fatbin symbols for libs passed by -l (#104638)
For -fgpu-rdc linking, clang needs to collect undefined fatbin symbols
and resolve them to the embedded fatbin.
This has been done for object files and archive files passed as input
files to clang.
However, the same action is not performed for archive files passed
through -l options, which causes missing symbols.
This patch adds that.
Commit: 5c13f9aea280f1d499be7eca45b85371b0240c48
https://github.com/llvm/llvm-project/commit/5c13f9aea280f1d499be7eca45b85371b0240c48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M libc/startup/gpu/amdgpu/start.cpp
Log Message:
-----------
[libc] Add single threaded kernel attributes to AMDGPU startup utility (#104651)
Summary:
I fixed the errors here recently so I can actually use these. This
shouldn't impact much, just should hopefully make the code generated
slightly better.
Commit: deb6b45c32687275a6d4e24326ffc9700f8ae52c
https://github.com/llvm/llvm-project/commit/deb6b45c32687275a6d4e24326ffc9700f8ae52c
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/src/math/CMakeLists.txt
A libc/benchmarks/gpu/src/math/atan2_benchmark.cpp
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
Log Message:
-----------
[libc][gpu] Add Atan2 Benchmarks (#104708)
This PR adds benchmarking for `atan2()`, `__nv_atan2()`, and
`__ocml_atan2_f64()` using the same setup as `sin()`. This PR also adds
support for throughout bencmarking for functions with 2 inputs.
Commit: 79d021116d8434d28e179660d31f4bd6cdbccd62
https://github.com/llvm/llvm-project/commit/79d021116d8434d28e179660d31f4bd6cdbccd62
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
A llvm/test/MC/ELF/relax-branch.s
Log Message:
-----------
[MC] Add test that requires multiple relaxation steps
This can catch the code size regression
due to the reverted be5a845e4c29aadb513ae6e5e2879dccf37efdbb
("[MC] Compute fragment offsets eagerly").
Commit: bf5cd4220d20d0ee5533d55f463612fbe2980071
https://github.com/llvm/llvm-project/commit/bf5cd4220d20d0ee5533d55f463612fbe2980071
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
Log Message:
-----------
[MIPS] Remove expensive LLVM_DEBUG relocation dump
The input is usually ordered by offset, so inspecting the output is
sufficient. The super expensive relocation dump is not conventional.
Commit: 3496245ed3d0b4d24444260da77dcdb93512fb5a
https://github.com/llvm/llvm-project/commit/3496245ed3d0b4d24444260da77dcdb93512fb5a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Change GNU style language standard to LS_Latest (#104669)
Fixes #104655.
Commit: 0224d8355d84b3eee2390cd13bb0b749ba40b0db
https://github.com/llvm/llvm-project/commit/0224d8355d84b3eee2390cd13bb0b749ba40b0db
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M clang/tools/scan-build/man/scan-build.1
Log Message:
-----------
Update Clang version from 19 to 20 in scan-build.1.
Similar to D110763.
Commit: 70f3863b5f30e856278f399b068a30bc4d5d16c2
https://github.com/llvm/llvm-project/commit/70f3863b5f30e856278f399b068a30bc4d5d16c2
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG][PatternMatch] Add support for matchers with flags; NFC
Add support for matching with `SDNodeFlags` i.e `add` with `nuw`.
This patch adds helpers for `or disjoint` or `zext nneg` with the same
names as we have in IR/PatternMatch api.
Closes #103060
Commit: c6e16a49ef41261b01aabc27f4b806af6cc81a20
https://github.com/llvm/llvm-project/commit/c6e16a49ef41261b01aabc27f4b806af6cc81a20
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add support for inferring attr `cold`/`noreturn` on `std::terminate` and `__cxa_throw`
These functions are both inherently on the error path so `cold` seems
appropriate. `noreturn` is definitional.
Closes #101622
Commit: 1a6bf94407af7962345ffaf6ac9e9a9766fd8913
https://github.com/llvm/llvm-project/commit/1a6bf94407af7962345ffaf6ac9e9a9766fd8913
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
Log Message:
-----------
[MC] Remove ELFRelocationEntry::OriginalAddend
For MIPS's o32 ABI (REL), https://reviews.llvm.org/D19718 introduced
`OriginalAddend` to find the matching R_MIPS_LO16 relocation for
R_MIPS_GOT16 when STT_SECTION conversion is applicable.
lw $2, %lo(local1)
lui $2, %got(local1)
However, we could just store the original `Addend` in
`ELFRelocationEntry` and remove `OriginalAddend`.
Note: The relocation ordering algorithm in
https://reviews.llvm.org/D19718 is inefficient (#104562), which will be
addressed by another patch.
Commit: f16125a13ce725b1e936468e08257c0fbb80c0fa
https://github.com/llvm/llvm-project/commit/f16125a13ce725b1e936468e08257c0fbb80c0fa
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
A llvm/test/CodeGen/X86/fold-loop-of-urem.ll
A llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
[CodeGenPrepare][X86] Add tests for folding `urem` with loop invariant value; NFC
Commit: c64ce8bf283120fd145a57d0e61f9697f719139d
https://github.com/llvm/llvm-project/commit/c64ce8bf283120fd145a57d0e61f9697f719139d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
[CodeGenPrepare] Folding `urem` with loop invariant value
```
for(i = Start; i < End; ++i)
Rem = (i nuw+ IncrLoopInvariant) u% RemAmtLoopInvariant;
```
->
```
Rem = (Start nuw+ IncrLoopInvariant) % RemAmtLoopInvariant;
for(i = Start; i < End; ++i, ++rem)
Rem = rem == RemAmtLoopInvariant ? 0 : Rem;
```
In its current state, only if `IncrLoopInvariant` and `Start` both
being zero.
Alive2 seemed unable to prove this (see:
https://alive2.llvm.org/ce/z/ATGDp3 which is clearly wrong but still
checks out...) so wrote an exhaustive test here:
https://godbolt.org/z/WYa561388
Closes #96625
Commit: 7d5281a66d5d42c65cfb9d95eaf9aa01afb089fb
https://github.com/llvm/llvm-project/commit/7d5281a66d5d42c65cfb9d95eaf9aa01afb089fb
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
Log Message:
-----------
[AMDGPU][NFC] Fix preload-kernarg.ll test after attributor move (#98840)
Update was to stale version of the test with missing functions and extra
runlines that had been removed.
Commit: 4eefc8d4cee1808f44710622c8c3b66281feb8a3
https://github.com/llvm/llvm-project/commit/4eefc8d4cee1808f44710622c8c3b66281feb8a3
Author: Bimo <rui.xu at intel.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/python/mlir/dialects/tensor.py
M mlir/test/python/dialects/linalg/opdsl/emit_matmul.py
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[MLIR][Python] enhance python api for tensor.empty (#103087)
Since we have extended `EmptyOp`, maybe we should also provide a
corresponding `tensor.empty` method. In the downstream usage, I tend to
use APIs with all lowercase letters to create ops, so having a
`tensor.empty` to replace the extended `tensor.EmptyOp` would keep my
code style consistent.
Commit: 7f87b5bf0e2f0e01735e5abe724d7fe5c69d202e
https://github.com/llvm/llvm-project/commit/7f87b5bf0e2f0e01735e5abe724d7fe5c69d202e
Author: Tianqing Wang <tianqing.wang at intel.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/unpredictable-brcond.ll
Log Message:
-----------
[SelectionDAG][X86] Preserve unpredictable metadata for conditional branches in SelectionDAG, as well as JCCs generated by X86 backend. (#102101)
This builds on 09515f2c2, which preserves unpredictable metadata in
CodeGen for `select`. This patch does it for conditional branches.
Commit: 731ae694a3d8f4d39e855c9a82c97d4f170fd48a
https://github.com/llvm/llvm-project/commit/731ae694a3d8f4d39e855c9a82c97d4f170fd48a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
Revert "[CodeGenPrepare] Folding `urem` with loop invariant value"
This reverts commit c64ce8bf283120fd145a57d0e61f9697f719139d.
Seems to be causing stage2 failures on buildbots. Reverting while I
investigate.
Commit: a80a90e34b1f26422ebf56e922abe2c193607c81
https://github.com/llvm/llvm-project/commit/a80a90e34b1f26422ebf56e922abe2c193607c81
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/rvv/zvbc.s
A llvm/test/MC/RISCV/rvv/zvkgs.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Support experimental extensions Zvbc32e and Zvkgs (#103709)
These two extensions add addtional instructions for carryless
multiplication with 32-bits elements and Vector-Scalar GCM
instructions.
Please see https://github.com/riscv/riscv-isa-manual/pull/1306.
Commit: 82fdfd4aa7f60b1f8e715211b925a7f2bfe57ea9
https://github.com/llvm/llvm-project/commit/82fdfd4aa7f60b1f8e715211b925a7f2bfe57ea9
Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/TableGen/Error.cpp
Log Message:
-----------
[TableGen] Print Error and not crash on dumping non-string values (#104568)
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: 7faf1a0868cb6a6a05e454044239292c454e0a71
https://github.com/llvm/llvm-project/commit/7faf1a0868cb6a6a05e454044239292c454e0a71
Author: Daniel Cederman <cederman at gaisler.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
M llvm/lib/Target/Sparc/LeonFeatures.td
M llvm/lib/Target/Sparc/LeonPasses.cpp
M llvm/lib/Target/Sparc/LeonPasses.h
M llvm/lib/Target/Sparc/Sparc.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
A llvm/test/CodeGen/SPARC/tn0009.mir
A llvm/test/CodeGen/SPARC/tn0010.mir
A llvm/test/CodeGen/SPARC/tn0011.ll
A llvm/test/CodeGen/SPARC/tn0012.mir
A llvm/test/CodeGen/SPARC/tn0013.mir
Log Message:
-----------
[Sparc] Add errata workaround pass for GR712RC and UT700 (#103843)
This patch adds a pass that provides workarounds for the errata
described in GRLIB-TN-0009, GRLIB-TN-0010, GRLIB-TN-0011, GRLIB-TN-0012,
and GRLIB-TN-0013, that are applicable to the GR712RC and UT700. The
documents are available for download from here:
https://www.gaisler.com/index.php/information/app-tech-notes
The pass will detect certain sensitive instruction sequences and prevent
them from occurring by inserting NOP instruction. Below is an overview
of each of the workarounds. A similar implementation is available in
GCC.
GRLIB-TN-0009:
* Insert NOPs to prevent the sequence (stb/sth/st/stf) -> (single
non-store/load instruction) -> (any store)
* Insert NOPs to prevent the sequence (std/stdf) -> (any store)
GRLIB-TN-0010:
* Insert a NOP between load instruction and atomic instruction (swap and
casa).
* Insert a NOP at branch target if load in delay slot and atomic
instruction at branch target.
* Do not allow functions to begin with atomic instruction.
GRLIB-TN-0011:
* Insert .p2align 4 before atomic instructions (swap and casa).
GRLIB-TN-0012:
* Place a NOP at the branch target of an integer branch if it is a
floating-point operation or a floating-point branch.
GRLIB-TN-0013:
* Prevent (div/sqrt) instructions in the delay slot.
* Insert NOPs to prevent the sequence (div/sqrt) -> (two or three
floating point operations or loads) -> (div/sqrt).
* Do not insert NOPs if any of the floating point operations have a
dependency on the destination register of the first (div/sqrt).
* Do not insert NOPs if one of the floating point operations is a
(div/sqrt).
* Insert NOPs to prevent (div/sqrt) followed by a branch.
Commit: f802c39cea29d587ba4db6f71352e3f11a994a89
https://github.com/llvm/llvm-project/commit/f802c39cea29d587ba4db6f71352e3f11a994a89
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-18 (Sun, 18 Aug 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add more tests for RISCVISAInfo::checkDependency(). NFC
Commit: 164d1230f78b32647e1a6e948245e75f557a8068
https://github.com/llvm/llvm-project/commit/164d1230f78b32647e1a6e948245e75f557a8068
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
Log Message:
-----------
[RISCV] Simplify reserse fixed regs (#104736)
Add a macro to simplify some codes.
Commit: d489b7ccb7b43fe54dfb4b2884d7f1eb2cb5806e
https://github.com/llvm/llvm-project/commit/d489b7ccb7b43fe54dfb4b2884d7f1eb2cb5806e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Merge some ISA error reporting together and make some errors more precise.
Loop over the extension names that have the same error message.
Print the name of Zvk* extensions instead of 'zvk*'.
Commit: 10a4f1ef9e1f30729920d2dd22d75d1002e66d0d
https://github.com/llvm/llvm-project/commit/10a4f1ef9e1f30729920d2dd22d75d1002e66d0d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Add helper functions to exploit similarity of some RISCVISAInfo::checkDependency() error strings. NFC
Commit: 371f936c456bca2b2af52f0d7fb9e7c9d1c0a1b7
https://github.com/llvm/llvm-project/commit/371f936c456bca2b2af52f0d7fb9e7c9d1c0a1b7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Make extension names lower case in RISCVISAInfo::checkDependency() error messages.
Commit: 985d64b03accbed8500a85372d716367d89b61be
https://github.com/llvm/llvm-project/commit/985d64b03accbed8500a85372d716367d89b61be
Author: hev <wangrui at loongson.cn>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/vselect.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf.ll
M llvm/test/CodeGen/LoongArch/lsx/vselect.ll
M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
Log Message:
-----------
[LoongArch] Merge base and offset for LSX/LASX memory accesses (#104452)
Commit: 83879f4f5311af334550c54c8279397a8aa33e7b
https://github.com/llvm/llvm-project/commit/83879f4f5311af334550c54c8279397a8aa33e7b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/CodeGen/Hexagon/block-addr.ll
M llvm/test/DebugInfo/ARM/single-constant-use-preserves-dbgloc.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
Log Message:
-----------
[SimplifyCFG] Don't block sinking for allocas if no phi created (#104579)
SimplifyCFG sinking currently does not sink loads/stores of allocas,
because historically SROA was unable to handle the resulting IR. Since
then, SROA both learned to speculate loads/stores over selects and phis,
*and* SimplifyCFG sinking has been deferred to the end of the function
simplification pipeline, which means that SROA happens before it.
As such, I believe that this workaround should no longer be necessary.
Given how sensitive SimplifyCFG sinking seems to be, this patch takes a
very conservative step towards removing this, by allowing sinking if we
don't actually need to form a phi over the pointer argument.
This fixes https://github.com/llvm/llvm-project/issues/104567, where
sinking a store to an escaped alloca allows converting a switch into
arithmetic.
Commit: 5795f9e27390fe5c322853476b3c9ba8376e8541
https://github.com/llvm/llvm-project/commit/5795f9e27390fe5c322853476b3c9ba8376e8541
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/docs/BytecodeFormat.md
Log Message:
-----------
[mlir][docs] Update Bytecode documentation (#99854)
There were some discrepancies between the dialect section documentation
and the implementation.
Commit: cd60d10a10732154d95892219f70f0784f5a2249
https://github.com/llvm/llvm-project/commit/cd60d10a10732154d95892219f70f0784f5a2249
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Move some LoopVectorizationPlanner helpers to VPlan.cpp (NFC).
Members not requiring access to LoopVectorizationLegality or
LoopVectorizationCostModel can safely be moved out of the very large
LoopVectorization.cpp and are more accurately placed in VPlan.cpp
Commit: 5ab65a6c1c38eef2a096a6b9231281fb4876c387
https://github.com/llvm/llvm-project/commit/5ab65a6c1c38eef2a096a6b9231281fb4876c387
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver2.td
M llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
Log Message:
-----------
[X86] VPERM2*128 instructions aren't microcoded on znver2
This appears to be a copy+paste error from znver1 (which isn't really microcoded either - but it is rather complex!).
Confirmed with Agner + uops.info.
Commit: 9e3e8b5715d01fc7ac6b0bdcd1870f3823f3ab30
https://github.com/llvm/llvm-project/commit/9e3e8b5715d01fc7ac6b0bdcd1870f3823f3ab30
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver1.td
M llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
Log Message:
-----------
[X86] VPERM2*128 instructions aren't microcoded on znver1
AMD refer to them as microcoded, but not in the same way as LLVM - the uop count and pipe usage is high but predictable
Confirmed with Agner + uops.info.
Commit: 8b1916b7666ae29c3ca2a196f5d1062e2d51f10f
https://github.com/llvm/llvm-project/commit/8b1916b7666ae29c3ca2a196f5d1062e2d51f10f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Cleanup lowerShuffleWithUNPCK/PACK signatures to match (most) other lowerShuffle* methods. NFC.
Commit: 9211977d134d81cbc7a24f13e244334484c31b87
https://github.com/llvm/llvm-project/commit/9211977d134d81cbc7a24f13e244334484c31b87
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll
Log Message:
-----------
[AArch64][SME] Return false from produceCompactUnwindFrame if VG save required. (#104588)
The compact unwind format requires all registers are stored in pairs, so
return false from produceCompactUnwindFrame if we require saving VG.
Commit: 63267ca9016aa334b329aa408716456b4e3799c8
https://github.com/llvm/llvm-project/commit/63267ca9016aa334b329aa408716456b4e3799c8
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
Log Message:
-----------
[LoongArch] Fix the assertion for atomic store with 'ptr' type
Commit: 065d2d9c60da0214c17a8300385b22be1c26dc70
https://github.com/llvm/llvm-project/commit/065d2d9c60da0214c17a8300385b22be1c26dc70
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
Log Message:
-----------
[MLIR][LLVM] Improve the noalias propagation during inlining (#104750)
This commit changes the LLVM dialect's inliner interface to properly
propagate noalias information to memory accesses that have different
underlying object. By always introducing an SSACopy intrinsic, it's
possible to understand that specific memory operations are using
unrelated pointers. Previously, the backwards slice walk did continue
beyond the boundary of the original function and failed to reason about
the "underlying objects".
Commit: 740f05545150fb01cfca8c16da50c956b4f30959
https://github.com/llvm/llvm-project/commit/740f05545150fb01cfca8c16da50c956b4f30959
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Rename getBestVF -> computeBestVF (NFC).
As suggested in https://github.com/llvm/llvm-project/pull/103033, more
accurately rename to computeBestVF, as it now does not simply return the
best VF, but directly computes it.
Commit: de5deb7b07db39810c4b07870c75ccc8dccc5fe9
https://github.com/llvm/llvm-project/commit/de5deb7b07db39810c4b07870c75ccc8dccc5fe9
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/aarch64-elf-pauthabi.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[PAC][ELF][AArch64] Encode several ptrauth features in PAuth core info (#102508)
For llvm_linux platform, define the following meaning for bits 9, 10,
11:
- bit 9: set if indirect gotos signing is enabled;
- bit 10: set if type info vtable pointer discrimination is enabled;
- bit 11: set if function pointer type discrimination is enabled.
Commit: b6d1df2afd0a464f3f37055f16fb9321a3b2eaaf
https://github.com/llvm/llvm-project/commit/b6d1df2afd0a464f3f37055f16fb9321a3b2eaaf
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/flags.c
A llvm/test/CodeGen/PowerPC/noredzone.ll
Log Message:
-----------
[PowerPC] Support -mno-red-zone option (#94581)
Commit: cde806b0e63fddcca013536b4bd55e45607205d1
https://github.com/llvm/llvm-project/commit/cde806b0e63fddcca013536b4bd55e45607205d1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[lld][MachO] Fix a suspicous assert in SyntheticSections.cpp
This was comparing some .size() (uint64_t) against the sizeof a size_t
which changes with system bitness. This produced a warning that
brought this to my attention.
These tests were failing too on 32 bit Arm only:
lld :: MachO/objc-category-merging-complete-test.s
lld :: MachO/objc-category-merging-minimal.s
The assert I think meant to check the value of target->wordSize,
not the size of its type. Which is a type that changes size between
systems.
Commit: 74a512df2bea0f0d1f314c6b8dc33c97f9086336
https://github.com/llvm/llvm-project/commit/74a512df2bea0f0d1f314c6b8dc33c97f9086336
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
Log Message:
-----------
[mlir][vector] Populate sink patterns in apply_patterns.vector.reduction_to_contract (#104754)
This restores the functionality to before:
https://github.com/llvm/llvm-project/commit/42944da5ba7617bbc02f341e9ef401c325310a73
This fixes a buildbot failure:
https://lab.llvm.org/buildbot/#/builders/143/builds/1487
Commit: 00def06c6e9a0582e85bef5f3a186839c48d1ae2
https://github.com/llvm/llvm-project/commit/00def06c6e9a0582e85bef5f3a186839c48d1ae2
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Transforms/PassBuilder.h
M llvm/lib/Passes/PassBuilderBindings.cpp
M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp
Log Message:
-----------
[LLVM][NewPM] Add C API for running the pipeline on a single function. (#103773)
By adding a new entrypoint, `LLVMRunPassesOnFunction`, as suggested in
https://discourse.llvm.org/t/newpm-c-api-questions/80598.
Also removes erroneous `LLVMConsumeError`s from the pass builder unit
tests as the string conversion already consumes the error, causing an
abort when the test would fail.
Commit: b8dccb7d56c7e32b549c00a094d1b6ac32a01328
https://github.com/llvm/llvm-project/commit/b8dccb7d56c7e32b549c00a094d1b6ac32a01328
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/unsafe-vf-hint-remark.ll
Log Message:
-----------
[VPlan] Emit note when UserVF > MaxUserVF (NFCI).
As suggested in https://github.com/llvm/llvm-project/pull/103033, add a
remark when the UserVF is ignored due to it being larger than MaxUserVF.
Only changes behavior of diagnostic/debug output.
Commit: abf69a167bbc99054871e3f9cc8810bbebcb6747
https://github.com/llvm/llvm-project/commit/abf69a167bbc99054871e3f9cc8810bbebcb6747
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/select-select.ll
M llvm/test/Transforms/InstCombine/ucmp.ll
M llvm/test/Transforms/PhaseOrdering/partialord-ule.ll
Log Message:
-----------
[InstCombine] Fold `(x < y) ? -1 : zext(x != y)` into `u/scmp(x,y)` (#101049)
This patch adds the aforementioned fold to InstCombine. This pattern is
produced after naive implementations of 3-way comparison in high-level
languages are transformed into LLVM IR and then optimized.
Proofs: https://alive2.llvm.org/ce/z/w4QLq_
Commit: f2fcd9cb97f76f34196233fc5c9170fb0905d844
https://github.com/llvm/llvm-project/commit/f2fcd9cb97f76f34196233fc5c9170fb0905d844
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Rename getBestPlanFor -> getPlanFor (NFC).
As suggested in https://github.com/llvm/llvm-project/pull/103033, more
accurately rename to getPlanFor , as it simplify returns the VPlan for
VF, relying on the fact that there is a single VPlan for each VF at the
moment.
Commit: 816068e462888f31f4bcf71f2f728eb77ff2ea15
https://github.com/llvm/llvm-project/commit/816068e462888f31f4bcf71f2f728eb77ff2ea15
Author: tcwzxx <tcwzxx at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[NFC][SLP] Remove useless code of the schedule (#104697)
Currently, the SLP schedule has two containers of `ScheduleData`:
`ExtraScheduleDataMap` and `ScheduleDataMap`. However, the
`ScheduleData` in `ExtraScheduleDataMap` is only used to indicate
whether the instruction is processed or not and does not participate in
the schedule, which is useless. `ScheduleDataMap` is sufficient for this
purpose. The `OpValue` member is used only in `ExtraScheduleDataMap`,
which is also useless.
Commit: c6e9493a00d22f2591c5a9c51d9fd34fe5eee5b6
https://github.com/llvm/llvm-project/commit/c6e9493a00d22f2591c5a9c51d9fd34fe5eee5b6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
Log Message:
-----------
[CostModel][X86] Add cost tests for scmp/ucmp intrinsics
Commit: 0cc6b464f8adb739e6f9bcc9bda8cff9bb1f1c2a
https://github.com/llvm/llvm-project/commit/0cc6b464f8adb739e6f9bcc9bda8cff9bb1f1c2a
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/docs/ExtendingLLVM.rst
Log Message:
-----------
[docs] Update a filename, fix indentation (#103018)
Commit: b05c55472bf7cadcd0e4cb1a669b3474695b0524
https://github.com/llvm/llvm-project/commit/b05c55472bf7cadcd0e4cb1a669b3474695b0524
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[X86] LowerABD - simplify i32/i64 to use sub+sub+cmov instead of repeating nodes via abs (#102174)
Using X86ISD::SUB nodes directly allows us to drive the X86ISD::CMOV node with exact flags instead of trying to cleanup the generic codegen via ICMP/SUBO nodes.
Commit: 50daa2397f831f3577cf8f9057f047021867dc88
https://github.com/llvm/llvm-project/commit/50daa2397f831f3577cf8f9057f047021867dc88
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
M llvm/test/Transforms/InstCombine/crash.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/unittests/IR/DataLayoutTest.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
Log Message:
-----------
[DataLayout] Refactor parsing of i/f/v/a specifications (#104699)
Split off of #104545 to reduce patch size.
Commit: 3e999bbc2ddfc8be7b2d1a250c9905c905e6ce81
https://github.com/llvm/llvm-project/commit/3e999bbc2ddfc8be7b2d1a250c9905c905e6ce81
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
M clang/test/Modules/merge-using-decls.cpp
Log Message:
-----------
[clang][bytecode] Use first FieldDecl instead of asserting (#104760)
This assertion fails sometimes. We use the first decl for lookup later,
so let's use the first decl here as well.
Commit: 13865b09c6b0c767a8c3d4f49662e6c503260976
https://github.com/llvm/llvm-project/commit/13865b09c6b0c767a8c3d4f49662e6c503260976
Author: David Green <david.green at arm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
Log Message:
-----------
[AArch64] Add fneg(fmul) and fmul(fneg) tests. NFC
Commit: c6605a08681309188fa260a409bf5d37400876a0
https://github.com/llvm/llvm-project/commit/c6605a08681309188fa260a409bf5d37400876a0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
Log Message:
-----------
[clang][bytecode] Fix member pointers to IndirectFieldDecls (#104756)
Commit: a567d4598755219e535eb04d21b43c3624526714
https://github.com/llvm/llvm-project/commit/a567d4598755219e535eb04d21b43c3624526714
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
Log Message:
-----------
Require !windows instead of XFAIL'ing ubsan/TestCases/Integer/bit-int.c
The test would unexpectedly pass on Windows when there's 128-bit runtime
routines available. See comment on #104494
Commit: 3188e9b4e0f106abd683829906a21a98655bb794
https://github.com/llvm/llvm-project/commit/3188e9b4e0f106abd683829906a21a98655bb794
Author: Julian Brown <julian.brown at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/loop_collapse_1.c
A clang/test/OpenMP/loop_collapse_2.cpp
Log Message:
-----------
[clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (#101305)
This patch fixes a couple of cases where Clang aborts with loop nests
that are being collapsed (via the relevant OpenMP clause) into a new,
combined loop.
The problematic cases happen when a variable declared within the loop
nest is used in the (init, condition, iter) statement of a more
deeply-nested loop. I don't think these cases (generally?) fall under
the non-rectangular loop nest rules as defined in OpenMP 5.0+, but I
could be wrong (and anyway, emitting an error is better than crashing).
In terms of implementation: the crash happens because (to a first
approximation) all the loop bounds calculations are pulled out to the
start of the new, combined loop, but variables declared in the loop nest
"haven't been seen yet". I believe there is special handling for
iteration variables declared in "for" init statements, but not for
variables declared elsewhere in the "imperfect" parts of a loop nest.
So, this patch tries to diagnose the troublesome cases before they can
cause a crash. This is slightly awkward because at the point where we
want to do the diagnosis (SemaOpenMP.cpp), we don't have scope
information readily available. Instead we "manually" scan through the
AST of the loop nest looking for var decls (ForVarDeclFinder), then we
ensure we're not using any of those in loop control subexprs
(ForSubExprChecker). All that is only done when we have a "collapse"
clause.
Range-for loops can also cause crashes at present without this patch, so
are handled too.
Commit: 7efa068f7a7ed4f42ba09cce73e8c09bb8b4e8ce
https://github.com/llvm/llvm-project/commit/7efa068f7a7ed4f42ba09cce73e8c09bb8b4e8ce
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/load.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vislide-vx.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vreduce.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vrgather.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vshift-vmul.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbc.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkned.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvknhb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksed.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksh.s
Log Message:
-----------
[RISCV] Add vector and vector crypto to SiFiveP400 scheduler model (#102155)
The SiFiveP400 scheduler model did not support vector or vector crypto.
With the addition of the sifive-p470 processor, this model needs to support
these extensions.
The processors who use this model but do not have vector or vector
crypto will never produce these instructions, so there is no impact to these
processors.
Co-authored-by: Min Hsu <min.hsu at sifive.com>
Commit: ea28668f8c980c9987b0e2f305b0a8eff9797401
https://github.com/llvm/llvm-project/commit/ea28668f8c980c9987b0e2f305b0a8eff9797401
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-i8i8i32.mlir
Log Message:
-----------
[mlir][ArmSME] Remove XFAILs (#104758)
Buildbots have been updated to QEMU 9.0.2:
https://github.com/llvm/llvm-project/pull/104758#issuecomment-2296592845
Commit: 4f083c0a2cb1d19942406f7e6e97ae47e8ac91b1
https://github.com/llvm/llvm-project/commit/4f083c0a2cb1d19942406f7e6e97ae47e8ac91b1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/DebugInfo/COFF/AArch64/arm64-register-variables.ll
M llvm/test/DebugInfo/COFF/ARMNT/arm-register-variables.ll
Log Message:
-----------
[DebugInfo] Make tests SimplifyCFG-independent (NFC)
Run SimplifyCFG over the test input and disable the SimplifyCFG
run in the backend, so that these tests are not affected by changes
to SimplifyCFG.
Commit: 79f6ae05c139d3d5b6446f8a265a3c6e3f5b18f8
https://github.com/llvm/llvm-project/commit/79f6ae05c139d3d5b6446f8a265a3c6e3f5b18f8
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[Clang][NFC] Fix potential null dereference in encodeTypeForFunctionPointerAuth (#104737)
This patch replaces getAs with castAs in
encodeTypeForFunctionPointerAuth to prevent dereferencing a potential
null pointer, enhancing type safety as reported by static analyzer tool.
Commit: c60da1a271a6bb271e7703b2f7c71fbece67ab78
https://github.com/llvm/llvm-project/commit/c60da1a271a6bb271e7703b2f7c71fbece67ab78
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
Log Message:
-----------
[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)
- Introduce primitives for removing records from `APISet` and managing
the record chain of `RecordContext`
- Detect nested anonymous record types and remove them from the `APISet`
after they have been fully traversed and transfer ownership of child
records to the parent context (if any)
Commit: a566635915730e6720e1b341f014c7c62af748bf
https://github.com/llvm/llvm-project/commit/a566635915730e6720e1b341f014c7c62af748bf
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
R llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
R llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Move AMDGPUCodeGenPassBuilder into AMDGPUTargetMachine(NFC) (#103720)
This will allow us to reuse the existing flags and the static
functions while building the pipeline for new pass manager.
Commit: 7dd6340bdadf86bd0facdea89d1876a5c36dc33b
https://github.com/llvm/llvm-project/commit/7dd6340bdadf86bd0facdea89d1876a5c36dc33b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
M llvm/unittests/Support/MathExtrasTest.cpp
Log Message:
-----------
MathExtras: template'ize alignToPowerOf2 (#97814)
Follow up on 5627794 (MathExtras: avoid unnecessarily widening types) to
change the overflow behavior of alignToPowerOf2 to only overflow if the
result is not representable in the return type. This allows us to
template'ize it, and avoid unnecessarily widening the types of
arguments.
Commit: b18b4547f1bfaf6da37b29440a96176e807c2e6c
https://github.com/llvm/llvm-project/commit/b18b4547f1bfaf6da37b29440a96176e807c2e6c
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
Log Message:
-----------
Revert "[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)"
This reverts commit c60da1a271a6bb271e7703b2f7c71fbece67ab78.
Commit: a449b857241dd29a1164c483d3ee73612e45cbb4
https://github.com/llvm/llvm-project/commit/a449b857241dd29a1164c483d3ee73612e45cbb4
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
R llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
R llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
Log Message:
-----------
[AMDGPU][R600] Move R600CodeGenPassBuilder into R600TargetMachine(NFC). (#103721)
Commit: b64e7e07e544d62ab132fc9f5c4153d4807a5fa3
https://github.com/llvm/llvm-project/commit/b64e7e07e544d62ab132fc9f5c4153d4807a5fa3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
Log Message:
-----------
[SimplifyCFG] Add tests for hoisting of commutative instructions (NFC)
Commit: b1d75fe48c940ba677614db3d891fbebcb8a41a2
https://github.com/llvm/llvm-project/commit/b1d75fe48c940ba677614db3d891fbebcb8a41a2
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/unittests/Callback/TestBreakpointSetCallback.cpp
Log Message:
-----------
[lldb][test] Fix cast dropping const warnin in TestBreakpointSetCallback.cpp
When building with gcc I get this warning:
```
<...>TestBreakpointSetCallback.cpp:58:25: warning: cast from type ‘const char*’ to type ‘void*’ casts away qualifiers [-Wcast-qual]
58 | void *baton = (void *)"hello";
| ^~~~~~~
```
Use the address of a mutable global variable instead. All we care about
is that the address passed as the baton is the same one we get later.
Commit: c7a54bfd1d25330199c96dd0a46cef1644b1b1ce
https://github.com/llvm/llvm-project/commit/c7a54bfd1d25330199c96dd0a46cef1644b1b1ce
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
Log Message:
-----------
[lldb][ASTUtils] Remove unused SemaSourceWithPriorities::addSource API
As far as I can tell, this has always been unused. My hunch is that
this was supposed to mimick the `MultiplexExternalSemaSource::AddSource`
API which `SemaSourceWithPriorities` is based on.
Commit: 0abb7791614947bc24931dd851ade31d02496977
https://github.com/llvm/llvm-project/commit/0abb7791614947bc24931dd851ade31d02496977
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
[LLVM] [X86] Fix integer overflows in frame layout for huge frames (#101840)
Fix 32-bit integer overflows in the X86 target frame layout when dealing
with frames larger than 4gb. When this occurs, we'll scavenge a scratch
register to be able to hold the correct stack offset for frame locals.
This completes reapplying #84114.
Fixes #48911
Fixes #75944
Fixes #87154
Commit: 576aa3a50960f02e4dfe2d6ed2c55aa66006adcf
https://github.com/llvm/llvm-project/commit/576aa3a50960f02e4dfe2d6ed2c55aa66006adcf
Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
M llvm/test/TableGen/dump.td
Log Message:
-----------
[TableGen] Resolve References at top level (#104578)
Add a dummy resolver to resolve references outside records. This invokes
Fold() with isFinal to force resolution.
Fixes #102447
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: 08201cb4245b0a03e1af664e00a22ea4db1fc2fb
https://github.com/llvm/llvm-project/commit/08201cb4245b0a03e1af664e00a22ea4db1fc2fb
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp
Log Message:
-----------
[lldb][test] Fix GCC warnings in TestGetControlFlowKindX86.cpp
```
<...>/TestGetControlFlowKindx86.cpp:148:8: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else]
148 | if (kind == eInstructionControlFlowKindReturn)
| ^
```
Usually llvm is a "no braces for single line body" project but
for whatever reason gcc objects to it here. Perhaps because it's
within a for loop.
Added the newlines just for readability.
Commit: 8d165136ac36a53e51b50c620a12039d6c1e628e
https://github.com/llvm/llvm-project/commit/8d165136ac36a53e51b50c620a12039d6c1e628e
Author: meehatpa <gune30 at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][[spirv] Add support for math.log2 and math.log10 to GLSL/OpenCL SPIRV Backends (#104608)
As log2 and log10 are not available in spirv, realize them as a
decomposition using spirv.CL.log/spirv.GL.Log.
Commit: 7a06ebdeb6440d80fbcaeccd33314c6e039c6795
https://github.com/llvm/llvm-project/commit/7a06ebdeb6440d80fbcaeccd33314c6e039c6795
Author: Fred Grim <fgrim at apple.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp
Log Message:
-----------
[lldb] PopulatePrpsInfoTest can fail due to hardcoded priority value (#104617)
In implementing this test one of the assertions assumes that the
priority is the default in linux (0) but, evidently, some of the build
runners prioritize the test to, at least, 5. This ensures that
regardless of the priority the test passes by validating that its the
process's priority
```
fgrim at host001 :~/llvm-project/debug_build> nice -n 15 tools/lldb/unittests/Process/elf-core/ProcessElfCoreTests
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from ElfCoreTest
[ RUN ] ElfCoreTest.PopulatePrpsInfoTest
[ OK ] ElfCoreTest.PopulatePrpsInfoTest (4 ms)
[ RUN ] ElfCoreTest.PopulatePrStatusTest
[ OK ] ElfCoreTest.PopulatePrStatusTest (3 ms)
[----------] 2 tests from ElfCoreTest (7 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (8 ms total)
[ PASSED ] 2 tests.
===(10:03)===
fgrim at host001 :~/llvm-project/debug_build>
```
Commit: d27278a835ba9110b5bf775852b1a407d1c2bc62
https://github.com/llvm/llvm-project/commit/d27278a835ba9110b5bf775852b1a407d1c2bc62
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Discard NullToPointer cast SubExpr (#104782)
So we still properly abort if they fail.
Commit: fade54ac6608255e9b3c425432871f177236d6e8
https://github.com/llvm/llvm-project/commit/fade54ac6608255e9b3c425432871f177236d6e8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port a449b857241d
Commit: c6d6186b586f4249e393910b099815e616138cde
https://github.com/llvm/llvm-project/commit/c6d6186b586f4249e393910b099815e616138cde
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port a56663591573
Commit: 0ee0857363aadf9ce0f403e7e0da10f0a9d94887
https://github.com/llvm/llvm-project/commit/0ee0857363aadf9ce0f403e7e0da10f0a9d94887
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb][Python] Silence GCC warning for modules error workaround
```
lldb-python.h:16:30: warning: ‘g_fcxx_modules_workaround’ defined but not used [-Wunused-variable]
16 | static llvm::Expected<bool> *g_fcxx_modules_workaround;
|
```
Workaround originally added in 36cb29cbbe1b22dcd298ad65e1fabe899b7d7249.
Commit: 42386dc46d8217b2dfed8dfc41afeec366ec2015
https://github.com/llvm/llvm-project/commit/42386dc46d8217b2dfed8dfc41afeec366ec2015
Author: Phil Camp <phil.camp at sony.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
A llvm/test/tools/llvm-mca/JSON/X86/views-bottleneck.s
M llvm/test/tools/llvm-mca/JSON/X86/views-custom-parameters.s
M llvm/test/tools/llvm-mca/JSON/X86/views-multiple-anonymous-regions.s
M llvm/test/tools/llvm-mca/JSON/X86/views-multiple-region.s
M llvm/test/tools/llvm-mca/JSON/X86/views.s
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.h
Log Message:
-----------
[llvm-mca] Add bottle-neck analysis to JSON output. (#90056)
This patch implements the bottle-neck analysis data in the JSON dump
mode.
Commit: f95026dbf66e353128a3a3d7b55f3e52d5985535
https://github.com/llvm/llvm-project/commit/f95026dbf66e353128a3a3d7b55f3e52d5985535
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
A clang/test/CodeGen/PowerPC/transparent_union.c
Log Message:
-----------
[PowerPC] Fix codegen for transparent_union function params (#101738)
Update codegen for func param with transparent_union attr to be that of
the first union member.
PPC fix for: https://github.com/llvm/llvm-project/issues/76773
Commit: a3fea0643da544b2e5d5c48f2ea942dad22d01f2
https://github.com/llvm/llvm-project/commit/a3fea0643da544b2e5d5c48f2ea942dad22d01f2
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/lib/Support/SmallPtrSet.cpp
Log Message:
-----------
[SmallPtrSet] Optimize find/erase
Port #100517 for DenseMap.
Pull Request: https://github.com/llvm/llvm-project/pull/104740
Commit: e9b2e16dc98345bb1b91b1a6dacb3cec85f49e31
https://github.com/llvm/llvm-project/commit/e9b2e16dc98345bb1b91b1a6dacb3cec85f49e31
Author: eddyz87 <eddyz87 at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGCall.cpp
A clang/test/CodeGen/bpf-attr-bpf-fastcall-1.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/bpf-attr-bpf-fastcall.c
M llvm/lib/Target/BPF/BPFCallingConv.td
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
M llvm/lib/Target/BPF/BPFRegisterInfo.h
A llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
A llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
A llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
A llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll
Log Message:
-----------
[BPF] introduce `__attribute__((bpf_fastcall))` (#101228)
This commit introduces attribute bpf_fastcall to declare BPF functions
that do not clobber some of the caller saved registers (R0-R5).
The idea is to generate the code complying with generic BPF ABI, but
allow compatible Linux Kernel to remove unnecessary spills and fills of
non-scratched registers (given some compiler assistance).
For such functions do register allocation as-if caller saved registers
are not clobbered, but later wrap the calls with spill and fill patterns
that are simple to recognize in kernel.
For example for the following C code:
#define __bpf_fastcall __attribute__((bpf_fastcall))
void bar(void) __bpf_fastcall;
void buz(long i, long j, long k);
void foo(long i, long j, long k) {
bar();
buz(i, j, k);
}
First allocate registers as if:
foo:
call bar # note: no spills for i,j,k (r1,r2,r3)
call buz
exit
And later insert spills fills on the peephole phase:
foo:
*(u64 *)(r10 - 8) = r1; # Such call pattern is
*(u64 *)(r10 - 16) = r2; # correct when used with
*(u64 *)(r10 - 24) = r3; # old kernels.
call bar
r3 = *(u64 *)(r10 - 24); # But also allows new
r2 = *(u64 *)(r10 - 16); # kernels to recognize the
r1 = *(u64 *)(r10 - 8); # pattern and remove spills/fills.
call buz
exit
The offsets for generated spills/fills are picked as minimal stack
offsets for the function. Allocated stack slots are not used for any
other purposes, in order to simplify in-kernel analysis.
Corresponding functionality had been merged in Linux Kernel as
[this](https://lore.kernel.org/bpf/172179364482.1919.9590705031832457529.git-patchwork-notify@kernel.org/)
patch set (the patch assumed that `no_caller_saved_regsiters` attribute
would be used by LLVM, naming does not matter for the Kernel).
Commit: 9b65558d2f20463b1a32374165d6fa06696623e9
https://github.com/llvm/llvm-project/commit/9b65558d2f20463b1a32374165d6fa06696623e9
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/test/ELF/riscv-section-layout.s
M lld/test/ELF/section-name.s
Log Message:
-----------
[lld][ELF] Combine uniqued small data sections (#104485)
RISC-V GCC with `-fdata-sections` will emit `.sbss.<name>`,
`.srodata.<name>`, and `.sdata.<name>` sections for small data items of
different kinds. Clang/LLVM already emits `.srodata.*` sections, and we
intend to emit the other two section name patterns in #87040.
This change ensures that any input sections starting `.sbss` are
combined into one output section called `.sbss`, and the same
respectively for `.srodata` and `.sdata`. This also allows the existing
RISC-V specific code for determining an output order for `.sbss` and
`.sdata` sections to apply to placing the sections.
Commit: 93d0f82272dc230ff4d53d48c43b2f1518754a7b
https://github.com/llvm/llvm-project/commit/93d0f82272dc230ff4d53d48c43b2f1518754a7b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/docs/CodeReview.rst
Log Message:
-----------
[docs] Add note about "Re-request review" (#104735)
Commit: 7d60f4648b9f794b8965b84a7a5641dfc5e07fae
https://github.com/llvm/llvm-project/commit/7d60f4648b9f794b8965b84a7a5641dfc5e07fae
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
Log Message:
-----------
[DirectX] Differentiate between 0/1 overloads in the OpBuilder. NFC
DXIL operations that only have one signature behave one of two ways - either
they are always suffixed with a type like `dx.op.ThreadId.i32` and hence have
exactly one overload, or they're never suffixed like `dx.op.CreateHandle` and
hence have zero overloads.
Update DXIL.td for operations that have one overload and remove the hack in the
builder that was adjusting names for unoverloaded ops.
Pull Request: https://github.com/llvm/llvm-project/pull/104246
Commit: 6bb5a0b171e22ef0a17ae8bf9bf4a3f7ad682901
https://github.com/llvm/llvm-project/commit/6bb5a0b171e22ef0a17ae8bf9bf4a3f7ad682901
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaTemplate/explicit-instantiation-cxx20.cpp
Log Message:
-----------
[Clang] Check constraints for an explicit instantiation of a member function (#104438)
Because there may be multiple constrained function of the same type, we
need to perform overload resolution to find the best viable function to
specialize.
Fixes #46029
Commit: f357fe371d3f752878abf1fb1d5fb550e2650c8e
https://github.com/llvm/llvm-project/commit/f357fe371d3f752878abf1fb1d5fb550e2650c8e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/docs/DirectX/DXILOpTableGenDesign.rst
M llvm/include/llvm/Support/DXILABI.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILConstants.h
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX] Disentangle DXIL.td's op types from LLVMType. NFC
LLVMType is both too broad and too narrow for defining DXIL operations, in
different ways. It's too broad in the sense that we don't need the full set of
MVTs - the set of types DXIL operations work on is much smaller. It's too
narrow in the sense that it's difficult to use it for the various fixed
structure types in DXIL, like `%dx.types.Handle` or `%dx.Types.ResRet.f32`.
Replace the usage of LLVMType in DXIL.td with DXILOpParamType, a simple class
that we can define an enum of types from. Further, use this to replace the
"ParameterKind" enum in DXILABI.h that has nothing to do with DXIL's ABI.
Pull Request: https://github.com/llvm/llvm-project/pull/104247
Commit: 340fb6597116acf026a8ac49edca4d993fb1d7f3
https://github.com/llvm/llvm-project/commit/340fb6597116acf026a8ac49edca4d993fb1d7f3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
A llvm/test/TableGen/invalid-macro-name-command-line.td
Log Message:
-----------
[TableGen] Detect invalid -D arguments and fail (#102813)
- Detect invalid macro names specified on command line and fail if one
found.
- Specifically, -DXYZ=1 for example, will fail instead is being silently
accepted.
Commit: 2258bc429b6f76ade78059f3c4f6c7c77f93a996
https://github.com/llvm/llvm-project/commit/2258bc429b6f76ade78059f3c4f6c7c77f93a996
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mbcnt.ll
Log Message:
-----------
[AMDGPU] Simplify, fix and improve known bits for mbcnt (#104768)
Simplify by using KnownBits::add.
Fix GlobalISel path which was ignoring the known bits of src1.
Improve analysis of mbcnt.hi which adds at most 31 even in wave64.
Commit: 564bd206588d330211914ba2e94bd13caa4e0431
https://github.com/llvm/llvm-project/commit/564bd206588d330211914ba2e94bd13caa4e0431
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Save a copy in one case of addrspacecast (#104789)
Refactor legalization of addrspacecast local/private -> flat to avoid
building a copy in the nonnull case.
Commit: 2575ea6e17889e6d83198fc1c80963f81485bfcc
https://github.com/llvm/llvm-project/commit/2575ea6e17889e6d83198fc1c80963f81485bfcc
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
Log Message:
-----------
[clang][dataflow] Collect local variables referenced within a functio… (#104459)
…n/statement.
We don't need these for the same in-tree purposes as the other sets,
i.e. for making sure we model these Decls that are declared outside the
function, but we have an out-of-tree use for these sets that would
benefit from this simple addition and would avoid duplicating so much of
this code.
Commit: 7f968e3aea41264a952692a4bf32e5e2b612d44e
https://github.com/llvm/llvm-project/commit/7f968e3aea41264a952692a4bf32e5e2b612d44e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Improve BCLRITwoBitsMaskHigh SDNodeXForm. NFC
Use getZExtValue instead of getSExtValue since we are going to
overwrite the sign extension on RV32. getZExtValue should be cheaper than
getSExtValue.
Use maskLeadingOnes to improve readability.
Commit: 865952bbbb97655410d2c34c21938134059c4076
https://github.com/llvm/llvm-project/commit/865952bbbb97655410d2c34c21938134059c4076
Author: Sergey Kozub <skozub at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/convert-sm89.ll
Log Message:
-----------
[NVPTX] Add conversion intrinsics from/to fp8 types (e4m3, e5m2) (#102969)
PTX ISA 8.1 supports FP8 conversions:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
This PR adds the support for:
- cvt.rn.satfinite{.relu}.f8x2type.f32 d, a, b;
- cvt.rn.satfinite{.relu}.f8x2type.f16x2 d, a;
- cvt.rn.{.relu}.f16x2.f8x2type d, a;
where .f8x2type = { .e4m3x2, .e5m2x2 };
Commit: 4e332bba2f3a51966817088cb4dc4a9188955b64
https://github.com/llvm/llvm-project/commit/4e332bba2f3a51966817088cb4dc4a9188955b64
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.h
Log Message:
-----------
[asan] Change Apple back to fixed allocator base address (#104818)
This partially reverts https://github.com/llvm/llvm-project/pull/98511
- specifically, the SANITIZER_APPLE case - because of a suspected
breakage for clang on Mac
(https://g-issues.chromium.org/issues/360160858;
https://github.com/llvm/llvm-project/pull/98511#issuecomment-2296749757).
Commit: e306db0ff0d348da49b44bd0bcae3df5bf8f02a9
https://github.com/llvm/llvm-project/commit/e306db0ff0d348da49b44bd0bcae3df5bf8f02a9
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M flang/test/Semantics/kinds04_q16.f90
Log Message:
-----------
[Flang] Fix test case for AIX(big-endian) system for issuing an extra message. (#104792)
The 10-byte FP on big-endian system such as AIX is not represented as a
valid number in FE, so Flang issues an extra WARNING message as
`underflow on REAL(10) to REAL(4) conversion` for `_10` for such a
number.
This PR is to fix the test case.
Commit: d5617ada36705e871f329a7b0efb19ce6e6e2a1f
https://github.com/llvm/llvm-project/commit/d5617ada36705e871f329a7b0efb19ce6e6e2a1f
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
A compiler-rt/test/nsan/stable_sort.cpp
A compiler-rt/test/nsan/swap.cpp
Log Message:
-----------
[compiler-rt][nsan] Add more tests for shadow memory (#100906)
Add more tests for shadow memory.
Commit: 05d17a1c705e1053f95b90aa37d91ce4f94a9287
https://github.com/llvm/llvm-project/commit/05d17a1c705e1053f95b90aa37d91ce4f94a9287
Author: David Green <david.green at arm.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/ARM/ARMCallLowering.h
A llvm/test/CodeGen/AArch64/GlobalISel/endian_fallback.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-param-lowering.ll
Log Message:
-----------
[GlobalISel] Bail out early for big-endian (#103310)
If we continue through the function we can currently hit crashes. We can
bail out early and fall back to SDAG.
Fixes #103032
Commit: dde8280ded53f7167dcd2e8f6c50d7c9b5796a10
https://github.com/llvm/llvm-project/commit/dde8280ded53f7167dcd2e8f6c50d7c9b5796a10
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv] Add `GroupNonUniformBallotFindLSB` and `GroupNonUniformBallotFindMSB` ops (#104791)
Commit: 51785856ec5fb6c3f17834b212086d9fc7183868
https://github.com/llvm/llvm-project/commit/51785856ec5fb6c3f17834b212086d9fc7183868
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation.h
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
Log Message:
-----------
[NFC][Instrumentation] Use `Twine` in `createPrivateGlobalForString` (#104726)
Commit: f76b9b7e9480d1bb116075593495db287f4c668c
https://github.com/llvm/llvm-project/commit/f76b9b7e9480d1bb116075593495db287f4c668c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
Log Message:
-----------
[NFC][asan] Don't `cd` after `split-file` (#104727)
Helps with copy-pasting of command line
with error.
Commit: 5e8f4618ce9502190fac96eb8a856146acce2a3a
https://github.com/llvm/llvm-project/commit/5e8f4618ce9502190fac96eb8a856146acce2a3a
Author: Eduard Zingerman <eddyz87 at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGCall.cpp
R clang/test/CodeGen/bpf-attr-bpf-fastcall-1.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
R clang/test/Sema/bpf-attr-bpf-fastcall.c
M llvm/lib/Target/BPF/BPFCallingConv.td
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
M llvm/lib/Target/BPF/BPFRegisterInfo.h
R llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
R llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
R llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
R llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll
Log Message:
-----------
Revert "[BPF] introduce `__attribute__((bpf_fastcall))` (#101228)"
This reverts commit e9b2e16dc98345bb1b91b1a6dacb3cec85f49e31.
Reverting because of the test failure:
https://lab.llvm.org/buildbot/#/builders/187/builds/509
Commit: 92a8ec7abbd853e89556c7b942f30054273af9c6
https://github.com/llvm/llvm-project/commit/92a8ec7abbd853e89556c7b942f30054273af9c6
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
Log Message:
-----------
LSV: fix style after cursory reading (NFC) (#104793)
Commit: 22b4496e86c32127e997f3e7385ef64d2d80cc4b
https://github.com/llvm/llvm-project/commit/22b4496e86c32127e997f3e7385ef64d2d80cc4b
Author: Dmitry Yanovsky <kerambyte at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/FunctionExtras.h
M llvm/unittests/ADT/FunctionExtrasTest.cpp
Log Message:
-----------
[ADT] Fix alignment check in unique_function constructor (#99403)
Right now the check fails for any state-capturing lambda since this
expression - `alignof(decltype(StorageUnion.InlineStorage))` - returns 1
for the alignment value and not 4/8 as expected
([MSVC|Clang|GCC](https://godbolt.org/z/eTEdq4xjM)). So this check fails
for pretty much any state-capturing callable we try to store into a
`unique_function` and we take the out-of-line storage path:
\llvm-project\llvm\include\llvm\ADT\FunctionExtras.h,
`UniqueFunctionBase` constructor (line ~266):
```
if (sizeof(CallableT) > InlineStorageSize ||
alignof(CallableT) > alignof(decltype(StorageUnion.InlineStorage))) {
// ...
}
```
The fix is simply to use an explicit const variable to store the
alignment value.
There is no easy way to unit-test the fix since inline storage is
considered to be an implementation detail so we shouldn't assume how the
lambda ends up being stored.
Commit: 3b80a28c8f27536f49e5fa30a7e2b7050bad6cd6
https://github.com/llvm/llvm-project/commit/3b80a28c8f27536f49e5fa30a7e2b7050bad6cd6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Target/SPIRV/SPIRVBinaryUtils.cpp
Log Message:
-----------
[mlir][spirv] Fix incorrect metadata in SPIR-V Header (#104242)
SRIP-V Generator Magic Number is a 32 bit word: The high order 16 bits
are a tool ID. The low order 16 bits are for verion number, currently
the tool id is not on the high order 16 bit so it must shifed
fixes: #99071
Commit: 7597e0930638e0a20ca9bfc193a3d89575ce4469
https://github.com/llvm/llvm-project/commit/7597e0930638e0a20ca9bfc193a3d89575ce4469
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/Parser/parser_overflow.c
Log Message:
-----------
[clang] Increase the default expression nesting limit (#104717)
Increase the default expression nesting limit from 256 to 1024
Fixes: #94728
Compile time with different Bracket depth
Clang version 20.0.0git
(https://github.com/AmrDeveloper/llvm-project.git
673b9e08de8a661c9deed2ee497889312f059f3d)
Target: arm64-apple-darwin23.5.0
Bracket depth = 256, time = 0.243
Bracket depth = 512, time = 0.329
Bracket depth = 1024, time = 0.489
Bracket depth = 2048, time = 0.851
Commit: 4c967afcc6f3a109e8a325a0327f869c4bfc57c2
https://github.com/llvm/llvm-project/commit/4c967afcc6f3a109e8a325a0327f869c4bfc57c2
Author: Michael Kenzel <michael.kenzel at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M libcxxabi/src/cxa_default_handlers.cpp
Log Message:
-----------
[libc++abi] Remove unnecessary dependency on std::unique_ptr (#73277)
The demangling terminate handler uses a function `demangle()` to perform
the demangling. This function returns an `std::unique_ptr`, relying on
custom deleter and `const_cast` hacks to deal with the facts that only
one branch actually allocates, and that the pointer type needs to be
`const char*`. However, the destructor of the returned `std::unique_ptr`
will never actually run, because the sole place this function is ever
called is right before the terminate handler aborts the program. So all
this is unnecessary, and creates a dependency onto `<memory>`. This
change removes the `demangle()` function and replaces the call with an
immediately invoked lambda expression that simply returns a raw pointer
in both cases, which should be fine because the memory can never be
freed here anyways.
Commit: 87dd31234a3c46ace097af73ecaedcdb6b306ef3
https://github.com/llvm/llvm-project/commit/87dd31234a3c46ace097af73ecaedcdb6b306ef3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[ADT] Minor code cleanup in STLExtras.h (#104808)
- Remove unnecessary return from `replace`.
- Add comment for `min_element` and `max_element`.
Commit: e8ca306fbefdb8385c53d6cc029251d1d5be7049
https://github.com/llvm/llvm-project/commit/e8ca306fbefdb8385c53d6cc029251d1d5be7049
Author: Dmitry Yanovsky <kerambyte at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/FunctionExtras.h
M llvm/unittests/ADT/CountCopyAndMove.cpp
M llvm/unittests/ADT/CountCopyAndMove.h
M llvm/unittests/ADT/FunctionExtrasTest.cpp
Log Message:
-----------
[ADT] Add a missing call to a unique_function destructor after move (#98747)
Right now immediately after moving the captured state, we 'disarm' the
moved-from object's destructor by resetting the
`RHS.CallbackAndInlineFlag`. This means that we never properly destroy
the RHS object's captured state.
Commit: 1393aeb91e88381ced7512788761e42bde8fd1cc
https://github.com/llvm/llvm-project/commit/1393aeb91e88381ced7512788761e42bde8fd1cc
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expamd-masked-load.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-gather.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-scatter.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-store.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/lit.local.cfg
Log Message:
-----------
Pre-commit AMDGPU tests for masked load/store/scatter/gather (#104645)
I'm planning to fix the masked operation scalarazer to not generate
suboptimal code on AMD GPUs and other SIMT machines, and so am adding
tests now.
Commit: 22825ddd88aa29994a8a260a31c959aed0b35b5b
https://github.com/llvm/llvm-project/commit/22825ddd88aa29994a8a260a31c959aed0b35b5b
Author: Scott Linder <Scott.Linder at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] DWARF aspace-aware base types
Propose an extension to base type DIEs such that DW_ATE_address-encoded
base types can include an architecture specific address space. Use this
to implement DW_OP_convert conversions between AMDGPU address space
addresses where meaningful.
Commit: 7022498ac2f236e411e8a0f9a48669e754000a4b
https://github.com/llvm/llvm-project/commit/7022498ac2f236e411e8a0f9a48669e754000a4b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
Log Message:
-----------
AMDGPU/NewPM: Start implementing addCodeGenPrepare (#102816)
Commit: 435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33
https://github.com/llvm/llvm-project/commit/435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/gh102293.cpp
Log Message:
-----------
[C++23] Fix infinite recursion (Clang 19.x regression) (#104829)
d469794d0cdfd2fea50a6ce0c0e33abb242d744c was fixing an issue with
triggering vtable instantiations, but it accidentally introduced
infinite recursion when the type to be checked is the same as the type
used in a base specifier or field declaration.
Fixes #104802
Commit: ff2e619dfcd77328812a42d2ba2b11c3ff96f410
https://github.com/llvm/llvm-project/commit/ff2e619dfcd77328812a42d2ba2b11c3ff96f410
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
[MC] Remove duplicate getFixupKindInfo calls. NFC
Due to 8728e097dfbec3630a1dd907431c0f14274a1ae8
(`std::unique_ptr<MCAsmBackend> Backend`), the compiler doesn't know
that `Backend` will not be modified across function calls.
Commit: e732d1ce86783b1d7fe30645fcb30434109505b9
https://github.com/llvm/llvm-project/commit/e732d1ce86783b1d7fe30645fcb30434109505b9
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/SemaOpenMP/gh104810.cpp
Log Message:
-----------
[Clang] Fix ICE in SemaOpenMP with structured binding (#104822)
Fixes https://github.com/llvm/llvm-project/issues/104810.
Clang currently crashes on the following program:
```
struct S {
int i;
};
auto [a] = S{1};
void foo() {
a;
}
```
when `-fopenmp` is enabled.
Because `a` is neither `VarDecl` nor `FieldDecl`. It's a `BindingDecl`
that's not handled in `SemaOpenMP.cpp`'s `getCanonicalDecl`. It appears
to me that this pattern matching is merely just for a refined return
type of the overrides. It can also be achieved with just using the
virtual `Decl::getCanonicalDecl()` instead. Do the final casting should
be safe for `ValueDecl`s.
Commit: 8a677c194072dc19ef680bebba9aa7eafb05b373
https://github.com/llvm/llvm-project/commit/8a677c194072dc19ef680bebba9aa7eafb05b373
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[NFC][ADT] Add range wrapper for std::mismatch (#104838)
Commit: 6a125c7e77cd0e73abc9e60ad1c8eb06e31b11d7
https://github.com/llvm/llvm-project/commit/6a125c7e77cd0e73abc9e60ad1c8eb06e31b11d7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
M llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_late_initializer.ll
M llvm/test/Instrumentation/AddressSanitizer/local_alias.ll
M llvm/test/Instrumentation/AddressSanitizer/odr-check-ignore.ll
M llvm/test/Instrumentation/AddressSanitizer/win-string-literal.ll
Log Message:
-----------
[asan] Better `___asan_gen_` names (#104728)
Use different suffixes for each of 3 types
of objects using `___asan_gen_`.
Commit: 5af3dfb1d9caee206d080db2afab01006210739f
https://github.com/llvm/llvm-project/commit/5af3dfb1d9caee206d080db2afab01006210739f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[NFC][asan] Create `ModuleName` lazily (#104729)
Avoids tracking conditions when it's needed.
Commit: fa87eac3bea5b9704522c6b553d0f4a421e8abc9
https://github.com/llvm/llvm-project/commit/fa87eac3bea5b9704522c6b553d0f4a421e8abc9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
Log Message:
-----------
Reland "[asan] Catch `initialization-order-fiasco` in modules without…" (#104730)
Re-land https://github.com/llvm/llvm-project/pull/104621
After https://github.com/llvm/llvm-project/pull/104729 this patch will
not create unused module names, failing some test checks.
This reverts commit 34f941a2f96b804dd24c2a25770d899b018339ff.
Commit: 54c6b93bcb4e751ec67ebd69e24c11811b970f1e
https://github.com/llvm/llvm-project/commit/54c6b93bcb4e751ec67ebd69e24c11811b970f1e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
A libc/utils/mathtools/worst_case.sollya
Log Message:
-----------
[libc][NFC] Add sollya script to compute worst case range reduction. (#104803)
Commit: 24052538a0bb0144e6997e6b61687e3b8716b6ac
https://github.com/llvm/llvm-project/commit/24052538a0bb0144e6997e6b61687e3b8716b6ac
Author: Michael Park <mcypark at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang-tools-extra/clangd/ParsedAST.cpp
Log Message:
-----------
Emit `BeginSourceFile` failure with `elog`. (#104845)
There are 3 ways in which `ParseAST::build` can fail and return
`std::nullopt`. 2 of the ways we emit the error message using `elog`,
but for the 3rd way, `log` is used. We should emit all 3 of these
reasons with `elog`.
Commit: 98f2eb7ddab0cadd1eb6e631458ae8406f7d39a1
https://github.com/llvm/llvm-project/commit/98f2eb7ddab0cadd1eb6e631458ae8406f7d39a1
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
Fix StartDebuggingRequestHandler/ReplModeRequestHandler in lldb-dap (#104824)
`SBCommand::AddCommand()` requires `SBCommandPluginInterface` to be heap
based because it will be stored inside
`std::shared_ptr<lldb::SBCommandPluginInterface>` later for reference
counting. But lldb-dap passes
`StartDebuggingRequestHandler/ReplModeRequestHandler` static function
pointer to it which will cause corruption later during destruction.
This PR fixes this issue by making these two handler heap based.
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: c4781396136849e79fe7b0c9ffe1ccb708bb1b67
https://github.com/llvm/llvm-project/commit/c4781396136849e79fe7b0c9ffe1ccb708bb1b67
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
A compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp
Log Message:
-----------
Reapply "[HWASan] symbolize stack overflows" (#102951) (#104036)
This reverts commit d4f6fcf5aaa0911a91317c0b06779f13077d6b58.
Relanding with fixed obj_offset calculation (precedence of operations
was wrong),
and the suggestion in
https://github.com/llvm/llvm-project/pull/95308#discussion_r1714317539
Commit: f5664f585bdc3187461f1dfd78d8f16ed2d990a0
https://github.com/llvm/llvm-project/commit/f5664f585bdc3187461f1dfd78d8f16ed2d990a0
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Support/FormatVariadic.cpp
Log Message:
-----------
[Support] Do not ignore unterminated open { in formatv (#104688)
- When an unterminated open { is detected in the format string, instead
of asserting and ignoring the error, replace that string with another to
indicate the error, and remove the assert as well.
- This will make the error evident in both assert and release builds and
make observing the error more convenient (as several uses of this
function are in TableGen and it is often built in release mode even in
debug builds)
Commit: 31cc4ccdea92a4fee6a327a07251bb0ed1e6a933
https://github.com/llvm/llvm-project/commit/31cc4ccdea92a4fee6a327a07251bb0ed1e6a933
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Log Message:
-----------
[compiler-rt][fuzzer] implements SetThreadName for fuchsia. (#99953)
Commit: 5fcd05967aaa0447d8da01b3f19139f2136863b4
https://github.com/llvm/llvm-project/commit/5fcd05967aaa0447d8da01b3f19139f2136863b4
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Add VOPD combine dependency tests. NFC. (#104841)
Commit: 42ce62800dd24760ab6e400a3d5f898f11fe818a
https://github.com/llvm/llvm-project/commit/42ce62800dd24760ab6e400a3d5f898f11fe818a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Handle incompatible types instead of asserting in `isKnownNonEqual`; NFC
Downstream hit this assert, since it doesn't really make any
difference, just change code to return false.
Commit: ea8bb4d633683f5cbfd82491620be3056f347a02
https://github.com/llvm/llvm-project/commit/ea8bb4d633683f5cbfd82491620be3056f347a02
Author: estewart08 <ethan.stewart at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[offload] - Fix issue with standalone debug offload build (#104647)
Error: CommandLine Error: Option 'attributor-manifest-internal'
registered more than once
During the standalone debug build of offload the above error is seen at
app runtime when using a prebuilt llvm with LLVM_LINK_LLVM_DYLIB=ON.
This is caused by linking both libLLVM.so and various archives that are
found via llvm_map_components_to_libnames for jit support.
Commit: 43b508566799751aa180f1eaaafc5be693f2f1ae
https://github.com/llvm/llvm-project/commit/43b508566799751aa180f1eaaafc5be693f2f1ae
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Complex/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
Log Message:
-----------
[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects on LLVM Dialect and LLVM Core in CMake build (#104832)
This change removes dependencies declared as either 'LINK_LIBS' or
'LINK_COMPONENTS' across several MLIR libraries. The removed
dependencies appear
to be incorrect and may have been required in older versions of the
project.
These dependencies cause many high level dialects to have transitive
dependence on the LLVM dialect and the LLVM 'Core' library
('llvm/lib/IR').
Note that if using the 'Ninja' CMake generator, one can inspect the
dependencies
(including all transitive libraries) of any given MLIR target but using
the command `ninja -C <build dir> -t browse` and navigating to the
library
of interest in a web browser.
Commit: 27dc247964472aaf92ea55cc37310cda25a002ab
https://github.com/llvm/llvm-project/commit/27dc247964472aaf92ea55cc37310cda25a002ab
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Add partial chunk heuristic to retrieval algorithm. (#104807)
Previously the secondary cache retrieval algorithm would not allow
retrievals of memory chunks where the number of unused bytes would be
greater than than `MaxUnusedCachePages * PageSize` bytes. This meant
that even if a memory chunk satisfied the requirements of the optimal
fit algorithm, it may not be returned. This remains true if memory
tagging is enabled. However, if memory tagging is disabled, a new
heuristic has been put in place. Specifically, If a memory chunk is a
non-optimal fit, the cache retrieval algorithm will attempt to release
the excess memory to force a cache hit while keeping RSS down.
In the event that a memory chunk is a non-optimal fit, the retrieval
algorithm will release excess memory as long as the amount of memory to
be released is less than or equal to 16 KB. If the amount of memory to
be released exceeds 16 KB, the retrieval algorithm will not consider
that cached memory chunk valid for retrieval.
Commit: baa6627a0af6d31ddf57036c6f05a7d0fb31f8f2
https://github.com/llvm/llvm-project/commit/baa6627a0af6d31ddf57036c6f05a7d0fb31f8f2
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
Log Message:
-----------
[MLIR][Transforms] Fix dialect conversion inverse mapping (#104648)
Inverse mapping needs to be updated for the result that was remapped (it
was previously only updated halfway).
Commit: b5f3e28eca9bae94412415e5a77f769cf1e4fc61
https://github.com/llvm/llvm-project/commit/b5f3e28eca9bae94412415e5a77f769cf1e4fc61
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[docs] Revise the doc for __builtin_allow_runtime_check
Fix list formatting, improve the wording, and fix the description when
both options (note: prefer "option" to "flag" when arguments are
supported) are specified.
Pull Request: https://github.com/llvm/llvm-project/pull/104886
Commit: d3864d946a178807bb5a87d3d1690e213c89e5be
https://github.com/llvm/llvm-project/commit/d3864d946a178807bb5a87d3d1690e213c89e5be
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/RISCV/riscv-sdata-module-flag.c
R clang/test/Driver/riscv-sdata-warning.c
A clang/test/Driver/riscv-sdata.c
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
Log Message:
-----------
[Driver] Default -msmall-data-limit= to 0 and clean up code
D57497 added -msmall-data-limit= as an alias for -G and defaulted it to 8 for
-fno-pic/-fpie.
The behavior is already different from GCC in a few ways:
* GCC doesn't accept -G.
* GCC -fpie doesn't seem to use -msmall-data-limit=.
* GCC emits .srodata.cst* that we don't use (#82214). Writable contents
caused confusion (https://bugs.chromium.org/p/llvm/issues/detail?id=61)
In addition,
* claiming `-shared` means we don't get a desired `-Wunused-command-line-argument` for `clang --target=riscv64-linux-gnu -fpic -c -shared a.c`.
* -mcmodel=large doesn't work for RISC-V yet, so the special case is strange.
* It's quite unusual to emit a warning when an option (unrelated to relocation model) is used with -fpic.
* We don't want future configurations (Android) to continue adding customization to `SetRISCVSmallDataLimit`.
I believe the extra code just doesn't pull its weight and should be
cleaned up. This patch also changes the default to 0. GP relaxation
users are encouraged to specify these customization options explicitly.
Pull Request: https://github.com/llvm/llvm-project/pull/83093
Commit: 52bfb2611f8d30fae3306c652af7ba5c7e88c147
https://github.com/llvm/llvm-project/commit/52bfb2611f8d30fae3306c652af7ba5c7e88c147
Author: Dmitry Yanovsky <kerambyte at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/unittests/ADT/FunctionExtrasTest.cpp
Log Message:
-----------
[ADT] Fix a minor build error (#104840)
A quick follow-up fix for
https://github.com/llvm/llvm-project/pull/99403
Buildbot
[reported](https://lab.llvm.org/buildbot/#/builders/168/builds/2330) an
error:
```
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ADT/FunctionExtrasTest.cpp:320:8: error: variable 'ptr' is uninitialized when used here [-Werror,-Wuninitialized]
320 | [ptr](void *self) {
| ^~~
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ADT/FunctionExtrasTest.cpp:318:12: note: initialize the variable 'ptr' to silence this warning
318 | void *ptr;
| ^
| = nullptr
1 error generated.
```
So that PR does exactly what's sugested.
Commit: 06fd808654ff814c2f79c2619a5b2be50c56521b
https://github.com/llvm/llvm-project/commit/06fd808654ff814c2f79c2619a5b2be50c56521b
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Complex/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
Log Message:
-----------
Revert "[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects on LLVM Dialect and LLVM Core in CMake build (#104832)"
This reverts commit 43b508566799751aa180f1eaaafc5be693f2f1ae since it
caused the build to break with BUILD_SHARED_LIBS=ON.
Commit: ca148b21505e97f07787c13ec00ffc086d4658d0
https://github.com/llvm/llvm-project/commit/ca148b21505e97f07787c13ec00ffc086d4658d0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/FunctionPointer.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/Sema/block-misc.c
M clang/test/Sema/block-return.c
M clang/test/SemaCXX/consteval-cleanup.cpp
Log Message:
-----------
[clang][bytecode] Support ObjC blocks (#104551)
I started out by adding a new pointer type for blocks, and I was fully
prepared to compile their AST to bytecode and later call them.
... then I found out that the current interpreter doesn't support
calling blocks at all. So we reuse `Function` to support sources other
than `FunctionDecl`s and classify `BlockPointerType` as `PT_FnPtr`.
Commit: 5403123197f8e331d3c2c24d82439ca1fe7e702d
https://github.com/llvm/llvm-project/commit/5403123197f8e331d3c2c24d82439ca1fe7e702d
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
A lld/test/wasm/archive-local-sym.s
M lld/wasm/InputFiles.cpp
Log Message:
-----------
[lld][WebAssembly] Ignore local symbols when parsing lazy object files. (#104876)
This was broken back in #78658 when we transitioned away from archive
indexes to parsing lazy object files.
Fixes: #94077
Fixes: https://github.com/emscripten-core/emscripten/issues/22008
Commit: 2a6136e552d24b6bf665c42a6e32efc0b2d88fbf
https://github.com/llvm/llvm-project/commit/2a6136e552d24b6bf665c42a6e32efc0b2d88fbf
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lld/wasm/Writer.cpp
M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
M llvm/lib/ObjCopy/wasm/WasmObject.cpp
M llvm/lib/ObjCopy/wasm/WasmObject.h
M llvm/lib/ObjCopy/wasm/WasmReader.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/test/ObjectYAML/wasm/invalid_section_order.yaml
M llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test
M llvm/test/tools/llvm-objcopy/wasm/only-keep-debug.test
M llvm/test/tools/llvm-objcopy/wasm/strip-all.test
M llvm/test/tools/llvm-objcopy/wasm/strip-debug.test
M llvm/test/tools/llvm-objcopy/wasm/strip-reloc.test
Log Message:
-----------
[llvm-objcopy][WebAssembly] Allow --strip-debug to operate on relocatable files. (#102978)
This change is enough to allow `--strip-debug` to work on object files,
without breaking the relocation information or symbol table.
A more complete version of this change would instead reconstruct the
symbol table and relocation sections, but that is much larger change.
Bug: #102002
Commit: ea1f05e6189fbe2b567e795677e1d64acbadc0a2
https://github.com/llvm/llvm-project/commit/ea1f05e6189fbe2b567e795677e1d64acbadc0a2
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
[SelectionDAG] Fix lowering of IEEE 754 2019 minimum/maximum
We used integer comparisons instead of floating point comparisons
resulting in very odd behavior.
Commit: a9ce1818174b3e690545b573cc5804d73491ca1a
https://github.com/llvm/llvm-project/commit/a9ce1818174b3e690545b573cc5804d73491ca1a
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
Log Message:
-----------
[NVPTX] Fix bugs involving maximum/minimum and bf16
We would crash on sufficiently old NV hardware (Volta or so) due to
incorrectly marking certain operations legal.
Commit: f9031f00f2c90bc0af274b45ec3e169b5250a688
https://github.com/llvm/llvm-project/commit/f9031f00f2c90bc0af274b45ec3e169b5250a688
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
Revert "[scudo] Add partial chunk heuristic to retrieval algorithm." (#104894)
Reverts llvm/llvm-project#104807
Commit: bf68e9047f62c22ca87f9a4a7c59a46b3de06abb
https://github.com/llvm/llvm-project/commit/bf68e9047f62c22ca87f9a4a7c59a46b3de06abb
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Analysis/SliceWalk.h
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/lib/Analysis/SliceWalk.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
Log Message:
-----------
[MLIR] Introduce a SelectLikeOpInterface (#104751)
This commit introduces a `SelectLikeOpInterface` that can be used to
handle select-like operations generically. Select operations are similar
to control flow operations, as they forward operands depending on
conditions. This is the reason why it was placed to the already existing
control flow interfaces.
Commit: 08a0dece2b2431db8abe650bb43cba01e781e1ce
https://github.com/llvm/llvm-project/commit/08a0dece2b2431db8abe650bb43cba01e781e1ce
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
Log Message:
-----------
[Coroutines] [NFCI] Don't search the DILocalVariable for __promise when constructing the debug varaible for __coro_frame
As the title mentioned, do not search for the DILocalVariable for
__promise when constructing the debug variable for __coro_frame.
This should make sense because the debug variable of `__coro_frame`
shouldn't dependent on the debug variable of `__promise`. And actually,
it is not. Currently, we search the debug variable for `__promise` only
because we want to get the debug location and the debug scope for the
`__promise`. However, we can construct the debug location directly from
the debug scope of the being compiled function. Then it is not necessary
any more to search the `__promise` variable.
And this patch makes the codes to construct the debug variable for
`__coro_frame` to be more stable. Now we will always be able to
construct the debug variable for the coroutine frame no matter if we
found the debug variable for the __promise or not.
This patch is not strictly NFC but it is intended to not affect any end
users.
Commit: 472c79ca52806856c0dc7548a6f82d3bd9e7530c
https://github.com/llvm/llvm-project/commit/472c79ca52806856c0dc7548a6f82d3bd9e7530c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
A llvm/test/Verifier/naked.ll
Log Message:
-----------
[IR] Check that arguments of naked function are not used (#104757)
Verify that the arguments of a naked function are not used. They can
only be referenced via registers/stack in inline asm, not as IR values.
Doing so will result in assertion failures in the backend.
There's probably more that we should verify, though I'm not completely
sure what the constraints are (would it be correct to require that naked
functions are exactly an inline asm call + unreachable, or is more
allowed?)
Fixes https://github.com/llvm/llvm-project/issues/104718.
Commit: d48b807aa8abd1cbfe8ac5d1ba27b8b3617fc5e6
https://github.com/llvm/llvm-project/commit/d48b807aa8abd1cbfe8ac5d1ba27b8b3617fc5e6
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[Coroutines] Fix -Wunused-variable in CoroFrame.cpp (NFC)
/llvm-project/llvm/lib/Transforms/Coroutines/CoroFrame.cpp:1124:15:
error: unused variable 'PromiseAlloca' [-Werror,-Wunused-variable]
AllocaInst *PromiseAlloca = Shape.getPromiseAlloca();
^
1 error generated.
Commit: c29aba7159473c5fc225d4aea75647939497e3ac
https://github.com/llvm/llvm-project/commit/c29aba7159473c5fc225d4aea75647939497e3ac
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] add support for block commands in clang-doc html output (#101108)
Commit: f5f0055a77c14df17809d7c5a977dac88c43f905
https://github.com/llvm/llvm-project/commit/f5f0055a77c14df17809d7c5a977dac88c43f905
Author: Bimo <rui.xu at intel.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
R mlir/python/mlir/extras/__init__.py
Log Message:
-----------
[MLIR][Python] remove unused init python file (#104890)
remove unused `__init__.py` under `mlir/python/mlir/extras`
Commit: 513e0af0a940f3a823f8f0e83189cb33cb81496f
https://github.com/llvm/llvm-project/commit/513e0af0a940f3a823f8f0e83189cb33cb81496f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lld/COFF/Symbols.cpp
A lld/test/COFF/weak-external-cycle.test
Log Message:
-----------
[LLD][COFF] Detect weak reference cycles. (#104463)
Instead of entering an infinite loop.
Commit: c91cc459d396dd4625d3dbf9a2af6fac8151eb4b
https://github.com/llvm/llvm-project/commit/c91cc459d396dd4625d3dbf9a2af6fac8151eb4b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lld/test/ELF/exclude-libs.s
M llvm/lib/IR/DataLayout.cpp
M llvm/test/Assembler/invalid-datalayout-override.ll
M llvm/test/Bitcode/function-default-address-spaces.ll
R llvm/test/Bitcode/invalid-functionptr-align.ll
R llvm/test/Bitcode/invalid-functionptr-align.ll.bc
A llvm/test/Bitcode/invalid-stack-align.ll
A llvm/test/Bitcode/invalid-stack-align.ll.bc
M llvm/test/CodeGen/PowerPC/pr15359.ll
M llvm/test/CodeGen/PowerPC/pr16556-2.ll
M llvm/test/CodeGen/PowerPC/pr16556.ll
M llvm/unittests/IR/DataLayoutTest.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/test/Target/LLVMIR/Import/data-layout.ll
Log Message:
-----------
[DataLayout] Refactor the rest of `parseSpecification` (#104545)
The aim is to improve test coverage of data layout string parsing.
Pull Request: https://github.com/llvm/llvm-project/pull/104545
Commit: 7452014c95f97d2f25ad3e5cfea29085648428da
https://github.com/llvm/llvm-project/commit/7452014c95f97d2f25ad3e5cfea29085648428da
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Simplify !UserVF.isZero() -> UserVF (NFC).
Address post-commit comment for b8dccb7d56c to simplify code.
Commit: a6d81cdf896d901e0f5e672b9a3eccc4ae8759ce
https://github.com/llvm/llvm-project/commit/a6d81cdf896d901e0f5e672b9a3eccc4ae8759ce
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
Log Message:
-----------
[MLIR][Bufferize][NFC] Fix documentation typo (#104881)
Commit: b804516dc5cf2bb99ff02aa49f9d4da76d721ea9
https://github.com/llvm/llvm-project/commit/b804516dc5cf2bb99ff02aa49f9d4da76d721ea9
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/API/SBBreakpointLocation.cpp
M lldb/source/API/SBBreakpointName.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Process/Utility/ThreadMemory.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb][AIX] 1. Avoid namespace collision on other platforms (#104679)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. #101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
The changes on this PR are intended to avoid namespace collision for
certain typedefs between lldb and other platforms:
1. tid_t --> lldb::tid_t
2. offset_t --> lldb::offset_t
Commit: 522c253f47ea27d8eeb759e06f8749092b1de71e
https://github.com/llvm/llvm-project/commit/522c253f47ea27d8eeb759e06f8749092b1de71e
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
A clang/test/CodeGenCoroutines/coro-dwarf-O2.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
Log Message:
-----------
[Coroutines] Salvage the debug information for coroutine frames within optimizations
This patch tries to salvage the debug information for the coroutine
frames within optimizations by creating the help alloca varaibles with
optimizations too. We didn't do this when I implement it initially. I
roughtly remember the reason was, we feel the additional help alloca
variable may pessimize the performance, which is almost the most
important thing under optimizations. But now, it looks like the new
inserted help alloca variables can be optimized out by the following
optimizations. So it looks like the time to make it available within
optimizations.
And also, it looks like the following optimizations will convert the
generated dbg.declare instrinsic into dbg.value intrinsic within
optimizations.
In LLVM's test, there is a slightly regression
that a dbg.declare for the promise object failed to be remained after
this change. But it looks like we won't have a chance to see dbg.declare
for the promise object when we split the coroutine as that dbg.declare
will be converted into a dbg.value in early stage.
So everything looks fine.
Commit: 5adbce072c1d9036eb1b31daafc085e318126f3d
https://github.com/llvm/llvm-project/commit/5adbce072c1d9036eb1b31daafc085e318126f3d
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[llvm][GitHub] Fix formatting of new contributor comments
GitHub won't reflow the text unless we put it all on one line.
If we try to make our own paragrpahs it comes out too narrow or
too wide.
Commit: 66953c9582b0ad960ccbb8463158273cdc40cd8f
https://github.com/llvm/llvm-project/commit/66953c9582b0ad960ccbb8463158273cdc40cd8f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
Log Message:
-----------
[mlir][ArmSME][docs] Update example (NFC)
Commit: ba7dadf0e918cbb0e6867d78aebd0cc3fc843bcc
https://github.com/llvm/llvm-project/commit/ba7dadf0e918cbb0e6867d78aebd0cc3fc843bcc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/Modules/merge-using-decls.cpp
Log Message:
-----------
[clang][bytecode] Fix initializing base casts (#104901)
Use delegate() there. To fix a follow-up problem, abort when a cast ends
up on a valid Pointer that isn't a base class.
Commit: f1b642775f11c6defd06eea64df22a465b46a0ce
https://github.com/llvm/llvm-project/commit/f1b642775f11c6defd06eea64df22a465b46a0ce
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[Clang][test] Add bytecode interpreter tests for floating comparison functions (#104703)
See also: #94118, 71801707e33c235656b172fa7dfb8662473a95c2
Commit: 3c5374595bf20bd9665dce5b832d7cc1f09b8415
https://github.com/llvm/llvm-project/commit/3c5374595bf20bd9665dce5b832d7cc1f09b8415
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
Log Message:
-----------
[mlir][EmitC] Do not convert illegal types in EmitC (#104571)
This patch adds check for unsupported types in emitc, which fixes a
crash. Fix #103706.
Commit: e47b507562624bf291ab2515699d39c2669b6131
https://github.com/llvm/llvm-project/commit/e47b507562624bf291ab2515699d39c2669b6131
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Dialect/EmitC/transforms.mlir
M mlir/test/Dialect/EmitC/types.mlir
M mlir/test/Target/Cpp/common-cpp.mlir
M mlir/test/Target/Cpp/expressions.mlir
M mlir/test/Target/Cpp/for.mlir
M mlir/test/Target/Cpp/global.mlir
M mlir/test/Target/Cpp/if.mlir
M mlir/test/Target/Cpp/invalid.mlir
M mlir/test/Target/Cpp/invalid_declare_variables_at_top.mlir
A mlir/test/Target/Cpp/lvalue.mlir
M mlir/test/Target/Cpp/member.mlir
M mlir/test/Target/Cpp/subscript.mlir
M mlir/test/Target/Cpp/switch.mlir
M mlir/test/Target/Cpp/variable.mlir
Log Message:
-----------
[mlir][EmitC] Model lvalues as a type in EmitC (#91475)
This adds an `emitc.lvalue` type which models assignable lvlaues in the
type system. Operations modifying memory are restricted to this type
accordingly.
See also the discussion on
[discourse](https://discourse.llvm.org/t/rfc-separate-variables-from-ssa-values-in-emitc/75224/9).
The most notable changes are as follows.
- `emitc.variable` and `emitc.global` ops are restricted to return
`emitc.array` or `emitc.lvalue` types
- Taking the address of a value is restricted to operands with lvalue
type
- Conversion from lvalues into SSA values is done with the new
`emitc.load` op
- The var operand of the `emitc.assign` op is restricted to lvalue type
- The result of the `emitc.subscript` and `emitc.get_global` ops is a
lvalue type
- The operands and results of the `emitc.member` and
`emitc.member_of_ptr` ops are restricted to lvalue types
---------
Co-authored-by: Matthias Gehre <matthias.gehre at amd.com>
Commit: b432afc28406b670a58933c2fe56c73e6f85911e
https://github.com/llvm/llvm-project/commit/b432afc28406b670a58933c2fe56c73e6f85911e
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/GenericSSAContext.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/include/llvm/CodeGen/MachineSSAContext.h
M llvm/include/llvm/IR/SSAContext.h
M llvm/lib/Analysis/CycleAnalysis.cpp
M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
M llvm/lib/IR/CycleInfo.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/CycleInfo/basic.ll
M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll
Log Message:
-----------
[CycleAnalysis] Methods to verify cycles and their nesting. (#102300)
The original implementation provided a simple method to check whether
the forest of nested cycles is well-formed. This is now augmented with
other methods to check well-formedness of all cycles, either
invdividually, or as the entire forest. These will be used by future
transforms that modify CycleInfo.
Commit: ba84cfbe0ce2c697702c377b32e4dbf50dd1e114
https://github.com/llvm/llvm-project/commit/ba84cfbe0ce2c697702c377b32e4dbf50dd1e114
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Analysis/BasicAA/gep-nuw-alias.ll
Log Message:
-----------
[BasicAA] Use nuw attribute of GEPs (#98608)
Use the nuw attribute of GEPs to prove that pointers do not alias, in
cases matching the following:
+ + +
| BaseOffset | +<nuw> Indices |
---------------->|-------------------->|
|-->V2Size | |-------> V1Size
LHS RHS
If the difference between pointers is Offset +<nuw> Indices then we know
that the addition does not wrap the pointer index type (add nuw) and the
constant Offset is a lower bound on the distance between the pointers. We
can then prove NoAlias via Offset u>= V2Size.
Commit: aa875cfe11ddec239934e37ce07c1cf7804bb73b
https://github.com/llvm/llvm-project/commit/aa875cfe11ddec239934e37ce07c1cf7804bb73b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
Log Message:
-----------
[Flang][OpenMP] Prevent re-composition of composite constructs (#102613)
After decomposition of OpenMP compound constructs and assignment of
applicable clauses to each leaf construct, composite constructs are then
combined again into a single element in the construct queue. This helped
later lowering stages easily identify composite constructs.
However, as a result of the re-composition stage, the same list of
clauses is used to produce all MLIR operations corresponding to each
leaf of the original composite construct. This undoes existing logic
introducing implicit clauses and deciding to which leaf construct(s)
each clause applies.
This patch removes construct re-composition logic and updates Flang
lowering to be able to identify composite constructs from a list of leaf
constructs. As a result, the right set of clauses is produced for each
operation representing a leaf of a composite construct.
PR stack:
- #102612
- #102613
Commit: 34a88bbc34870e43fc00a9fc39f9267c844ac207
https://github.com/llvm/llvm-project/commit/34a88bbc34870e43fc00a9fc39f9267c844ac207
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
M mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
M mlir/test/Dialect/DLTI/invalid.mlir
M mlir/test/Dialect/DLTI/query.mlir
M mlir/test/Dialect/DLTI/valid.mlir
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[MLIR][DLTI] Introduce DLTIQueryInterface and impl for DLTI attrs (#104595)
This new interface is supposed to capture the core functionality of
DLTI: querying for values at keys. As such this new interface unifies
the ability to query DLTI attributes in a single method: query(). All
existing DLTI interfaces exposing their own query methods now 1) now
extend this new interface and 2) provide a default implementation for
`query()`.
As DLTIQueryInterface::query() returns an attribute, it naturally
enables recursive queries on nested DLTI attrs. A utility function,
`dlti::query()`, implements the logic for nested lookups.
A new `#dlti.map` attribute is introduced to capture the most generic
form of a finite DLTI-mapping. One of the benefits is that it allows for
more easily encoding hierachical information that is suitably queryable,
i.e. by means of nested attributes.
In line with the above, `transform.dlti.query` is modified so as to take
an arbitrary number of keys and to perform a nested lookup using the
above utility function.
Commit: b9864387d9d00e1d4888181460d05dbc92364d75
https://github.com/llvm/llvm-project/commit/b9864387d9d00e1d4888181460d05dbc92364d75
Author: Ian Anderson <iana at apple.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/darwin-builtin-modules.c
Log Message:
-----------
[clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (#104872)
Mac Catalyst is the iOS platform, but it builds against the macOS SDK
and so it needs to be checking the macOS SDK version instead of the iOS
one. Add tests against a greater-than SDK version just to make sure this
works beyond the initially supporting SDKs.
Commit: 42067f26cd084d29fdd08a75a36b8785ae9f3982
https://github.com/llvm/llvm-project/commit/42067f26cd084d29fdd08a75a36b8785ae9f3982
Author: Robert Barinov <165884206+rbintel at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
A llvm/test/tools/llvm-reduce/Inputs/reduce-distinct-metadata.py
A llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
Log Message:
-----------
[LLVM-Reduce] - Distinct Metadata Reduction (#104624)
Commit: 4aacc60fe7e1f7b3f788bba8382ea1fa5189ef3b
https://github.com/llvm/llvm-project/commit/4aacc60fe7e1f7b3f788bba8382ea1fa5189ef3b
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/GenericSSAContext.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/include/llvm/CodeGen/MachineSSAContext.h
M llvm/include/llvm/IR/SSAContext.h
M llvm/lib/Analysis/CycleAnalysis.cpp
M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
M llvm/lib/IR/CycleInfo.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/CycleInfo/basic.ll
M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll
Log Message:
-----------
Revert "[CycleAnalysis] Methods to verify cycles and their nesting. (#102300)"
This reverts commit b432afc28406b670a58933c2fe56c73e6f85911e.
Reverted due to linker failures in expensive-checks.
Commit: c99347a9f5f94eba7dff53dffeb94ab390663f8a
https://github.com/llvm/llvm-project/commit/c99347a9f5f94eba7dff53dffeb94ab390663f8a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/c23.c
Log Message:
-----------
[clang][bytecode] Fix discarding CompoundLiteralExprs (#104909)
Commit: b3fa45b64265d182ba081b2cfdcce454b72280d5
https://github.com/llvm/llvm-project/commit/b3fa45b64265d182ba081b2cfdcce454b72280d5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
Log Message:
-----------
[SimplifyCFG] Add support for hoisting commutative instructions (#104805)
This extends SimplifyCFG hoisting to also hoist instructions with
commuted operands, for example a+b on one side and b+a on the other
side.
This should address the issue mentioned in:
https://github.com/llvm/llvm-project/pull/91185#issuecomment-2097447927
Commit: 3b49d274e6f16d1c8db5f4557eb7866a4bafffa5
https://github.com/llvm/llvm-project/commit/3b49d274e6f16d1c8db5f4557eb7866a4bafffa5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
A clang/test/CodeGen/X86/strictfp_patterns.c
Log Message:
-----------
[X86] Add clang codegen test coverage for #104848
Commit: 6dcce422ca06601f2b00e85cc18c745ede245ca6
https://github.com/llvm/llvm-project/commit/6dcce422ca06601f2b00e85cc18c745ede245ca6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/strictfp_patterns.c
Log Message:
-----------
[X86] Use correct fp immediate types in _mm_set_ss/sd
Avoids implicit sint_to_fp which wasn't occurring on strict fp codegen
Fixes #104848
Commit: 21de04918e0b4b6835d331b726861740525d06d9
https://github.com/llvm/llvm-project/commit/21de04918e0b4b6835d331b726861740525d06d9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
[gn build] Port 42067f26cd08
Commit: f321456e1aaff050a44698f1273da9589e74ebb4
https://github.com/llvm/llvm-project/commit/f321456e1aaff050a44698f1273da9589e74ebb4
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/test/CodeGen/AArch64/abds.ll
Log Message:
-----------
[ScheduleDAG] Dirty height/depth in addPred/removePred even for latency zero (#102915)
A long time ago (back in 2009) there was a commit 52d4d8244b7c39c5cd
that changed the scheduler to not dirty height/depth when adding or
removing SUnit predecessors when the latency on the edge was zero. That
commit message is claiming that the depth or height isn't affected when
the latency is zero.
As a matter of fact, the depth/height can change even with a zero
latency on the edge. If for example adding a new SUnit A, with zero
latency, but as a predecessor to a SUnit B, then both height of A and
depth of B should be marked as dirty. If for example B has a greater
height than A, then the height of A needs to be adjusted even if the
latency is zero.
I think this has been wrong for many years. Downstream we have had
commit 52d4d8244b7c39c5cd reverted since back in 2016. There is no
motivating lit test for 52d4d8244b7c39c5cd (only an incomplete C level
reproducer in https://github.com/llvm/llvm-project/issues/3613).
After commit 13d04fa560e156797c21f1 there finally appeared an upstream
lit test that shows that we get better code if marking height/depth as
dirty (llvm/test/CodeGen/AArch64/abds.ll).
Commit: 3f25f23a2b8aaff300e751d4724a3ddba4d694eb
https://github.com/llvm/llvm-project/commit/3f25f23a2b8aaff300e751d4724a3ddba4d694eb
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/gfniintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/pmmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
Log Message:
-----------
[X86][AVX10] Fix unexpected error and warning when using intrinsic (#104781)
E.g.: https://godbolt.org/z/G8zK5svjK
Based on Evgenii's work.
Commit: 39e3085a55880dbbc5aeddc3661342980d5e1467
https://github.com/llvm/llvm-project/commit/39e3085a55880dbbc5aeddc3661342980d5e1467
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
R clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Misc/target-invalid-cpu-note/aarch64.c
A clang/test/Misc/target-invalid-cpu-note/amdgcn.c
A clang/test/Misc/target-invalid-cpu-note/arm.c
A clang/test/Misc/target-invalid-cpu-note/avr.c
A clang/test/Misc/target-invalid-cpu-note/bpf.c
A clang/test/Misc/target-invalid-cpu-note/hexagon.c
A clang/test/Misc/target-invalid-cpu-note/lanai.c
A clang/test/Misc/target-invalid-cpu-note/mips.c
A clang/test/Misc/target-invalid-cpu-note/nvptx.c
A clang/test/Misc/target-invalid-cpu-note/powerpc.c
A clang/test/Misc/target-invalid-cpu-note/r600.c
A clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Misc/target-invalid-cpu-note/sparc.c
A clang/test/Misc/target-invalid-cpu-note/systemz.c
A clang/test/Misc/target-invalid-cpu-note/wasm.c
A clang/test/Misc/target-invalid-cpu-note/x86.c
Log Message:
-----------
[clang][NFC] Split invalid-cpu-note tests (#104601)
This change does two kinds of splits:
- Splits each target into a different file. Some targets are left in the
same files, such as riscv32/64 and x86/_64 as these tests and lists are
very similar.
- Splits up the very long 'note:' lines which contain a list of CPUs,
using `CHECK-SAME`. There was a note about this not being possible
before, but with `{{^}}`, this is now possible -- I have
verified that this does the right thing if a single CPU anywhere in the
list is left out.
These tests had become quite annoying to change when adding a CPU, and I
believe this change makes these easier to maintain, and should cut down
on conflicts in these files (or at least makes conflicts easier to
resolve).
I apologise in advance for downstream conflicts, but hopefully that's a
small amount of short term pain, in return for fewer conflicts in
future.
Commit: 7cfc9a3a3d87e39611438e4bd178358329573294
https://github.com/llvm/llvm-project/commit/7cfc9a3a3d87e39611438e4bd178358329573294
Author: Bogdan-Alexandru Geană <1569265+abgeana at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
Log Message:
-----------
[llvm-c] Add getters for LLVMContextRef for various types (#99087)
Small PR to add additional getters for LLVMContextRef in the C API.
Commit: eb7d535199d7fc3de763276093b97141a041d3d6
https://github.com/llvm/llvm-project/commit/eb7d535199d7fc3de763276093b97141a041d3d6
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/attributes.c
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-c-test/llvm-c-test.h
M llvm/tools/llvm-c-test/module.c
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
[LLVM] Add a C API for creating instructions with custom syncscopes. (#104775)
Another upstreaming of C API extensions we have in Julia/LLVM.jl.
Although [we went](https://github.com/maleadt/LLVM.jl/pull/431) with a
string-based API there, here I'm proposing something that's similar to
existing metadata/attribute APIs:
- explicit functions to map syncscope names to IDs, and back
- `LLVM*SyncScope` versions of builder APIs that already take a
`SingleThread` argument: atomic rmw, atomic xchg, fence
- `LLVMGetAtomicSyncScopeID` and `LLVMSetAtomicSyncScopeID` for other
atomic instructions
- testing through `llvm-c-test`'s `--echo` functionality
Commit: 2511cdb078b168796080150a23619c806ed350f2
https://github.com/llvm/llvm-project/commit/2511cdb078b168796080150a23619c806ed350f2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[InstCombine] Adjust fixpoint error message (NFC)
Add a hint to use the no-verify-fixpoint option.
Commit: 34e15adb5a725a5ecc7c0d5ef5571d307d751a93
https://github.com/llvm/llvm-project/commit/34e15adb5a725a5ecc7c0d5ef5571d307d751a93
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Remove TargetParser CPU/Arch feature tests (#104587)
These are annoying to update, and are redundant since the tests in
clang/test/Driver/print-enabled-extensions/ were added.
Commit: 5f3c0b23759faa80b0be59531f7e6643f9c95d32
https://github.com/llvm/llvm-project/commit/5f3c0b23759faa80b0be59531f7e6643f9c95d32
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
Log Message:
-----------
[AArch64][NEON] Extend faminmax patterns with fminnm/fmaxnm (#104766)
Patterns were previously added to allow the following reductions
- fminimum(abs(a), abs(b)) -> famin(a, b)
- fmaximum(abs(a), abs(b)) -> famax(a, b)
- https://github.com/llvm/llvm-project/pull/103027
It was suggested by @davemgreen that the following reductions are also
possible
- fminnum[nnan](abs(a), abs(b)) -> famin(a, b)
- fmaxnum[nnan](abs(a), abs(b)) -> famax(a, b)
('nnan' documenatation:
https://llvm.org/docs/LangRef.html#fast-math-flags)
The 'no NaNs' flag allows optimisations to assume that neither argument
is a NaN, and so the differing NaN propagation semantics of
llvm.maxnum/llvm.minnum and FAMAX/FAMIN can be ignored in this
reduction.
(llvm.maxnum/llvm.minnum:
https://llvm.org/docs/LangRef.html#llvm-minnum-intrinsic)
- Changes to LLVM
- lib/target/AArch64/AArch64InstrInfo.td
- add 'fminnm_nnan' and 'fmaxnm_nnan'; patfrags on fminnm/fmaxnm that
are predicated on the instrinsic call having the 'nnan' flag.
- add AArch64famin and AArch64famax patfrags, containing the new and
existing reductions.
- test/CodeGen/AArch64/aarch64-neon-faminmax.ll
- add positive and negative tests for the new reduction, based on the
presence of 'nnan' in the IR intrinsic call.
Commit: cfc76b6498a3c03268b3f319249afa4512d68e1c
https://github.com/llvm/llvm-project/commit/cfc76b6498a3c03268b3f319249afa4512d68e1c
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/CMakeLists.txt
M llvm/lib/Frontend/Offloading/Utility.cpp
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
Log Message:
-----------
[llvm][offload] Move AMDGPU offload utilities to LLVM (#102487)
This patch moves utilities from
`offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h` to
`llvm/Frontend/Offloading/Utility.h` to be reused by
other projects.
Concretely the following changes were made:
- Rename `KernelMetaDataTy` to `AMDGPUKernelMetaData`.
- Remove unused fields `KernelObject`, `KernelSegmentSize`,
`ExplicitArgumentCount` and `ImplicitArgumentCount` from
`AMDGPUKernelMetaData`.
- Return the produced error if `ELFObj.sections()` failed instead of
using `cantFail`.
- Added `AGPRCount` field to `AMDGPUKernelMetaData`.
- Added a default invalid value to all the fields in
`AMDGPUKernelMetaData`.
Commit: 576b7a781aac6b1d60a72248894b50e565e9185a
https://github.com/llvm/llvm-project/commit/576b7a781aac6b1d60a72248894b50e565e9185a
Author: Koakuma <koachan at protonmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/test/CodeGen/SPARC/inlineasm.ll
Log Message:
-----------
[SPARC] Remove assertions in printOperand for inline asm operands (#104692)
Inline asm operands could contain any kind of relocation, so remove the
checks.
Fixes https://github.com/llvm/llvm-project/issues/103493
Commit: fc044901a2b8ae277b62bdde9140917913bd1644
https://github.com/llvm/llvm-project/commit/fc044901a2b8ae277b62bdde9140917913bd1644
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/TestBreakpoint.py
Log Message:
-----------
[lldb][Windows] Fixed the API test breakpoint_with_realpath_and_source_map (#104918)
This test is already disabled for Windows because of symlinks. Disable
it for cross build on Windows host too.
Commit: ee572ed4ac2d9e2ff37217d6bedc20f530a5d3af
https://github.com/llvm/llvm-project/commit/ee572ed4ac2d9e2ff37217d6bedc20f530a5d3af
Author: hanbeom <kese111 at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
[AArch64] Optimize when storing symmetry constants (#93717)
This change looks for instructions of storing symmetric constants
instruction 32-bit units. usually consisting of several 'MOV' and
one or less 'ORR'.
If found, load only the lower 32-bit constant and change it to copy
and save to the upper 32-bit using the 'STP' instruction.
For example:
renamable $x8 = MOVZXi 49370, 0
renamable $x8 = MOVKXi $x8, 320, 16
renamable $x8 = ORRXrs $x8, $x8, 32
STRXui killed renamable $x8, killed renamable $x0, 0
becomes
$w8 = MOVZWi 49370, 0
$w8 = MOVKWi $w8, 320, 16
STPWi killed renamable $w8, killed renamable $w8, killed renamable $x0,
0
related issue : https://github.com/llvm/llvm-project/issues/51483
Commit: e6da78a326a7cbf8f3a6422d33f48d13708e0da3
https://github.com/llvm/llvm-project/commit/e6da78a326a7cbf8f3a6422d33f48d13708e0da3
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/lib/Analysis/CycleAnalysis.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/CycleInfo/basic.ll
M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll
Log Message:
-----------
Reapply "[CycleAnalysis] Methods to verify cycles and their nesting. (#102300)"
This reverts commit 4aacc60fe7e1f7b3f788bba8382ea1fa5189ef3b.
The original implementation provided a simple method to check whether the forest
of nested cycles is well-formed. This is now augmented with other methods to
check well-formedness of every cycle, either individually, or as the entire
forest. These will be used by future transforms that modify CycleInfo.
Commit: fe946bfb728481a249282fb1e14378bf444defd3
https://github.com/llvm/llvm-project/commit/fe946bfb728481a249282fb1e14378bf444defd3
Author: David Green <david.green at arm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/peephole-sxtw.mir
Log Message:
-----------
[AArch64] Extend sxtw peephole to uxtw. (#104516)
This extends the existing sxtw peephole optimization (#96293) to uxtw,
which in llvm is a ORRWrr which clears the top bits.
Fixes #98481
Commit: fd83b86bf6da6486d447d67f2c8204aa1a94dfd6
https://github.com/llvm/llvm-project/commit/fd83b86bf6da6486d447d67f2c8204aa1a94dfd6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/bit-checks.ll
Log Message:
-----------
[InstCombine] Thwart complexity-based canonicalization in test (NFC)
Commit: 27e5f505e5eee3da27c1515d6ed95d66fbe543ea
https://github.com/llvm/llvm-project/commit/27e5f505e5eee3da27c1515d6ed95d66fbe543ea
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/ffp-model.c
M clang/test/Driver/fp-model.c
Log Message:
-----------
[Driver] Make ffp-model=fast honor non-finite-values, introduce ffp-model=aggressive (#100453)
This change modifies -ffp-model=fast to select options that more closely
match -funsafe-math-optimizations, and introduces a new model,
-ffp-model=aggressive which matches the existing behavior (except for a
minor change in the fp-contract behavior).
The primary motivation for this change is to make -ffp-model=fast more
user friendly, particularly in light of LLVM's aggressive optimizations
when -fno-honor-nans and -fno-honor-infinites are used.
This was previously proposed here:
https://discourse.llvm.org/t/making-ffp-model-fast-more-user-friendly/78402
Commit: 254da5ab8bce846bcbac9862f31c1891d8feea44
https://github.com/llvm/llvm-project/commit/254da5ab8bce846bcbac9862f31c1891d8feea44
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/ctlz-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctlz-latency.ll
M llvm/test/Analysis/CostModel/X86/ctlz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/ctlz.ll
M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/cttz.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Transforms/LoopIdiom/X86/ctlz.ll
M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-zero.ll
Log Message:
-----------
[CostModel][X86] Add missing costkinds for scalar CTLZ/CTTZ instructions
Baed off worst case llvm-mca numbers for CTLZ/CTTZ(+ZERO_UNDEF) codegen
Prep work for #102885
Commit: 9bb555688caf6ae4ba89fee5baa3dc29fec6a9b1
https://github.com/llvm/llvm-project/commit/9bb555688caf6ae4ba89fee5baa3dc29fec6a9b1
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
A llvm/include/llvm/CGData/CodeGenData.h
A llvm/include/llvm/CGData/CodeGenData.inc
A llvm/include/llvm/CGData/CodeGenDataReader.h
A llvm/include/llvm/CGData/CodeGenDataWriter.h
A llvm/include/llvm/CGData/OutlinedHashTree.h
A llvm/include/llvm/CGData/OutlinedHashTreeRecord.h
R llvm/include/llvm/CodeGenData/OutlinedHashTree.h
R llvm/include/llvm/CodeGenData/OutlinedHashTreeRecord.h
A llvm/lib/CGData/CMakeLists.txt
A llvm/lib/CGData/CodeGenData.cpp
A llvm/lib/CGData/CodeGenDataReader.cpp
A llvm/lib/CGData/CodeGenDataWriter.cpp
A llvm/lib/CGData/OutlinedHashTree.cpp
A llvm/lib/CGData/OutlinedHashTreeRecord.cpp
M llvm/lib/CMakeLists.txt
R llvm/lib/CodeGenData/CMakeLists.txt
R llvm/lib/CodeGenData/OutlinedHashTree.cpp
R llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
A llvm/test/tools/llvm-cgdata/convert.test
A llvm/test/tools/llvm-cgdata/empty.test
A llvm/test/tools/llvm-cgdata/error.test
A llvm/test/tools/llvm-cgdata/merge-archive.test
A llvm/test/tools/llvm-cgdata/merge-concat.test
A llvm/test/tools/llvm-cgdata/merge-double.test
A llvm/test/tools/llvm-cgdata/merge-single.test
A llvm/test/tools/llvm-cgdata/show.test
A llvm/tools/llvm-cgdata/CMakeLists.txt
A llvm/tools/llvm-cgdata/Opts.td
A llvm/tools/llvm-cgdata/llvm-cgdata.cpp
A llvm/unittests/CGData/CMakeLists.txt
A llvm/unittests/CGData/OutlinedHashTreeRecordTest.cpp
A llvm/unittests/CGData/OutlinedHashTreeTest.cpp
M llvm/unittests/CMakeLists.txt
R llvm/unittests/CodeGenData/CMakeLists.txt
R llvm/unittests/CodeGenData/OutlinedHashTreeRecordTest.cpp
R llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp
Log Message:
-----------
Reland [CGData] llvm-cgdata #89884 (#101461)
Reland [CGData] llvm-cgdata #89884 using `Opt` instead of `cl`
- Action options are required, `--convert`, `--show`, `--merge`. This
was similar to sub-commands previously implemented, but having a prefix
`--`.
- `--format` option is added, which specifies `text` or `binary`.
---------
Co-authored-by: Kyungwoo Lee <kyulee at fb.com>
Commit: 74f5ee4ffe89da4a0e9c762c69f8a68536fbf754
https://github.com/llvm/llvm-project/commit/74f5ee4ffe89da4a0e9c762c69f8a68536fbf754
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
A llvm/test/CodeGen/DirectX/Metadata/empty-valver1.8.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
Log Message:
-----------
[DXIL][Analysis] Add validator version to info collected by Module Metadata Analysis (#104828)
Add Validator Version to information collected by Module Metadata
Analysis pass. An earlier change (#104040) added a default hardcoded
value for validator version to be associated with DXIL module created
during HLSL source compilation.
Add tests to verify validator version info collected
- Updated existing tests
- Added a test with validator version specified in DXIL metadata
Commit: 8f4f3df3c0ffc22c09d9201980a88ebb8aecc8f8
https://github.com/llvm/llvm-project/commit/8f4f3df3c0ffc22c09d9201980a88ebb8aecc8f8
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
Log Message:
-----------
Reenable anon structs (#104922)
Add back missing includes and revert revert "[clang][ExtractAPI] Stop
dropping fields of nested anonymous record types when they aren't
attached to variable declaration (#104600)"
Commit: 723a9b87e212a06ae1183f52aa51fa5e367d5a68
https://github.com/llvm/llvm-project/commit/723a9b87e212a06ae1183f52aa51fa5e367d5a68
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
Log Message:
-----------
[llvm-cgdata] Fix -Wcovered-switch-default (NFC)
/llvm-project/llvm/tools/llvm-cgdata/llvm-cgdata.cpp:349:3:
error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
default:
^
1 error generated.
Commit: b5f7b6961d2bc4d852fc3a5992aecf5e2e48baee
https://github.com/llvm/llvm-project/commit/b5f7b6961d2bc4d852fc3a5992aecf5e2e48baee
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] fix buildbot by removing dead code
Failure with -Werror buildbot caused by #104587
Commit: 1c3955f9dff9b653be88d5dea5bc3cd007904e90
https://github.com/llvm/llvm-project/commit/1c3955f9dff9b653be88d5dea5bc3cd007904e90
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
Log Message:
-----------
[clang][OpenMP] Fix typo in comment, NFC
Commit: 55d744eea36194809c4d16437db08aaa91c74292
https://github.com/llvm/llvm-project/commit/55d744eea36194809c4d16437db08aaa91c74292
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
A llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
A llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPromoteKernelArguments.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
R llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
R llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Move AMDGPUMemoryUtils out of Utils. NFC. (#104930)
It is only used by CodeGen so does not need to be shared with the
assembler/disassembler.
Commit: d5e9691509aa774d1acedc4d3fa2d497757a2d6d
https://github.com/llvm/llvm-project/commit/d5e9691509aa774d1acedc4d3fa2d497757a2d6d
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/elect.ll
Log Message:
-----------
[NVPTX] Add elect.sync Intrinsic (#104780)
This patch adds an NVVM intrinsic and NVPTX codegen for the elect.sync
PTX instruction. Lit tests are
added in elect.ll and verified through ptxas.
PTX ISA reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-elect-sync
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 5f777347197da26f9f9b5c561b5ba83f307519bb
https://github.com/llvm/llvm-project/commit/5f777347197da26f9f9b5c561b5ba83f307519bb
Author: Chris Apple <cja-private at pm.me>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/BitCodeFormat.rst
Log Message:
-----------
[NFC] Remove explicit bitcode enumeration from BitCodeFormat.rst (#102618)
This explicit listing of the bitcodes is out of date, and had fallen out of date in the past as well.
Delete the explicit listing and point users to where they can find it.
Commit: 5032fa89ad1ea1b460a0b9ef1375d7c868db1712
https://github.com/llvm/llvm-project/commit/5032fa89ad1ea1b460a0b9ef1375d7c868db1712
Author: Marius Brehler <marius.brehler at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[MLIR][EmitC] Allow ptrdiff_t as result in sub op (#104921)
This explicitly allows the `emitc.ptrdiff_t` type for the result of
substrating two pointers and changes the example accordingly.
Commit: c670cb47d109b68158dd53885aff94542a8312c5
https://github.com/llvm/llvm-project/commit/c670cb47d109b68158dd53885aff94542a8312c5
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
R llvm/test/CodeGen/DirectX/Metadata/empty-valver1.8.ll
Log Message:
-----------
[DXIL][Analysis] Delete unnecessary test (#105025)
Delete an unnecessary test added in an earlier PR.
Commit: 90a8e5a7ac52d05c2331f0f3d1461fcab6b7d520
https://github.com/llvm/llvm-project/commit/90a8e5a7ac52d05c2331f0f3d1461fcab6b7d520
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
Log Message:
-----------
InferAddressSpaces: Factor replacement loop into function [NFC] (#104430)
Commit: f9e2a86b2e852dbed027e6aea5b48f32f2415b13
https://github.com/llvm/llvm-project/commit/f9e2a86b2e852dbed027e6aea5b48f32f2415b13
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[clang][ASTMatcher] Fix execution order of hasOperands submatchers (#104148)
`hasOperands` does not always execute matchers in the order they are
written. This can cause issue in code using bindings when one operand
matcher is relying on a binding set by the other. With this change, the
first matcher present in the code is always executed first and any
binding it sets are available to the second matcher.
Simple example with current version (1 match) and new version (2
matches):
```bash
> cat tmp.cpp
int a = 13;
int b = ((int) a) - a;
int c = a - ((int) a);
> clang-query tmp.cpp
clang-query> set traversal IgnoreUnlessSpelledInSource
clang-query> m binaryOperator(hasOperands(cStyleCastExpr(has(declRefExpr(hasDeclaration(valueDecl().bind("d"))))), declRefExpr(hasDeclaration(valueDecl(equalsBoundNode("d"))))))
Match #1:
tmp.cpp:1:1: note: "d" binds here
int a = 13;
^~~~~~~~~~
tmp.cpp:2:9: note: "root" binds here
int b = ((int)a) - a;
^~~~~~~~~~~~
1 match.
> ./build/bin/clang-query tmp.cpp
clang-query> set traversal IgnoreUnlessSpelledInSource
clang-query> m binaryOperator(hasOperands(cStyleCastExpr(has(declRefExpr(hasDeclaration(valueDecl().bind("d"))))), declRefExpr(hasDeclaration(valueDecl(equalsBoundNode("d"))))))
Match #1:
tmp.cpp:1:1: note: "d" binds here
1 | int a = 13;
| ^~~~~~~~~~
tmp.cpp:2:9: note: "root" binds here
2 | int b = ((int)a) - a;
| ^~~~~~~~~~~~
Match #2:
tmp.cpp:1:1: note: "d" binds here
1 | int a = 13;
| ^~~~~~~~~~
tmp.cpp:3:9: note: "root" binds here
3 | int c = a - ((int)a);
| ^~~~~~~~~~~~
2 matches.
```
If this should be documented or regression tested anywhere please let me
know where.
Commit: 8f44feedb593cde6826d1b417c4d4d58ca060dde
https://github.com/llvm/llvm-project/commit/8f44feedb593cde6826d1b417c4d4d58ca060dde
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[docs] Fix typo in llvm.experimental.vector.compress code-block snippet
Commit: c106e8d729d121bb70739d9703be8b8cd416916f
https://github.com/llvm/llvm-project/commit/c106e8d729d121bb70739d9703be8b8cd416916f
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[Support] Remove unneeded __has_include fallback
This is a C++17 feature implemented in all supported compilers.
Pull Request: https://github.com/llvm/llvm-project/pull/104898
Commit: 7c06786479311fbf19f54c7980c6e96936fa05a8
https://github.com/llvm/llvm-project/commit/7c06786479311fbf19f54c7980c6e96936fa05a8
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Signals.inc
M llvm/unittests/Support/SignalsTest.cpp
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove HAVE_LINK_H
We can remove the variable from https://reviews.llvm.org/D5610 since
link.h is available on Linux (glibc/musl/Bionic), FreeBSD, and NetBSD.
Use `__has_include(<link.h>)` before including it.
Pull Request: https://github.com/llvm/llvm-project/pull/104893
Commit: 61f8ab3a367505ac8fab900f9160ecd629a85859
https://github.com/llvm/llvm-project/commit/61f8ab3a367505ac8fab900f9160ecd629a85859
Author: Alex Rice <alexrice999 at hotmail.co.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDL.td
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
Log Message:
-----------
[mlir] [irdl] Improve IRDL documentation (#104928)
Updates some of the irdl documentation to be in line with the current
state of IRDL. Also removes some trailing spaces in this documentation.
Commit: 2641ed7d26198557a63ce447a0584a96494a5ac4
https://github.com/llvm/llvm-project/commit/2641ed7d26198557a63ce447a0584a96494a5ac4
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/spmdization.ll
Log Message:
-----------
[OpenMP][FIX] Check for requirements early (#104836)
If we can't transform the region to SPMD, we should not wait till the
end to decide that. Other AAs might assume SPMD, and we did set the
constant initializer to indicate SPMD, but we did not change the code
properly.
Commit: dfc3494d48f06be9144b9a1d5cb76e519c194215
https://github.com/llvm/llvm-project/commit/dfc3494d48f06be9144b9a1d5cb76e519c194215
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
Log Message:
-----------
Fix a warning for -Wcovered-switch-default (#105054)
This fixes a build break from [llvm/llvm-project] Reland [CGData]
llvm-cgdata #89884 (PR #101461)
Commit: 9b25ad818c0b82fe4db8b43e9c9700805a2c7322
https://github.com/llvm/llvm-project/commit/9b25ad818c0b82fe4db8b43e9c9700805a2c7322
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
[CodeGenPrepare][X86] Add tests for fixing `urem` transform; NFC
Commit: e4c67ba67ee25e74bbcb719f90dba6e2e9ce41a0
https://github.com/llvm/llvm-project/commit/e4c67ba67ee25e74bbcb719f90dba6e2e9ce41a0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
Recommit "[CodeGenPrepare] Folding `urem` with loop invariant value"
Was missing remainder on `Start` value.
Also changed logic as as nikic suggested (getting loop from `PN`
instead of `Rem`). The prior impl increased the complexity of the code
and made debugging it more difficult.
Closes #104877
Commit: aaba552f51e1a96f829afa8b422ca8d7ace55781
https://github.com/llvm/llvm-project/commit/aaba552f51e1a96f829afa8b422ca8d7ace55781
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vremu-vp.ll
Log Message:
-----------
[RISCV] Add coverage for VP div[u]/rem[u] with non-power-of-2 vectors
This already works, just adding coverage to show that before a change
which depends on this functionality.
Commit: 0e24686af49d2f9e50438d3a27db6f1ade594855
https://github.com/llvm/llvm-project/commit/0e24686af49d2f9e50438d3a27db6f1ade594855
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/FormatString.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/drs/cwg7xx.cpp
A clang/test/Sema/format-pointer.c
M clang/test/Sema/format-strings-pedantic.c
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] CWG722: nullptr to ellipses (#104704)
https://cplusplus.github.io/CWG/issues/722.html
nullptr passed to a variadic function now converted to void* in C++.
This does not affect C23 nullptr.
Also fixes -Wformat-pedantic so that it no longer warns for nullptr
passed to %p (because it is converted to void* in C++ and it is allowed
for va_arg(ap, void*) in C23)
Commit: 8ac924744e93258d0c490e2fa2d4518e24cb458d
https://github.com/llvm/llvm-project/commit/8ac924744e93258d0c490e2fa2d4518e24cb458d
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port bf68e9047f62c22ca87f9a4a7c59a46b3de06abb (#104907)
Add dep on ControlFlowInterfaces for arith td files
Commit: abd3a2ded32a4dfad63ed6397f291c64453d744f
https://github.com/llvm/llvm-project/commit/abd3a2ded32a4dfad63ed6397f291c64453d744f
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing deps in {Arith,DLTI}DialectTdFiles (#105091)
Commit: 514481736cf943464125ef34570a7df0a19290de
https://github.com/llvm/llvm-project/commit/514481736cf943464125ef34570a7df0a19290de
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add isel optimization for (and (sra y, c2), c1) to recover regression from #101751. (#104114)
If c1 is a shifted mask with c3 leading zeros and c4 trailing zeros. If
c2 is greater than c3, we can use (srli (srai y, c2 - c3), c3 + c4)
followed by a SHXADD with c4 as the X amount.
Without Zba we can use (slli (srli (srai y, c2 - c3), c3 + c4), c4).
Alive2: https://alive2.llvm.org/ce/z/AwhheR
Commit: 6a38e19c92ed09eeecb70d5f61c3b822acb4964d
https://github.com/llvm/llvm-project/commit/6a38e19c92ed09eeecb70d5f61c3b822acb4964d
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/saturate.hlsl
A clang/test/SemaHLSL/BuiltIns/saturate-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/saturate.ll
A llvm/test/CodeGen/DirectX/saturate_errors.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/saturate.ll
Log Message:
-----------
[HLSL] Implement support for HLSL intrinsic - saturate (#104619)
Implement support for HLSL intrinsic saturate.
Implement DXIL codegen for the intrinsic saturate by lowering it to DXIL
Op dx.saturate.
Implement SPIRV codegen by transforming saturate(x) to clamp(x, 0.0f,
1.0f).
Add tests for DXIL and SPIRV CodeGen.
Commit: e6751bfbf77bd9888b7882a46e2453e4ed149c7b
https://github.com/llvm/llvm-project/commit/e6751bfbf77bd9888b7882a46e2453e4ed149c7b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[NFC][TableGen] Elminate use of isalpha/isdigit from TGLexer (#104837)
- Replace use of std::isalpha, std::isdigit, std:isxdigit with LLVM's
StringExtras versions, to avoid possibly locale dependent behavior (e.g.
glibc).
- Create helper function for common checks for valid identifier
characters.
Commit: e0326b668efda1d4ed7969c1a6cca44a487d24b6
https://github.com/llvm/llvm-project/commit/e0326b668efda1d4ed7969c1a6cca44a487d24b6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/OpenMP/nvptx_allocate_codegen.cpp
M offload/test/api/omp_device_alloc.c
Log Message:
-----------
[OpenMP] Map `omp_default_mem_alloc` to global memory (#104790)
Summary:
Currently, we assign this to private memory. This causes failures on
some SOLLVE tests. The standard isn't clear on the semantics of this
allocation type, but there seems to be a consensus that it's supposed to
be shared memory.
Commit: e0441d587b3c5c5d11b08cbcfbbbb66ea8185510
https://github.com/llvm/llvm-project/commit/e0441d587b3c5c5d11b08cbcfbbbb66ea8185510
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__chrono/leap_second.h
Log Message:
-----------
[libc++][chono] Use hidden friends for leap_second comparison. (#104713)
The function
template<class Duration>
requires three_way_comparable_with<sys_seconds, sys_time<Duration>>
constexpr auto operator<=>(const leap_second& x, const
sys_time<Duration>& y) noexcept;
Has a recursive constrained. This caused an infinite loop in GCC and is
now hit by https://github.com/llvm/llvm-project/pull/102857.
A fix would be to make this function a hidden friend, this solution is
propsed in LWG4139.
For consistency all comparisons are made hidden friends. Since the issue
causes compilation failures no additional test are needed.
Fixes: https://github.com/llvm/llvm-project/issues/104700
Commit: 93eda08babe95188ee41400035abaade79cda7d1
https://github.com/llvm/llvm-project/commit/93eda08babe95188ee41400035abaade79cda7d1
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
A mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
A mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][spirv] Support `gpu` in `convert-to-spirv` pass (#105010)
This PR adds conversion patterns for GPU to the `convert-to-spirv` pass,
introduced in #95942. Now the pass is able to convert each `gpu.module`
and its ops within a `builtin.module` into a `spirv.module`.
**Future Plans**
- Use `gpu.launch_func` to invoke kernel from host functions
- Potentially integrate into the `mlir-vulkan-runner` for e2e testing
Commit: 7aa22f013e24d20291aad745368ff907baa9dfa4
https://github.com/llvm/llvm-project/commit/7aa22f013e24d20291aad745368ff907baa9dfa4
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/test/Dialect/GPU/canonicalize.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/subgroup-reduce-lowering.mlir
Log Message:
-----------
[mlir][gpu] Add 'cluster_size' attribute to gpu.subgroup_reduce (#104851)
This enables performing several reductions in parallel, each smaller
than the size of the subgroup.
One potential application is flash attention with subgroup-wide matrix
multiplication and reduction combined in one kernel. The multiplication
operation requires a 2D matrix to be distributed over the lanes of the
subgroup, which then constrains the shape the following reduction can
have if we want to keep data in registers.
Commit: 770cd24140038646539602406fff54497793dae8
https://github.com/llvm/llvm-project/commit/770cd24140038646539602406fff54497793dae8
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Log Message:
-----------
[lldb][ClangExpressionParser] Don't leak memory when multiplexing ExternalASTSources (#104799)
When we use `SemaSourceWithPriorities` as the `ASTContext`s
ExternalASTSource, we allocate a `ClangASTSourceProxy` (via
`CreateProxy`) and two `ExternalASTSourceWrapper`. Then we push these
sources into a vector in `SemaSourceWithPriorities`. The allocated
`SemaSourceWithPriorities` itself will get properly deallocated because
the `ASTContext` wraps it in an `IntrusiveRefCntPtr`. But the three
sources we allocated earlier will never get released.
This patch fixes this by mimicking what `MultiplexExternalSemaSource`
does (which is what `SemaSourceWithPriorities` is based on anyway).
I.e., when `SemaSourceWithPriorities` gets constructed, it increments
the use count of its sources. And on destruction it decrements them.
Similarly, to make sure we dealloacted the `ClangASTProxy` properly, the
`ExternalASTSourceWrapper` now assumes shared ownership of the
underlying source.
Commit: ddaa8284f5b4a240108eac8db92fa3eaae3299f5
https://github.com/llvm/llvm-project/commit/ddaa8284f5b4a240108eac8db92fa3eaae3299f5
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Log Message:
-----------
Revert "[compiler-rt][fuzzer] implements SetThreadName for fuchsia." (#105162)
Reverts llvm/llvm-project#99953
Commit: 8056d92bc201906edbb27f4efa1cc80a18359880
https://github.com/llvm/llvm-project/commit/8056d92bc201906edbb27f4efa1cc80a18359880
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
A lldb/test/Shell/Expr/TestAnonNamespaceParamFunc.cpp
Log Message:
-----------
[lldb][ClangExpressionParser] Implement ExternalSemaSource::ReadUndefinedButUsed (#104817)
While parsing an expression, Clang tries to diagnose usage of decls
(with possibly non-external linkage) for which it hasn't been provided
with a definition. This is the case, e.g., for functions with parameters
that live in an anonymous namespace (those will have `UniqueExternal`
linkage, this is computed [here in
computeTypeLinkageInfo](https://github.com/llvm/llvm-project/blob/ea8bb4d633683f5cbfd82491620be3056f347a02/clang/lib/AST/Type.cpp#L4647-L4653)).
Before diagnosing such situations, Clang calls
`ExternalSemaSource::ReadUndefinedButUsed`. The intended use of this API
is to extend the set of "used but not defined" decls with additional
ones that the external source knows about. However, in LLDB's case, we
never provide `FunctionDecl`s with a definition, and instead rely on the
expression parser to resolve those symbols by linkage name. Thus, to
avoid the Clang parser from erroring out in these situations, this patch
implements `ReadUndefinedButUsed` which just removes the "undefined"
non-external `FunctionDecl`s that Clang found.
We also had to add an `ExternalSemaSource` to the `clang::Sema` instance
LLDB creates. We previously didn't have any source on `Sema`. Because we
add the `ExternalASTSourceWrapper` here, that means we'd also
technically be adding the `ClangExpressionDeclMap` as an
`ExternalASTSource` to `Sema`, which is fine because `Sema` will only be
calling into the `ExternalSemaSource` APIs (though nothing currently
strictly enforces this, which is a bit worrying).
Note, the decision for whether to put a function into `UndefinedButUsed`
is done in
[Sema::MarkFunctionReferenced](https://github.com/llvm/llvm-project/blob/ea8bb4d633683f5cbfd82491620be3056f347a02/clang/lib/Sema/SemaExpr.cpp#L18083-L18087).
The `UniqueExternal` linkage computation is done in
[getLVForNamespaceScopeDecl](https://github.com/llvm/llvm-project/blob/ea8bb4d633683f5cbfd82491620be3056f347a02/clang/lib/AST/Decl.cpp#L821-L833).
Fixes https://github.com/llvm/llvm-project/issues/104712
Commit: 356533246aa33db44c75afb2d3eb6e0e08f0d7a6
https://github.com/llvm/llvm-project/commit/356533246aa33db44c75afb2d3eb6e0e08f0d7a6
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Fix windows debug build after 9d07f43 (#104896)
This patch tries to fix an issue with the windows debug builds where the
PDB file for python scripted interfaces cannot be opened since its path
length exceed the windows `MAX_PATH` limit:
https://github.com/llvm/llvm-project/pull/101672#issuecomment-2289481324
This patch addresses the issue by building all the interfaces as a
single library plugin that initiliazes each component as part of its
`Initialize` method, instead of building each interface as its own
library plugin.
This keeps the build artifact path length smaller while respecting the
naming convention and without making any exception in the build system.
Fixes #104895.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: c8a678b1e4863df2845b1305849534047f10caf1
https://github.com/llvm/llvm-project/commit/c8a678b1e4863df2845b1305849534047f10caf1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/unittests/Analysis/CMakeLists.txt
A llvm/unittests/Analysis/CtxProfAnalysisTest.cpp
Log Message:
-----------
[ctx_prof] Add analysis utility to fetch ID of a callsite (#104491)
This will be needed when maintaining the contextual profile for ICP or inlining - we'll need to first fetch the ID of a callsite, which is in an instrumentation instruction (intrinsic) preceding the callsite.
Commit: e56ad22b4a41e65984d6997b2c2496a20f906d1d
https://github.com/llvm/llvm-project/commit/e56ad22b4a41e65984d6997b2c2496a20f906d1d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
Log Message:
-----------
[DirectX] Encapsulate DXILOpLowering's state into a class. NFC
This introduces an anonymous class "OpLowerer" to help with lowering DXIL ops,
and moves the DXILOpBuilder there instead of creating a new one for every
operation. DXILOpBuilder is also changed to own its IRBuilder, since that makes
it simpler to ensure that it isn't misused.
Pull Request: https://github.com/llvm/llvm-project/pull/104248
Commit: 655d62c4b326f2606b1e89a4dff0212c1d9226ab
https://github.com/llvm/llvm-project/commit/655d62c4b326f2606b1e89a4dff0212c1d9226ab
Author: Alex Rice <alexrice999 at hotmail.co.uk>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
Log Message:
-----------
[mlir][tablegen] Fix tablegen bug with `Complex` class (#104974)
The `Complex` class in tablegen tries to store its element type, but due
to a name collision it actually ends up storing the `type` field of the
`ConfinedType` superclass, and so `elementType` is always set to
`AnyComplex`.
This renames the field so that it gets correctly set.
Commit: 30318401ad64b11dcad891d8ba86b81715caa408
https://github.com/llvm/llvm-project/commit/30318401ad64b11dcad891d8ba86b81715caa408
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Fix post-104491 (#105191)
Commit: c44202574ff9a8c0632aba30c2765b134557435f
https://github.com/llvm/llvm-project/commit/c44202574ff9a8c0632aba30c2765b134557435f
Author: Peiming Liu <peiming at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
Log Message:
-----------
[mlir][sparse] support sparsification to coiterate operations. (#102546)
Commit: b941ba1e126d44f94ff317c9a996143c3165774b
https://github.com/llvm/llvm-project/commit/b941ba1e126d44f94ff317c9a996143c3165774b
Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/Assembler/lround.ll
M llvm/test/MachineVerifier/test_g_llround.mir
M llvm/test/MachineVerifier/test_g_lround.mir
Log Message:
-----------
llvm.lround: Update verifier to validate support of vector types. (#98950)
Both IRVerifier and Machine Verifier are updated
Commit: 31e55d461693df035049e09cbeeb8886ca2cb6d3
https://github.com/llvm/llvm-project/commit/31e55d461693df035049e09cbeeb8886ca2cb6d3
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
Log Message:
-----------
[lldb] Disable the API test TestCppBitfields on Windows (#105037)
This test causes the assert in clang CodeGen and python crashes with the
error code 0x80000003. See #105019 for more details. Note the similar
test lldb/test/API/lang/c/bitfields/TestBitfields.py is already disabled
on Windows.
Commit: f73050e722dd2e484358d03674eb186f3a2f4799
https://github.com/llvm/llvm-project/commit/f73050e722dd2e484358d03674eb186f3a2f4799
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M libcxx/include/__algorithm/partition.h
M libcxx/include/__pstl/backends/default.h
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/container.adaptors/from_range_container_adaptors.h
M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
M libcxx/test/std/containers/unord/from_range_unordered_containers.h
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/range.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/increment.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/begin.pass.cpp
A libcxx/test/std/ranges/range.utility/range.subrange/begin_end.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
A libcxx/test/support/double_move_tracker.h
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Fix several double-moves in the code base (#104616)
This patch hardens the "test iterators" we use to test algorithms by
ensuring that they don't get double-moved. As a result of this
hardening, the tests started reporting multiple failures where we would
double-move iterators, which are being fixed in this patch.
In particular:
- Fixed a double-move in pstl.partition
- Add coverage for begin()/end() in subrange tests
- Fix tests for ranges::ends_with and ranges::contains, which were
incorrectly calling begin() twice on the same subrange containing
non-copyable input iterators.
Fixes #100709
Commit: fd4f9520a6a08c3dcf15622e3b887d8f3624fc42
https://github.com/llvm/llvm-project/commit/fd4f9520a6a08c3dcf15622e3b887d8f3624fc42
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/lib/BinaryFormat/MachO.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/test/MC/AArch64/arm64e-subtype.s
A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-kernel-ptrauth-abi
A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-ptrauth-abi
A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-kernel-ptrauth-abi.test
A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-ptrauth-abi.test
A llvm/test/tools/llvm-objdump/macho-ptrauth-cpusubtype.test
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/unittests/BinaryFormat/MachOTest.cpp
Log Message:
-----------
[AArch64][MachO] Add ptrauth ABI version to arm64e cpusubtype. (#104650)
In a mach_header, the cpusubtype is a 32-bit field, but it's split in 2
subfields:
- the low 24 bits containing the cpu subtype proper, (e.g.,
CPU_SUBTYPE_ARM64E 2)
- the high 8 bits containing a capability field used for additional
feature flags.
Notably, it's only the subtype subfield that participates in fat file
slice discrimination: the caps are ignored.
arm64e uses the caps subfield to encode a ptrauth ABI version:
- 0x80 (CPU_SUBTYPE_PTRAUTH_ABI) denotes a versioned binary
- 0x40 denotes a kernel-ABI binary
- 0x00-0x0F holds the ptrauth ABI version
This teaches the basic obj tools to decode that (or ignore it when
unneeded).
It also teaches the MachO writer to default to emitting versioned
binaries, but with a version of 0 (and without the kernel ABI flag).
Modern arm64e requires versioned binaries: a binary with 0x00 caps in
cpusubtype is now rejected by the linker and everything after. We can
live without the sophistication of specifying the version and kernel ABI
for now.
Co-authored-by: Francis Visoiu Mistrih <francisvm at apple.com>
Commit: 552d26e275b094f7ceb96ede9cc478b23e2c12cc
https://github.com/llvm/llvm-project/commit/552d26e275b094f7ceb96ede9cc478b23e2c12cc
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][gpu] Add extra value types for gpu::ShuffleOp (#104605)
Expand the accepted types for gpu.shuffle to any integer, float or 1d vector of integers or floats.
Also updated the gpu-to-llvm-spv pass to support those types.
Commit: 349d76d490fe0e32995f7381c91c17f38541f691
https://github.com/llvm/llvm-project/commit/349d76d490fe0e32995f7381c91c17f38541f691
Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-0.txt
M llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-1.txt
M llvm/utils/lit/tests/Inputs/shtest-cat/cat.txt
Log Message:
-----------
[llvm-lit][test] Updated built-in cat command tests (#104473)
This patch makes changes to improve syntax in tests and to add more
strict checks on cat output. This is a prequisite for
https://github.com/llvm/llvm-project/pull/101530.
Commit: 6558e04f02858bff61c01c9ec0900849fc8532f5
https://github.com/llvm/llvm-project/commit/6558e04f02858bff61c01c9ec0900849fc8532f5
Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/test/Shell/Driver/TestUseColor.test
Log Message:
-----------
[lldb][test] Change unsupported cat -e to cat -v to work with lit internal shell (#104878)
This patch changes the test that uses the `cat -e` option to `cat -v` so
that the test can be run using lit's internal shell. For `cat`, the `-v`
option prints non-printing characters in ^ and M- notation, while the
`-e` option adds `$` to the end of lines in addition to printing
non-printing characters in ^ and M- notation. This is an alternative
patch to https://github.com/llvm/llvm-project/pull/102061, opting to
rewrite the test that uses `cat -e` instead of extending support to the
`-e` option.
Fixes https://github.com/llvm/llvm-project/issues/102377
Commit: ce132a58b8d5fcd21c50204171f5c30d939df516
https://github.com/llvm/llvm-project/commit/ce132a58b8d5fcd21c50204171f5c30d939df516
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
Log Message:
-----------
clang/AMDGPU: Emit atomicrmw from {global|flat}_atomic_fadd_v2f16 builtins (#96873)
Commit: 10cc4a5fab3ad8da7a64ba784007b99a039134c1
https://github.com/llvm/llvm-project/commit/10cc4a5fab3ad8da7a64ba784007b99a039134c1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/structconst10.f90
Log Message:
-----------
[flang] More support for anonymous parent components in struct constr… (#102642)
…uctors
A non-conforming extension to Fortran present in a couple other
compilers is allowing a anonymous component in a structure constructor
to initialize a parent (or greater ancestor) component. This was working
in this compiler only for direct parents, and only when the type was not
use-associated.
Fixes https://github.com/llvm/llvm-project/issues/102557.
Commit: 90d753ab75afdaab998cad20620b8197610e6dbd
https://github.com/llvm/llvm-project/commit/90d753ab75afdaab998cad20620b8197610e6dbd
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/implicit15.f90
Log Message:
-----------
[flang] Fix inheritance of IMPLICIT typing rules (#102692)
Interfaces don't inherit the IMPLICIT typing rules of their enclosing
scope, and separate MODULE PROCEDUREs inherit the IMPLICIT typing rules
of submodule in which they are defined, not the rules from their
interface.
Fixes https://github.com/llvm/llvm-project/issues/102558.
Commit: f0590177b28a3940b9afdf2f65eae054eeb49eed
https://github.com/llvm/llvm-project/commit/f0590177b28a3940b9afdf2f65eae054eeb49eed
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/lib/Semantics/definable.cpp
M flang/test/Semantics/undef-result01.f90
Log Message:
-----------
[flang] Silence an inappropriate warning (#104685)
A bare ALLOCATE statement with no SOURCE= rightly earns a warning about
an undefined function result, if that result is an allocatable that
appears in the ALLOCATE. But in the case of a pointer, where the warning
should care more about the pointer's association status than the value
of its target, a bare ALLOCATE should suffice to silence the warning.
Commit: 143be4eafc69ed9a0923f44cdf99710cbaa70132
https://github.com/llvm/llvm-project/commit/143be4eafc69ed9a0923f44cdf99710cbaa70132
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/declarations05.f90
Log Message:
-----------
[flang] Silence spurious error (#104821)
Don't complain about a local object with an impure final procedure in a
pure subprogram when the local object is a named constant.
Fixes https://github.com/llvm/llvm-project/issues/104796.
Commit: 1e1cf258c718bdce8c50c2b1923f1a522163fbc9
https://github.com/llvm/llvm-project/commit/1e1cf258c718bdce8c50c2b1923f1a522163fbc9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/include/flang/Evaluate/real.h
M flang/lib/Evaluate/fold-real.cpp
M flang/test/Evaluate/fold-nearest.f90
Log Message:
-----------
[flang] Fix IEEE_NEAREST_AFTER folding edge cases (#104846)
Conversions of infinities from other kinds to real(10) were incorrect,
and comparisons of real(2) vs real(3) are dicey as conversions in one
direction can overflow and conversions in the other can lose precision.
Use real(16) as the common type for comparisons in IEEE_NEAREST_AFTER.
Commit: 8266d47cd18eaf8755fba2a496c799c931f3bf6c
https://github.com/llvm/llvm-project/commit/8266d47cd18eaf8755fba2a496c799c931f3bf6c
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/call-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/multiple-offsets-pointer-info.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
Log Message:
-----------
[Attributor] Improve AAUnderlyingObjects (#104835)
- Allocas and GlobalValues cannot be simplified, so we should not try.
- If we never used any assumed state, the AAUnderlyingObjects doesn't
require an additional update.
- If we have seen an object (or it's underlying object) before, we do
not need to inspect it anymore.
The original logic for "SeenObjects" was flawed and caused us to add
intermediate values to the underlying object list if a PHI or select
instruction referenced the same underlying object twice. The test
changes are all instances of this situation and we now correctly derive
`memory(none)` for the functions that only access stack memory.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: c932a0eb2ee222380a7fe237b7efb872c39e7d6b
https://github.com/llvm/llvm-project/commit/c932a0eb2ee222380a7fe237b7efb872c39e7d6b
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
Log Message:
-----------
[Driver,DXIL] Fix build
Commit: 0a22655f31b146da68f1276c072b30be8392d1ef
https://github.com/llvm/llvm-project/commit/0a22655f31b146da68f1276c072b30be8392d1ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
Log Message:
-----------
clang/AMDGPU: Emit atomicrmw from flat_atomic_{f32|f64} builtins (#96874)
Commit: 5822cc271be4cb9dcf454922ea13aac11d88be8a
https://github.com/llvm/llvm-project/commit/5822cc271be4cb9dcf454922ea13aac11d88be8a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
Log Message:
-----------
clang/AMDGPU: Emit atomicrmw for global/flat fadd v2bf16 builtins (#96875)
Commit: 93e0f312c2a8709e7d4747570ddd40243314ea6b
https://github.com/llvm/llvm-project/commit/93e0f312c2a8709e7d4747570ddd40243314ea6b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
Log Message:
-----------
clang/AMDGPU: Emit atomicrmw for flat/global atomic min/max f64 builtins (#96876)
Commit: 6e8c97035ca32c6b163f8735a340e15e011ec0c8
https://github.com/llvm/llvm-project/commit/6e8c97035ca32c6b163f8735a340e15e011ec0c8
Author: vporpo <vporpodas at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement CatchSwitchInst (#104652)
This patch implements sandboxir::CatchSwitchInst mirroring
llvm::CatchSwitchInst.
Commit: afeef4dbc3a9e523c82022ccd30bf9875ded12c8
https://github.com/llvm/llvm-project/commit/afeef4dbc3a9e523c82022ccd30bf9875ded12c8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
Log Message:
-----------
AMDGPU/NewPM: Fill out passes in addCodeGenPrepare (#102867)
AMDGPUAnnotateKernelFeatures hasn't been ported yet, but it
should be soon removable.
Commit: 33e18b2b433a6e8331e09cc60965e4c943b66c05
https://github.com/llvm/llvm-project/commit/33e18b2b433a6e8331e09cc60965e4c943b66c05
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
Log Message:
-----------
AMDGPU/NewPM: Start filling out addIRPasses (#102884)
This is not complete, but gets AtomicExpand running. I was able
to get further than I expected; we're quite close to having all
the IR codegen passes ported.
Commit: 26ae31662b4ac3fe5569733316ac7de9d19d5fd5
https://github.com/llvm/llvm-project/commit/26ae31662b4ac3fe5569733316ac7de9d19d5fd5
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/mips-msa.c
Log Message:
-----------
[clang] Support -Wa, options -mmsa and -mno-msa (#99615)
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 66ab4b80a4103a67a3c79b8c3b0974e301903f05
https://github.com/llvm/llvm-project/commit/66ab4b80a4103a67a3c79b8c3b0974e301903f05
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/unittests/Runtime/Time.cpp
Log Message:
-----------
[flang] Re-enable date_and_time intrinsic test (NFC) (#104967)
Commit: d03dcf6e8c360e2b46bed16b329d186c68fbcc6a
https://github.com/llvm/llvm-project/commit/d03dcf6e8c360e2b46bed16b329d186c68fbcc6a
Author: ZERICO2005 <71151164+ZERICO2005 at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[NFC] Fixed two typos: "__builin_" --> "__builtin_" (#98782)
Fixed two typos:
1. `__builin_va_list` --> `__builtin_va_list`
2. `__builin_suspend` --> `__builtin_suspend`
Commit: 660de533a23485eec4c5f8d3d88f9dd53497bcf8
https://github.com/llvm/llvm-project/commit/660de533a23485eec4c5f8d3d88f9dd53497bcf8
Author: Michael Park <mcypark at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
[NFC] Fix a typo in InternalsManual: ActOnCXX -> ActOnXXX (#105207)
This part of the manual describes uses of `ActOnXXX` and `BuildXXX`.
Commit: 1233df731761060a655814fb975dc741b2ab5393
https://github.com/llvm/llvm-project/commit/1233df731761060a655814fb975dc741b2ab5393
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/test/Evaluate/fold-nearest.f90
Log Message:
-----------
[flang] Disable failing test (#105327)
flang/test/Evaluate/fold-nearest.f90 is failing oddly on ppc64le;
disable it for now while I sort things out.
Commit: 2599d695128381e6932b43f0e95649c533308d6d
https://github.com/llvm/llvm-project/commit/2599d695128381e6932b43f0e95649c533308d6d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
Log Message:
-----------
[RISCV][GISel] Remove s32 support on RV64 for DIV, and REM. (#102519)
Based on experience with SelectionDAG and experimental-rv64-legal-i32, I
don't believe making s32 a legal type is viable without introducing an
invariant that s32 values are always sign extended like Mips64 does.
Mips64 does this with a separate 32-bit register class.
`experimental-rv64-legal-i32` was removed in ##102509.
This patch is part of a series to remove s32 support so we can remove
the isel patterns that SelectionDAG is no longer using. To restore code
quality, we will need to add custom W nodes like SelectionDAG.
Commit: 295fe0bd438209831071ffbacf003c4941f31b90
https://github.com/llvm/llvm-project/commit/295fe0bd438209831071ffbacf003c4941f31b90
Author: Justin Stitt <justinstitt at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/CodeGen/ignore-overflow-pattern-false-pos.c
A clang/test/CodeGen/ignore-overflow-pattern.c
Log Message:
-----------
[Clang] Re-land Overflow Pattern Exclusions (#104889)
Introduce "-fsanitize-undefined-ignore-overflow-pattern=" which can
be used to disable sanitizer instrumentation for common overflow-dependent
code patterns.
For a wide selection of projects, proper overflow sanitization could
help catch bugs and solve security vulnerabilities. Unfortunately, in
some cases the integer overflow sanitizers are too noisy for their users
and are often left disabled. Providing users with a method to disable
sanitizer instrumentation of common patterns could mean more projects
actually utilize the sanitizers in the first place.
One such project that has opted to not use integer overflow (or
truncation) sanitizers is the Linux Kernel. There has been some
discussion[1] recently concerning mitigation strategies for unexpected
arithmetic overflow. This discussion is still ongoing and a succinct
article[2] accurately sums up the discussion. In summary, many Kernel
developers do not want to introduce more arithmetic wrappers when
most developers understand the code patterns as they are.
Patterns like:
if (base + offset < base) { ... }
or
while (i--) { ... }
or
#define SOME -1UL
are extremely common in a code base like the Linux Kernel. It is
perhaps too much to ask of kernel developers to use arithmetic wrappers
in these cases. For example:
while (wrapping_post_dec(i)) { ... }
which wraps some builtin would not fly. This would incur too many
changes to existing code; the code churn would be too much, at least too
much to justify turning on overflow sanitizers.
Currently, this commit tackles three pervasive idioms:
1. "if (a + b < a)" or some logically-equivalent re-ordering like "if (a > b + a)"
2. "while (i--)" (for unsigned) a post-decrement always overflows here
3. "-1UL, -2UL, etc" negation of unsigned constants will always overflow
The patterns that are excluded can be chosen from the following list:
- add-overflow-test
- post-decr-while
- negated-unsigned-const
These can be enabled with a comma-separated list:
-fsanitize-undefined-ignore-overflow-pattern=add-overflow-test,negated-unsigned-const
"all" or "none" may also be used to specify that all patterns should be
excluded or that none should be.
[1] https://lore.kernel.org/all/202404291502.612E0A10@keescook/
[2] https://lwn.net/Articles/979747/
CCs: @efriedma-quic @kees @jyknight @fmayer @vitalybuka
Signed-off-by: Justin Stitt <justinstitt at google.com>
Co-authored-by: Bill Wendling <morbo at google.com>
Commit: e96146cd46b29e0d100a4566358da8fb38bea43e
https://github.com/llvm/llvm-project/commit/e96146cd46b29e0d100a4566358da8fb38bea43e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M offload/test/api/omp_device_alloc.c
Log Message:
-----------
[OpenMP] Temporarily disable test to keep bots green
Summary:
This test mysteriously fails on the bots but not locally, disable until
I can figure out why.
Commit: dd90c72b05822927bf62724759f73c491166248c
https://github.com/llvm/llvm-project/commit/dd90c72b05822927bf62724759f73c491166248c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
AMDGPU: Temporarily stop adding AtomicExpand to new PM passes
This breaks using -passes=atomic-expand (but only sometimes?).
Somehow an AtomicExpand pass ends up running without a TargetMachine,
despite always being constructed with one.
Commit: 0c489863e77575287caa57f1194c78ac3c30035b
https://github.com/llvm/llvm-project/commit/0c489863e77575287caa57f1194c78ac3c30035b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/test/Evaluate/fold-nearest.f90
Log Message:
-----------
[flang] Disable part of failing test (temporary) (#105350)
A new section of a test is failing on aarch64 and ppc64le; disable it
while I sort things out.
Commit: 8f3050684ef22aa8403c3820e89ebef915136bf7
https://github.com/llvm/llvm-project/commit/8f3050684ef22aa8403c3820e89ebef915136bf7
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Reduce CFI warning verbosity (#105336)
CFI programs may have more saves than restores and this is completely
benign from BOLT's perspective. Reduce the verbosity and print the
warning only under `-v=1` and above.
Commit: 91b423d955ff1da6cfbe82436ffee280fa25cd02
https://github.com/llvm/llvm-project/commit/91b423d955ff1da6cfbe82436ffee280fa25cd02
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/MatchContext.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
Log Message:
-----------
[DAG][RISCV] Use vp.<binop> when widening illegal types for binops which can trap (#105214)
This allows the use a single wider operation with a restricted EVL
instead of having to split and cover via decreasing powers-of-two sizes.
On RISCV, this avoids the need for a bunch of vslidedown and vslideup
instructions to extract subvectors, and VL toggles to switch between the
various widths.
Note there is a potential downside of using vp nodes; we loose any
generic DAG combines which might have applied to the split form.
Commit: 2353f484a51b9aab992402400010bbb450fea1b2
https://github.com/llvm/llvm-project/commit/2353f484a51b9aab992402400010bbb450fea1b2
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M libc/startup/linux/CMakeLists.txt
Log Message:
-----------
[libc] Include startup code when installing all (#105203)
Previously the libc startup code was marked `EXCLUDE_FROM_ALL` due to
build issues. This patch removes that as no longer necessary.
Commit: aeeb74f94f51b515392f5503054dfd98b0af775b
https://github.com/llvm/llvm-project/commit/aeeb74f94f51b515392f5503054dfd98b0af775b
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/cmake/platforms/WinMsvc.cmake
Log Message:
-----------
[cmake] Set up llvm-ml as ASM_MASM tool in WinMsvc.cmake (#104903)
Nowadays, an ASM_MASM tool is required for building the BLAKE3 assembly
in llvm/lib/Support - the llvm-ml tool can do this.
Commit: a3c66c8f35df9d231761385e2986c54e824d39fa
https://github.com/llvm/llvm-project/commit/a3c66c8f35df9d231761385e2986c54e824d39fa
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] move newheadergen back to safe_load (#105374)
In #100024 we moved from safe_load to load for reading the yaml in
newheadergen due to dependency issues. Those should be resolved by now
so this should be a simple safety improvement.
Commit: 389f339c11179fe047e7f564657c86247933e445
https://github.com/llvm/llvm-project/commit/389f339c11179fe047e7f564657c86247933e445
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
A llvm/benchmarks/GetIntrinsicForClangBuiltin.cpp
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
[TableGen] Rework `EmitIntrinsicToBuiltinMap` (#104681)
Rework `IntrinsicEmitter::EmitIntrinsicToBuiltinMap` for improved
peformance as well as refactor the code.
Performance:
- Current generated code does a linear search on the TargetPrefix,
followed by a binary search on the builtin names for that
target's builtins.
- Improve the performance of this code in 2 ways:
(a) Use binary search on the target prefix to lookup the builtin
table for the target.
(b) Improve the (common) case of when all builtins for a target
share a common prefix. Check this common prefix first, and
then do the binary search in the builtin table using the builtin
name with the common prefix removed. This should help
both data size (by creating a smaller static string table) and
runtime (by reducing the cost of binary search on smaller
strings).
Refactor:
- Use range based for loops for iterating over maps.
- Use formatv() and C++ raw string literals to simplify the emission
code.
- Change the generated `getIntrinsicForClangBuiltin` and
`getIntrinsicForMSBuiltin` to take a `StringRef` instead of
`const char *` for the prefix.
Commit: 5e6a1987a5d4574d3c3811f878ddbbbf7c35fa01
https://github.com/llvm/llvm-project/commit/5e6a1987a5d4574d3c3811f878ddbbbf7c35fa01
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
Log Message:
-----------
[RISCV][GISel] Remove s32 support for G_ABS on RV64.
Commit: 019e1a3a4285ae34c215d4b7526df041e0aeb250
https://github.com/llvm/llvm-project/commit/019e1a3a4285ae34c215d4b7526df041e0aeb250
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for c8a678b1e4863df2845b1305849534047f10caf1
Commit: c9a4c51bb0018778bb78871e555b06613530f155
https://github.com/llvm/llvm-project/commit/c9a4c51bb0018778bb78871e555b06613530f155
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M flang/test/Evaluate/fold-nearest.f90
Log Message:
-----------
[flang] Fix test on ppc64le & aarch64 (#105439)
Don't try to fold x87 extended precision operations in a test unless
it's targeting x86-64.
Commit: 1a2a18fdc00dc9fc8955107d16b48a476320e542
https://github.com/llvm/llvm-project/commit/1a2a18fdc00dc9fc8955107d16b48a476320e542
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
Log Message:
-----------
[DXIL][Analysis] Update test to match comment. NFC (#105409)
The mismatch between the comment on this test and the test itself was
pointed out in
https://github.com/llvm/llvm-project/pull/100699#discussion_r1715835841,
but apparently I failed to actually commit the fix.
Commit: 26b79f87079091ecd805f6dfb624df7ba6d702d1
https://github.com/llvm/llvm-project/commit/26b79f87079091ecd805f6dfb624df7ba6d702d1
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
A llvm/test/Transforms/FunctionAttrs/cold.ll
Log Message:
-----------
[FunctionAttrs] Add tests for deducing attr `cold` on functions; NFC
Commit: b7eac8c6fea1ba3930d08011a0e5e3a262bfaece
https://github.com/llvm/llvm-project/commit/b7eac8c6fea1ba3930d08011a0e5e3a262bfaece
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/cold.ll
Log Message:
-----------
[FunctionAttrs] deduce attr `cold` on functions if all CG paths call a `cold` function
Closes #101298
Commit: 8d712b4e3f14fe0102a5065cbd5b758dc997b529
https://github.com/llvm/llvm-project/commit/8d712b4e3f14fe0102a5065cbd5b758dc997b529
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/test/Shell/Expr/TestAnonNamespaceParamFunc.cpp
Log Message:
-----------
[lldb][test] XFAIL TestAnonNamespaceParamFunc.cpp on Windows
This recently added test is failing on Windows with:
```
c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\lldb.exe --no-lldbinit -S C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb\test\Shell\lit-lldb-init-quiet C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\test\Shell\Expr\Output\TestAnonNamespaceParamFunc.cpp.tmp -o run -o "expression func(a)" -o exit | c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\filecheck.exe C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\Shell\Expr\TestAnonNamespaceParamFunc.cpp
executed command: 'c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\lldb.exe' --no-lldbinit -S 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb\test\Shell\lit-lldb-init-quiet' 'C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\test\Shell\Expr\Output\TestAnonNamespaceParamFunc.cpp.tmp' -o run -o 'expression func(a)' -o exit
.---command stderr------------
| TestAnonNamespaceParamFunc.cpp.tmp :: Class 'tagARRAYDESC' has a member 'tdescElem' of type 'tagTYPEDESC' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'tagARRAYDESC' has a member 'tdescElem' of type 'tagTYPEDESC' which does not have a complete definition.
| (lldb) TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::partial_ordering' has a member 'less' of type 'std::partial_ordering' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::partial_ordering' has a member 'less' of type 'std::partial_ordering' which does not have a complete definition.
| (lldb) TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::strong_ordering' has a member 'less' of type 'std::strong_ordering' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::strong_ordering' has a member 'less' of type 'std::strong_ordering' which does not have a complete definition.
| (lldb) TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::weak_ordering' has a member 'less' of type 'std::weak_ordering' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::weak_ordering' has a member 'less' of type 'std::weak_ordering' which does not have a complete definition.
| (lldb) error: Couldn't look up symbols:
| int func(struct `anonymous namespace'::InAnon)
| Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
`-----------------------------
executed command: 'c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\filecheck.exe' 'C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\Shell\Expr\TestAnonNamespaceParamFunc.cpp'
.---command stderr------------
| C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\Shell\Expr\TestAnonNamespaceParamFunc.cpp:10:11: error: CHECK: expected string not found in input
| // CHECK: (int) $0 = 15
| ^
| <stdin>:16:26: note: scanning from here
| (lldb) expression func(a)
| ^
```
So the function is still not callable. But AFAICT, this is not a
regression, since this function wasn't callable prior to the patch
anyway. I currently do not have a Windows setup to test this on,
so XFAIL for now.
Commit: 1e9d0028d35ae69263aa848b4cb02245f442eb5c
https://github.com/llvm/llvm-project/commit/1e9d0028d35ae69263aa848b4cb02245f442eb5c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Split LoadStoreActions in LoadActions and StoreActions.
Remove widenToNextPow2 from StoreActions.
Reorder clampScalar and lowerIfMemSizeNotByteSizePow2 for StoreActions.
These match AArch64 and got me further on a test case I was playing with
that contained a i129 store.
Commit: f01f80ce6ca7640bb0e267b84b1ed0e89b57e2d9
https://github.com/llvm/llvm-project/commit/f01f80ce6ca7640bb0e267b84b1ed0e89b57e2d9
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
M lldb/include/lldb/Target/Thread.h
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
M lldb/test/API/commands/frame/recognizer/main.m
M lldb/test/API/commands/frame/recognizer/recognizer.py
A lldb/test/API/lang/cpp/std-function-recognizer/Makefile
A lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
A lldb/test/API/lang/cpp/std-function-recognizer/main.cpp
Log Message:
-----------
[lldb] Extend frame recognizers to hide frames from backtraces (#104523)
Compilers and language runtimes often use helper functions that are
fundamentally uninteresting when debugging anything but the
compiler/runtime itself. This patch introduces a user-extensible
mechanism that allows for these frames to be hidden from backtraces and
automatically skipped over when navigating the stack with `up` and
`down`.
This does not affect the numbering of frames, so `f <N>` will still
provide access to the hidden frames. The `bt` output will also print a
hint that frames have been hidden.
My primary motivation for this feature is to hide thunks in the Swift
programming language, but I'm including an example recognizer for
`std::function::operator()` that I wished for myself many times while
debugging LLDB.
rdar://126629381
Example output. (Yes, my proof-of-concept recognizer could hide even
more frames if we had a method that returned the function name without
the return type or I used something that isn't based off regex, but it's
really only meant as an example).
before:
```
(lldb) thread backtrace --filtered=false
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x0000000100001f04 a.out`foo(x=1, y=1) at main.cpp:4:10
frame #1: 0x0000000100003a00 a.out`decltype(std::declval<int (*&)(int, int)>()(std::declval<int>(), std::declval<int>())) std::__1::__invoke[abi:se200000]<int (*&)(int, int), int, int>(__f=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:149:25
frame #2: 0x000000010000399c a.out`int std::__1::__invoke_void_return_wrapper<int, false>::__call[abi:se200000]<int (*&)(int, int), int, int>(__args=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:216:12
frame #3: 0x0000000100003968 a.out`std::__1::__function::__alloc_func<int (*)(int, int), std::__1::allocator<int (*)(int, int)>, int (int, int)>::operator()[abi:se200000](this=0x000000016fdff280, __arg=0x000000016fdff224, __arg=0x000000016fdff220) at function.h:171:12
frame #4: 0x00000001000026bc a.out`std::__1::__function::__func<int (*)(int, int), std::__1::allocator<int (*)(int, int)>, int (int, int)>::operator()(this=0x000000016fdff278, __arg=0x000000016fdff224, __arg=0x000000016fdff220) at function.h:313:10
frame #5: 0x0000000100003c38 a.out`std::__1::__function::__value_func<int (int, int)>::operator()[abi:se200000](this=0x000000016fdff278, __args=0x000000016fdff224, __args=0x000000016fdff220) const at function.h:430:12
frame #6: 0x0000000100002038 a.out`std::__1::function<int (int, int)>::operator()(this= Function = foo(int, int) , __arg=1, __arg=1) const at function.h:989:10
frame #7: 0x0000000100001f64 a.out`main(argc=1, argv=0x000000016fdff4f8) at main.cpp:9:10
frame #8: 0x0000000183cdf154 dyld`start + 2476
(lldb)
```
after
```
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x0000000100001f04 a.out`foo(x=1, y=1) at main.cpp:4:10
frame #1: 0x0000000100003a00 a.out`decltype(std::declval<int (*&)(int, int)>()(std::declval<int>(), std::declval<int>())) std::__1::__invoke[abi:se200000]<int (*&)(int, int), int, int>(__f=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:149:25
frame #2: 0x000000010000399c a.out`int std::__1::__invoke_void_return_wrapper<int, false>::__call[abi:se200000]<int (*&)(int, int), int, int>(__args=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:216:12
frame #6: 0x0000000100002038 a.out`std::__1::function<int (int, int)>::operator()(this= Function = foo(int, int) , __arg=1, __arg=1) const at function.h:989:10
frame #7: 0x0000000100001f64 a.out`main(argc=1, argv=0x000000016fdff4f8) at main.cpp:9:10
frame #8: 0x0000000183cdf154 dyld`start + 2476
Note: Some frames were hidden by frame recognizers
```
Commit: 4a4b233f35adaed44e50157db3846d0d23f2f6e1
https://github.com/llvm/llvm-project/commit/4a4b233f35adaed44e50157db3846d0d23f2f6e1
Author: DanielLevi6 <75536731+DanielLevi6 at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
Log Message:
-----------
[mlir][linalg] Improve getPreservedProducerResults estimation in ElementwiseOpFusion (#104409)
This commit changes the getPreservedProducerResults function so that it
takes the consumer into account along with the producer, in order to
predict which of the producer’s outputs can be dropped during the fusion
process. It provides a more accurate prediction, considering that the
fusion process also depends on the consumer.
Commit: a16f0dc9c2f0690e28622b0d80bd154fb0e6a30a
https://github.com/llvm/llvm-project/commit/a16f0dc9c2f0690e28622b0d80bd154fb0e6a30a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
Log Message:
-----------
[RISCV][GISel] Allow >2*XLen integers in isSupportedReturnType.
Commit: 81ee38551f2c9d1677471ab59bdc800e667b9616
https://github.com/llvm/llvm-project/commit/81ee38551f2c9d1677471ab59bdc800e667b9616
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/lib/Target/DirectX/DXILOpLowering.h
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
A llvm/lib/Target/DirectX/DXILPrettyPrinter.h
M llvm/lib/Target/DirectX/DXILResourceAnalysis.cpp
M llvm/lib/Target/DirectX/DXILResourceAnalysis.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
A llvm/lib/Target/DirectX/DXILTranslateMetadata.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/test/CodeGen/DirectX/UAVMetadata.ll
M llvm/test/CodeGen/DirectX/any.ll
M llvm/test/CodeGen/DirectX/cbuf.ll
M llvm/test/CodeGen/DirectX/floor.ll
Log Message:
-----------
[DirectX] Register a few DXIL passes with the new PM
This wires up dxil-op-lower, dxil-intrinsic-expansion, dxil-translate-metadata,
and dxil-pretty-printer to the new pass manager, both as a matter of future
proofing the backend and so that they can be used more flexibly in tests.
A few arbitrary tests are updated in order to test the new PM path, and we drop
the "print-dxil-resource-md" pass since it's redundant with the pretty printer.
Pull Request: https://github.com/llvm/llvm-project/pull/104250
Commit: a8ef679507743a05c1fdfa677a4599eefa04fc37
https://github.com/llvm/llvm-project/commit/a8ef679507743a05c1fdfa677a4599eefa04fc37
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
Log Message:
-----------
Revert "[RISCV][GISel] Allow >2*XLen integers in isSupportedReturnType."
It didn't crash so I thought this worked now, but upon further review
it miscalculates the stack address for the return.
Commit: 3145cff24bda61ae0d3ba3981c19599f12af95ab
https://github.com/llvm/llvm-project/commit/3145cff24bda61ae0d3ba3981c19599f12af95ab
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
Log Message:
-----------
[RISCV] Add coverage for int reductions of <3 x i8> vectors
Specifically, to illustrate our general lowering strategy for
non-power of two vectors.
Commit: e1c36bde0551977d4b2efae032af6dfc4b2b3936
https://github.com/llvm/llvm-project/commit/e1c36bde0551977d4b2efae032af6dfc4b2b3936
Author: Sami Tolvanen <samitolvanen at users.noreply.github.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/kcfi-normalize.c
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
A llvm/test/Transforms/GCOVProfiling/kcfi-normalize.ll
M llvm/test/Transforms/GCOVProfiling/kcfi.ll
Log Message:
-----------
Fix KCFI types for generated functions with integer normalization (#104826)
With -fsanitize-cfi-icall-experimental-normalize-integers, Clang
appends ".normalized" to KCFI types in CodeGenModule::CreateKCFITypeId,
which changes type hashes also for functions that don't have integer
types in their signatures. However, llvm::setKCFIType does not take
integer normalization into account, which means LLVM generated
functions with KCFI types, e.g. sanitizer constructors, will fail KCFI
checks when integer normalization is enabled in Clang.
Add a cfi-normalize-integers module flag to indicate integer
normalization is used, and append ".normalized" to KCFI types also in
llvm::setKCFIType to fix the type mismatch.
Commit: 39ec1f79b7b7708f534761d8b8d319b7ba423d6f
https://github.com/llvm/llvm-project/commit/39ec1f79b7b7708f534761d8b8d319b7ba423d6f
Author: Amara Emerson <amara at apple.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention.ll
Log Message:
-----------
[AArch64] Basic SVE PCS support for handling scalable vectors on Darwin.
For the tests I just added +sve instead of what actual hardware has, which is only SME,
since otherwise all the test functions need to be marked as streaming mode.
rdar://121864771
Commit: 381a803da253b75c8b7b10bb732e9e90925185e8
https://github.com/llvm/llvm-project/commit/381a803da253b75c8b7b10bb732e9e90925185e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
Log Message:
-----------
[RISCV][GISel] Merge RISCVCallLowering::lowerReturnVal into RISCVCallLowering::lowerReturn. NFC
This is similar to X86 and AArch64 structure.
Commit: d8b6df2e8b1d294d92239e507c19b5622d86490d
https://github.com/llvm/llvm-project/commit/d8b6df2e8b1d294d92239e507c19b5622d86490d
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
Log Message:
-----------
[mlir] Fix -Wunused-result in ElementwiseOpFusion.cpp (NFC)
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp:124:7:
error: ignoring return value of function declared with 'nodiscard' attribute [-Werror,-Wunused-result]
opOperandsToIgnore.pop_back_val();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: 2b84fe6f16bf2beb78e48e40db3752143ded6228
https://github.com/llvm/llvm-project/commit/2b84fe6f16bf2beb78e48e40db3752143ded6228
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
Log Message:
-----------
RISC-V: Add fminimumnum and fmaximumnum support (#104411)
Since 2.2, `fmin.s/fmax.s` instructions follow the IEEE754-2019, if F
extension is avaiable; and `fmin.d/fmax.d` also follow the IEEE754-2019
if D extension is avaiable.
So, let's mark them as Legal.
Commit: 5ec73b7dcf7f23225ccd37a605f0b752058ea643
https://github.com/llvm/llvm-project/commit/5ec73b7dcf7f23225ccd37a605f0b752058ea643
Author: Nico Weber <thakis at chromium.org>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/CGData/BUILD.gn
R llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/CGData/BUILD.gn
R llvm/utils/gn/secondary/llvm/unittests/CodeGenData/BUILD.gn
Log Message:
-----------
Reland "[gn build] Port d3fb41dddc11 (llvm-cgdata)"
This reverts commit 6476a1d6865fc3a4c0fa3e436174a9a99a6ffedb.
d3fb41dddc11 relanded in 9bb555688caf6a.
...amended to incorporate changes from the reland.
Commit: b96f18b20c31449ef9a6878b5c2725a7cf65c552
https://github.com/llvm/llvm-project/commit/b96f18b20c31449ef9a6878b5c2725a7cf65c552
Author: Ivy Zhang <yan3.zhang at intel.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/Dialect/Math/legalize-to-f32.mlir
Log Message:
-----------
[MLIR][MathDialect] fix fp32 promotion crash when encounters scf.if (#104451)
1. Expand legal op list in `legalizeToF32`
2. add legalization support for `math::rsqrtOp` in `mathToLibm`.
Commit: 04ebae907ab4892ea79a20219a7231c425643f86
https://github.com/llvm/llvm-project/commit/04ebae907ab4892ea79a20219a7231c425643f86
Author: Nico Weber <thakis at chromium.org>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn
Log Message:
-----------
[gn] tblgen opts for llvm-cgdata
This should have been part of 5ec73b7dcf7f232.
Commit: 12d4c89e88bf9349a063fdd992233b29adeb8241
https://github.com/llvm/llvm-project/commit/12d4c89e88bf9349a063fdd992233b29adeb8241
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lld/test/ELF/error-handling-script-linux.test
M lld/test/ELF/error-handling-script-windows.bat
Log Message:
-----------
[ELF,test] Improve error-handling-script-linux.test
* Use split-file
* Remove -o /dev/null
* Avoid `{ list; }` compound command not supported by the lit internal shell (#102382)
* Don't test "ld.lld" before "error:" as per convention
Pull Request: https://github.com/llvm/llvm-project/pull/105454
Commit: 64d75bd100ac974e7343740b1b692be89ce0d9a5
https://github.com/llvm/llvm-project/commit/64d75bd100ac974e7343740b1b692be89ce0d9a5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 55d744eea361
Commit: d9b6e9f1c1565d9469eb0546da8c276051175408
https://github.com/llvm/llvm-project/commit/d9b6e9f1c1565d9469eb0546da8c276051175408
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port c8a678b1e486
Commit: 0f22d47a7a1f70ec77ea8ccdf08a6487827937db
https://github.com/llvm/llvm-project/commit/0f22d47a7a1f70ec77ea8ccdf08a6487827937db
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
Log Message:
-----------
[LTO] Teach computeLTOCacheKey to return std::string (NFC) (#105331)
Without this patch, computeLTOCacheKey computes SHA1, creates its
hexadecimal representation with toHex, which returns std::string, and
then copies it to an output parameter of type SmallString.
This patch removes the redirection and teaches computeLTOCacheKey to
directly return std::string computed by toHex. With the move
semantics, no buffer copy should be involved.
While I am at it, this patch adds a Twine to concatenate two strings.
Commit: 35cec805bfa91fd9b83c29c45f3a5877e484bd85
https://github.com/llvm/llvm-project/commit/35cec805bfa91fd9b83c29c45f3a5877e484bd85
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M lldb/unittests/Process/elf-core/CMakeLists.txt
M lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp
Log Message:
-----------
[lldb][test] Workaround older systems that lack gettid (#104831)
Older glibc versions do not provide `gettid`. Provide our own `gettid`
in these cases.
Fixes a build failure caused by #104109.
Commit: cbd302410e9f27013223a96edcd78dfb597979e1
https://github.com/llvm/llvm-project/commit/cbd302410e9f27013223a96edcd78dfb597979e1
Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M bolt/lib/Core/BinaryFunctionProfile.cpp
A bolt/test/X86/infer-fall-throughs.s
Log Message:
-----------
[BOLT] Improve BinaryFunction::inferFallThroughCounts() (#105450)
This PR improves how basic block execution count is updated when using
the BOLT option `-infer-fall-throughs`. Previously, if a 0-count
fall-through edge is assigned a positive inferred count N, then the
successor block's execution count will be incremented by N. Since the
successor's execution count is calculated using information besides
inflow sum (such as outflow sum), it likely is already correct, and
incrementing it by an additional N would be wrong. This PR improves how
the successor's execution count is updated by using the max over its
current count and N.
Commit: 33f1aedef878931f61208b39c0220aa0d4bc9381
https://github.com/llvm/llvm-project/commit/33f1aedef878931f61208b39c0220aa0d4bc9381
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
Log Message:
-----------
[AMDGPU] Update instrumentAddress method to support aligned size and unusual size accesses. (#104804)
This PR updates instrumentAddress api to support properly aligned sizes
and unsual size accesses. Changes ported from asan pass.
Commit: 69a0af756b921ad445eb9684f325d27a1c3a13b8
https://github.com/llvm/llvm-project/commit/69a0af756b921ad445eb9684f325d27a1c3a13b8
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/cold.ll
Log Message:
-----------
Revert "[FunctionAttrs] deduce attr `cold` on functions if all CG paths call a `cold` function"
This reverts commit b7eac8c6fea1ba3930d08011a0e5e3a262bfaece.
Causing a test failure. Not 100% sure the issue so to reverting to
unblock pipeline.
Commit: 341d86dcd3ec4ff3073d5f666564bb2cd38f6142
https://github.com/llvm/llvm-project/commit/341d86dcd3ec4ff3073d5f666564bb2cd38f6142
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/cmake/caches/CrossWinToARMLinux.cmake
Log Message:
-----------
[CMake] Update CMake cache file for the ARM/Aarch64 cross toolchain builds. NFC. (#103552)
In order to build LLDB project added the following changes:
* enable LIBCXX_ENABLE_STATIC_ABI_LIBRARY option to link the ABI library statically.
* set LIBCXX_ABI_VERSION to 1 by default.
Commit: 6c62ad446b2441b78ae524d9e700e351d5a76394
https://github.com/llvm/llvm-project/commit/6c62ad446b2441b78ae524d9e700e351d5a76394
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
A clang/test/Interpreter/assigment-with-implicit-ctor.cpp
Log Message:
-----------
[clang-repl] [codegen] Reduce the state in TBAA. NFC for static compilation. (#98138)
In incremental compilation clang works with multiple `llvm::Module`s.
Our current approach is to create a CodeGenModule entity for every new
module request (via StartModule). However, some of the state such as the
mangle context needs to be preserved to keep the original semantics in
the ever-growing TU.
Fixes: llvm/llvm-project#95581.
cc: @jeaye
Commit: a14c7309900f5a61f89b82f6f3d2dc5a51b3e1b4
https://github.com/llvm/llvm-project/commit/a14c7309900f5a61f89b82f6f3d2dc5a51b3e1b4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp
Log Message:
-----------
[clang][bytecode] Fix diagnostic in final ltor cast (#105292)
Don't diagnose volatile reads but diagnose a few other accesses earlier.
Commit: 6f456024c37424d9c8cc1cea07126a28f246588d
https://github.com/llvm/llvm-project/commit/6f456024c37424d9c8cc1cea07126a28f246588d
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/Makefile
A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.py
A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Mark hidden frames as "subtle" (#105457)
This commit takes advantage of the recently introduced
`SBFrame::IsHidden` to show those hidden frames as "subtle" frames in
the UI. E.g., VS Code hides those stack frames by default, and renders
them as grayed out frames, in case the user decides to show them in the
stack trace
Commit: 86f2ec03f898950e1e41c2205f4cf7c60d118390
https://github.com/llvm/llvm-project/commit/86f2ec03f898950e1e41c2205f4cf7c60d118390
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/test/tools/dsymutil/X86/modules.m
Log Message:
-----------
[llvm][DWARFLinker] Don't attach DW_AT_dwo_id to CUs (#105186)
This fixes a verifier error uncovered as a result of
https://github.com/llvm/llvm-project/pull/101775.
When compiling with `-gmodules`, Clang will create a skeleton CU that
contains a `DW_AT_dwo_id` and a `DW_AT_dwo_name` corresponding to the
path of the `.pcm` that carries the type definitions referenced in the
non-skeleton CU (see the [gmodules LLDB
docs](https://lldb.llvm.org/resources/extensions.html) for more
details). The non-skeleton CU will also contain a `DW_AT_dwo_id` that
matches that of the skeleton.
`dsymutil` effectively undoes the `-gmodules` work, replacing all the
module type references with definitions. I.e., we no longer create a
skeleton `.dwo` CU.
Prior to this patch `dsymutil` did not strip out the `DW_AT_dwo_id` on
the non-skeleton CU. This now (since
https://github.com/llvm/llvm-project/pull/101775) causes verification
errors such as:
```
Verifying .debug_names...
error: Name Index @ 0x0: Entry @ 0x9a unable to load .dwo file "None"
for DWARF unit @ 0x0.
error: output verification failed for x86_64
make: *** [a.out.dSYM] Error 1
```
...because the verifier sees the DWO ID but can't find a matching `.dwo`
unit.
This patch simply strips the `DW_AT_dwo_id` from the main CU.
Commit: 7f7f4feaf07dd3bb4b22d0c25d34b6c99c753aa2
https://github.com/llvm/llvm-project/commit/7f7f4feaf07dd3bb4b22d0c25d34b6c99c753aa2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
Revert "[AArch64] Optimize when storing symmetry constants" (#105474)
Reverts llvm/llvm-project#93717
Introduce stack use after return
https://lab.llvm.org/buildbot/#/builders/24/builds/1003
Commit: 90556efaa2f5703920cce4a9c0ee36365e15e2ab
https://github.com/llvm/llvm-project/commit/90556efaa2f5703920cce4a9c0ee36365e15e2ab
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Driver] Use llvm::make_range(std::pair) (NFC) (#105470)
Commit: a3d41879ecf5690a73f9226951d3856c7faa34a4
https://github.com/llvm/llvm-project/commit/a3d41879ecf5690a73f9226951d3856c7faa34a4
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
A mlir/docs/DefiningDialects/Constraints.md
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/TableGen/Constraint.h
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/CMakeLists.txt
M mlir/lib/TableGen/Constraint.cpp
A mlir/test/mlir-tblgen/type-constraints.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
Log Message:
-----------
[mlir][ODS] Optionally generate public C++ functions for type constraints (#104577)
Add `gen-type-constraint-decls` and `gen-type-constraint-defs`, which
generate public C++ functions for type constraints. The name of the C++
function is specified in the `cppFunctionName` field.
Type constraints are typically used for op/type/attribute verification.
They are also sometimes called from builders and transformations. Until
now, this required duplicating the check in C++.
Note: This commit just adds the option for type constraints, but
attribute constraints could be supported in the same way.
Alternatives considered:
1. The C++ functions could also be generated as part of
`gen-typedef-decls/defs`, but that can be confusing because type
constraints may rely on type definitions from multiple `.td` files.
`#include`s could cause duplicate definitions of the same type
constraint.
2. The C++ functions could also be generated as static member functions
of dialects, but they don't really belong to a dialect. (Because they
may rely on type definitions from multiple dialects.)
Commit: 947b9f55b5f327e14368a48fb6ce10242ea29bf3
https://github.com/llvm/llvm-project/commit/947b9f55b5f327e14368a48fb6ce10242ea29bf3
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
A clang/test/Interpreter/preprocessor.cpp
Log Message:
-----------
[clang-repl] Fix printing preprocessed tokens and macros (#104964)
Commit: 89b1468345a74d2095616a8be2306cf0b08fa43a
https://github.com/llvm/llvm-project/commit/89b1468345a74d2095616a8be2306cf0b08fa43a
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/Relocations.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Move ppc64noTocRelax to Ctx. NFC
Ctx was introduced in March 2022 as a more suitable place for such
singletons.
Commit: d7c84d7b71fc5ea89b87480ff5d727496288799c
https://github.com/llvm/llvm-project/commit/d7c84d7b71fc5ea89b87480ff5d727496288799c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Collect loop guards only once in MemoryDepChecker (NFCI).
This on its own gives small compile-time improvements in some configs
and enables using loop guards at more places in the future while keeping
compile-time impact low.
https://llvm-compile-time-tracker.com/compare.php?from=c44202574ff9a8c0632aba30c2765b134557435f&to=55ffc3dd920fa9af439fd39f8f9cc13509531420&stat=instructions:u
Commit: f47966b1de459a095b01ac2f9fa975076b609c06
https://github.com/llvm/llvm-project/commit/f47966b1de459a095b01ac2f9fa975076b609c06
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Log Message:
-----------
[compiler-rt] Reland "SetThreadName implementation for Fuchsia" (#105179)
Commit: b6686e764c02b1373359bbd80d9c0e1a834d1a64
https://github.com/llvm/llvm-project/commit/b6686e764c02b1373359bbd80d9c0e1a834d1a64
Author: serge-sans-paille <sergesanspaille at free.fr>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M flang/runtime/edit-input.cpp
M flang/runtime/exceptions.cpp
M flang/runtime/stop.cpp
Log Message:
-----------
[Flang][Runtime] Handle missing definitions in <cfenv> (#101242)
According to the C99 standard, <fenv.h> may not define FE_INVALID and
the likes. Even if C++11 mandate them, musl and emscripten don't provide
them, so handle that case.
Commit: 7c4cadfc4333df8a20bb5a66b0ba4560bb4bd91c
https://github.com/llvm/llvm-project/commit/7c4cadfc4333df8a20bb5a66b0ba4560bb4bd91c
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx10_2_512convertintrin.h
A clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
A clang/test/CodeGen/X86/avx10_2convert-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
A llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
A llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
A llvm/test/MC/X86/avx10.2convert-32-att.s
A llvm/test/MC/X86/avx10.2convert-32-intel.s
A llvm/test/MC/X86/avx10.2convert-64-att.s
A llvm/test/MC/X86/avx10.2convert-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2] Support AVX10.2-CONVERT new instructions. (#101600)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Commit: 9fa2386ff13289d46ebf31656f4be7859f501468
https://github.com/llvm/llvm-project/commit/9fa2386ff13289d46ebf31656f4be7859f501468
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add Hazard3 Core as taped out for RP2350 (#102452)
Luke Wren's Hazard3 is a configurable, open-source 32-bit RISC-V core.
The core's source code and docs are available on github:
https://github.com/wren6991/hazard3
This is the RISC-V core used in the RP2350, a recently announced SoC by
Raspberry Pi (which also contains Arm cores):
https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
We have agreed to name this `-mcpu` option `rp2350-hazard3`, and it
reflects exactly the options configured in the RP2350 chips. Notably,
the Zbc is not configured, and nor is B because the `misa.B` bit is not
either.
Commit: 7063c9427e11b5028ab2e926768faa7ff431bb85
https://github.com/llvm/llvm-project/commit/7063c9427e11b5028ab2e926768faa7ff431bb85
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/loops.mlir
Log Message:
-----------
[mlir][Linalg] Bugfix for folder of `linalg.transpose` (#102888)
Folder of linalg transpose only support tensor type. Fix #102576.
Commit: 749ba7f6b29887a74d8f68837b21f478cd6e1486
https://github.com/llvm/llvm-project/commit/749ba7f6b29887a74d8f68837b21f478cd6e1486
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Add more tests for ConvertVectorToLLVM (5/n) (#104784)
This patch aims to disambiguate test names for some of the
Vector-To-LLVM conversion pass.
Covers the following Ops:
* vector.extractelement
* vector.extract
* vector.insertelement
* vector.insert
1. Tests targetting `vector.{insert|extract}` Ops do not have names like
`{insert|extract}_element*` which was confusing against
`vector.{insert|extract}element` ops targetting tests.
2. Tests mention the type of the target/source buffer. e.g.
`@extractelement` => `@extractelement_from_vec_1d`
3. Align LIT ligns consistently with other tests.
4. Tests with a different type for position have a name updated
accordingly. `@extractelement_index` =>`@extractelement_index_position`
5. Tests with a dynamic value for position have a name updated
accordingly. `@extract_element_with_value_1d`
=>`@extract_scalar_dynamic_position_from_vec_1d`
6. Added the scalable flavour of the tests
`insert_scalar_into_vec_2d_dynamic_position` and
`@extract_scalar_from_vec_2d_dynamic_position`
Commit: 25ffd2efb33476f2a235f6cb1377759bab367324
https://github.com/llvm/llvm-project/commit/25ffd2efb33476f2a235f6cb1377759bab367324
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 7c4cadfc4333
Commit: 99741ac28522f519713907d7bea4438ea5412e21
https://github.com/llvm/llvm-project/commit/99741ac28522f519713907d7bea4438ea5412e21
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/pr36983.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Introduce explicit ExtractFromEnd recipes for live-outs. (#100658)
Introduce explicit ExtractFromEnd recipes to extract the final values
for live-outs instead of implicitly extracting in VPLiveOut::fixPhi.
This is a follow-up to the recent changes of modeling extracts for
recurrences and consolidates live-out extract creation for fixed-order
recurrences at a single place: addLiveOutsForFirstOrderRecurrences.
It is also in preparation of replacing VPLiveOut with VPIRInstructions
wrapping the original scalar phis.
PR: https://github.com/llvm/llvm-project/pull/100658
Commit: 9d739e54f4506bf9bd220c5d65f710b86a39f6d5
https://github.com/llvm/llvm-project/commit/9d739e54f4506bf9bd220c5d65f710b86a39f6d5
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/SemaCXX/attr-annotate.cpp
M clang/test/SemaCXX/cxx2a-explicit-bool.cpp
M clang/test/SemaCXX/sugared-auto.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2351 `void{}` (#78060)
Per [CWG2351](https://wg21.link/CWG2351), allow `void{}`, treated the
same as `void()`: a prvalue expression of type `void` that performs no
initialization.
Note that the AST for the expression `T{}` looks like:
```
// using T = int;
CXXFunctionalCastExpr 'T':'int' functional cast to T <NoOp>
`-InitListExpr 'T':'int'
// using T = const int;
CXXFunctionalCastExpr 'int' functional cast to T <NoOp>
`-InitListExpr 'int'
// using T = void;
CXXFunctionalCastExpr 'T':'void' functional cast to T <ToVoid>
`-InitListExpr 'void'
// using T = const void;
CXXFunctionalCastExpr 'void' functional cast to T <ToVoid>
`-InitListExpr 'void'
```
As for `void()`/`T() [T = const void]`, that looked like
`CXXScalarValueInitExpr 'void'` and is unchanged after this.
For reference, C++98 [5.2.3p2] says:
> The expression `T()`, where `T` is a simple-type-specifier (7.1.5.2)
for a non-array complete object type or the (possibly cv-qualified) void
type, creates an rvalue of the specified type, whose value is determined
by default-initialization (8.5; no initialization is done for the
`void()` case). [*Note:* if `T` is a non-class type that is
*cv-qualified*, the `cv-qualifiers` are ignored when determining the
type of the resulting rvalue (3.10). ]
Though it is a bit of a misnomer that, for `T = void`,
`CXXScalarValueInitExpr` does not perform value initialization, it would
be a breaking change to change the AST node for `void()`, so I simply
reworded the doc comment.
Commit: 0b0ccd56c9cabef48a6c99abe6e0b41ac69e5faa
https://github.com/llvm/llvm-project/commit/0b0ccd56c9cabef48a6c99abe6e0b41ac69e5faa
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
M llvm/test/CodeGen/AArch64/neon-extadd.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[GlobalIsel] Push cast through build vector (#104634)
Credits: https://github.com/llvm/llvm-project/pull/100563
Commit: a811f263356af4fcf5b479c7a32d1bab44ac8954
https://github.com/llvm/llvm-project/commit/a811f263356af4fcf5b479c7a32d1bab44ac8954
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/unittests/Analysis/GraphWriterTest.cpp
Log Message:
-----------
[llvm][test] Write temporary files into a temporary directory
Commit: 768598bcc3528ff5c4cd2c8a9b74d023614e1a9e
https://github.com/llvm/llvm-project/commit/768598bcc3528ff5c4cd2c8a9b74d023614e1a9e
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
R llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
Revert "[LLVM] [X86] Fix integer overflows in frame layout for huge frames (#101840)"
This casuses assertion failures targeting 32-bit x86:
lib/Target/X86/X86RegisterInfo.cpp:989:
virtual bool llvm::X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator, int, unsigned int, RegScavenger *) const:
Assertion `(Is64Bit || FitsIn32Bits) && "Requesting 64-bit offset in 32-bit immediate!"' failed.
See comment on the PR.
> Fix 32-bit integer overflows in the X86 target frame layout when dealing
> with frames larger than 4gb. When this occurs, we'll scavenge a scratch
> register to be able to hold the correct stack offset for frame locals.
>
> This completes reapplying #84114.
>
> Fixes #48911
> Fixes #75944
> Fixes #87154
This reverts commit 0abb7791614947bc24931dd851ade31d02496977.
Commit: bacedb5684c79d35af61c4e30fb5d7fd9c2daf97
https://github.com/llvm/llvm-project/commit/bacedb5684c79d35af61c4e30fb5d7fd9c2daf97
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental for Ssqosid ext (#105476)
Ratified: https://github.com/riscv/riscv-ssqosid/releases/tag/v1.0
Commit: 6c189eaea9941898e7379903d10274dbf6e2c545
https://github.com/llvm/llvm-project/commit/6c189eaea9941898e7379903d10274dbf6e2c545
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
A llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll
A llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme-toggle-pstateza.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
Log Message:
-----------
[AArch64] Add SME peephole optimizer pass (#104612)
This pass removes back-to-back smstart/smstop instructions
to reduce the number of streaming mode changes in a function.
The implementation as proposed doesn't aim to solve all problems
yet and suggests a number of cases that can be optimized in the
future.
Commit: 126b56a234486a2cd05a8beca78bcf89fe47d167
https://github.com/llvm/llvm-project/commit/126b56a234486a2cd05a8beca78bcf89fe47d167
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/builtin-cpu-supports.c
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
Log Message:
-----------
[RISCV] Make EmitRISCVCpuSupports accept multiple features (#104917)
This patch creates an additional EmitRISCVCpuSupports function to handle
situations with multiple features. It also modifies the original
EmitRISCVCpuSupports function to invoke the new one.
Commit: 5f91de9d18cfa136645c2cbc91901b676c10df81
https://github.com/llvm/llvm-project/commit/5f91de9d18cfa136645c2cbc91901b676c10df81
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
Log Message:
-----------
[AMDGPU][True16][test] added missing true16 flag in gfx12 asm vop1 (#104884)
added missing true16 flag in gfx12 asm vop1
Commit: 8ac140f390847e4e85e0a4fd910baaf46e5d115b
https://github.com/llvm/llvm-project/commit/8ac140f390847e4e85e0a4fd910baaf46e5d115b
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Clang][NFCI] Cleanup the fix for default function argument substitution (#104911)
(This is one step towards tweaking `getTemplateInstantiationArgs()` as
discussed in https://github.com/llvm/llvm-project/pull/102922)
We don't always substitute into default arguments while transforming a
function parameter. In that case, we would preserve the uninstantiated
expression until after, e.g. building up a CXXDefaultArgExpr and
instantiate the expression there.
For member function instantiation, this algorithm used to cause a
problem in that the default argument of an out-of-line member function
specialization couldn't get properly instantiated. This is because, in
`getTemplateInstantiationArgs()`, we would give up visiting a function's
declaration context if the function is a specialization of a member
template. For example,
```cpp
template <class T>
struct S {
template <class U>
void f(T = sizeof(T));
};
template <> template <class U>
void S<int>::f(int) {}
```
The default argument `sizeof(U)` that lexically appears inside the
declaration would be copied to the function declaration in the class
template specialization `S<int>`, as well as to the function's
out-of-line definition. We use template arguments collected from the
out-of-line function definition when substituting into the default
arguments. We would therefore give up the traversal after the function,
resulting in a single-level template argument of the `f` itself. However
the default argument here could still reference the template parameters
of the primary template, hence the error.
In fact, this is similar to constraint checking in some respects: we
actually want the "whole" template arguments relative to the primary
template, not those relative to the function definition. So this patch
adds another flag to indicate `getTemplateInstantiationArgs()` for that.
This patch also consolidates the tests for default arguments and removes
some unnecessary tests.
Commit: 6b8c194f8587945e063691992068f1f821837769
https://github.com/llvm/llvm-project/commit/6b8c194f8587945e063691992068f1f821837769
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port 6c189eaea994
Commit: 3083459c1d7a723e946db99a5794f33242ba1402
https://github.com/llvm/llvm-project/commit/3083459c1d7a723e946db99a5794f33242ba1402
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port a3d41879ecf5690a73f9226951d3856c7faa34a4
Commit: 297bb467acd31447d64f0540835127d50408e87d
https://github.com/llvm/llvm-project/commit/297bb467acd31447d64f0540835127d50408e87d
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Link main components with -pie by default (#102901)
The PS5 linker currently forces `-pie` for typical link jobs. Have the
driver pass `pie` under the same conditions. With this change we can
remove our private linker patch and also allow `-no-pie` to have an
effect.
SIE tracker: TOOLCHAIN-16704
Commit: a105877646d68e48cdeeeadd9d1e075dc3c5d68d
https://github.com/llvm/llvm-project/commit/a105877646d68e48cdeeeadd9d1e075dc3c5d68d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/fp-reassoc-pragma.cpp
M clang/test/CodeGen/fp-reciprocal-pragma.cpp
M clang/test/CodeGen/ms-mixed-ptr-sizes.c
M clang/test/Headers/wasm.c
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
M llvm/test/Analysis/ValueTracking/known-power-of-two.ll
M llvm/test/Analysis/ValueTracking/knownbits-and-or-xor-lowbit.ll
M llvm/test/Analysis/ValueTracking/knownbits-bmi-pattern.ll
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-value.ll
M llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
M llvm/test/Transforms/InstCombine/2010-11-23-Distributed.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add-mask-neg.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/add2.ll
M llvm/test/Transforms/InstCombine/add_or_sub.ll
M llvm/test/Transforms/InstCombine/and-or-icmp-const-icmp.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-or-not.ll
M llvm/test/Transforms/InstCombine/and-or.ll
M llvm/test/Transforms/InstCombine/and-xor-merge.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/apint-and-xor-merge.ll
M llvm/test/Transforms/InstCombine/apint-or.ll
M llvm/test/Transforms/InstCombine/apint-shift.ll
M llvm/test/Transforms/InstCombine/apint-sub.ll
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
M llvm/test/Transforms/InstCombine/assume-separate_storage.ll
M llvm/test/Transforms/InstCombine/avg-lsb.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-cast.ll
M llvm/test/Transforms/InstCombine/bit-checks.ll
M llvm/test/Transforms/InstCombine/bitcast-inseltpoison.ll
M llvm/test/Transforms/InstCombine/bitcast.ll
M llvm/test/Transforms/InstCombine/bitreverse.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
M llvm/test/Transforms/InstCombine/cmp-x-vs-neg-x.ll
M llvm/test/Transforms/InstCombine/conditional-negation.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop-pow2.ll
M llvm/test/Transforms/InstCombine/cttz.ll
M llvm/test/Transforms/InstCombine/demorgan.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/fadd-fsub-factor.ll
M llvm/test/Transforms/InstCombine/fadd.ll
M llvm/test/Transforms/InstCombine/fast-basictest.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/float-shrink-compare.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fold-ext-eq-c-with-op.ll
M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/fold-signbit-test-power2.ll
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/fptrunc.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/fsh.ll
M llvm/test/Transforms/InstCombine/fsub.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-and-add-sub-xor-p2.ll
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-equality-rotate.ll
M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
M llvm/test/Transforms/InstCombine/icmp-ext-ext.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
M llvm/test/Transforms/InstCombine/icmp-mul.ll
M llvm/test/Transforms/InstCombine/icmp-of-and-x.ll
M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
M llvm/test/Transforms/InstCombine/icmp-or-of-select-with-zero.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/icmp-range.ll
M llvm/test/Transforms/InstCombine/icmp-rotate.ll
M llvm/test/Transforms/InstCombine/icmp-select-implies-common-op.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/implies.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-scalar.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
M llvm/test/Transforms/InstCombine/ispow2.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/known-never-nan.ll
M llvm/test/Transforms/InstCombine/ldexp-ext.ll
M llvm/test/Transforms/InstCombine/log-pow.ll
M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-and-of-ors.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
M llvm/test/Transforms/InstCombine/mul-pow2.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/mul_fold.ll
M llvm/test/Transforms/InstCombine/mul_full_64.ll
M llvm/test/Transforms/InstCombine/not-add.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/onehot_merge.ll
M llvm/test/Transforms/InstCombine/or-xor-xor.ll
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/pr44242.ll
M llvm/test/Transforms/InstCombine/pr49688.ll
M llvm/test/Transforms/InstCombine/pr75369.ll
M llvm/test/Transforms/InstCombine/ptr-int-ptr-icmp.ll
M llvm/test/Transforms/InstCombine/ptrmask.ll
M llvm/test/Transforms/InstCombine/range-check.ll
M llvm/test/Transforms/InstCombine/reassociate-nuw.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
M llvm/test/Transforms/InstCombine/result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
M llvm/test/Transforms/InstCombine/result-of-usub-is-non-zero-and-no-overflow.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/scalarization-inseltpoison.ll
M llvm/test/Transforms/InstCombine/scalarization.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
M llvm/test/Transforms/InstCombine/select-cmp-eq-op-fold.ll
M llvm/test/Transforms/InstCombine/select-cmp.ll
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
M llvm/test/Transforms/InstCombine/select-divrem.ll
M llvm/test/Transforms/InstCombine/select-factorize.ll
M llvm/test/Transforms/InstCombine/select-masked_gather.ll
M llvm/test/Transforms/InstCombine/select-masked_load.ll
M llvm/test/Transforms/InstCombine/select-of-bittest.ll
M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/set.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
M llvm/test/Transforms/InstCombine/shift-direction-in-bit-test.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shuffle-binop.ll
M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/sink-not-into-and.ll
M llvm/test/Transforms/InstCombine/sink-not-into-or.ll
M llvm/test/Transforms/InstCombine/smax-icmp.ll
M llvm/test/Transforms/InstCombine/smin-icmp.ll
M llvm/test/Transforms/InstCombine/sub-ashr-or-to-icmp-select.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/sub-lshr-or-to-icmp-select.ll
M llvm/test/Transforms/InstCombine/sub-minmax.ll
M llvm/test/Transforms/InstCombine/sub-not.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
M llvm/test/Transforms/InstCombine/uaddo.ll
M llvm/test/Transforms/InstCombine/umax-icmp.ll
M llvm/test/Transforms/InstCombine/umin-icmp.ll
M llvm/test/Transforms/InstCombine/unordered-compare-and-ordered.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-add.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-xor.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-add.ll
M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-xor.ll
M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
M llvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
M llvm/test/Transforms/InstCombine/unsigned-sub-overflow-check.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
M llvm/test/Transforms/InstCombine/vector-reverse.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
M llvm/test/Transforms/InstCombine/widenable-conditions.ll
M llvm/test/Transforms/InstCombine/xor.ll
M llvm/test/Transforms/InstCombine/xor2.ll
M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/InstCombine/zext.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/fast-basictest.ll
M llvm/test/Transforms/PhaseOrdering/reassociate-instcombine.ll
M llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll
M llvm/test/Transforms/Reassociate/fast-ArrayOutOfBounds.ll
M llvm/test/Transforms/Reassociate/fast-SubReassociate.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll
Log Message:
-----------
[InstCombine] Remove some of the complexity-based canonicalization (#91185)
The idea behind this canonicalization is that it allows us to handle less
patterns, because we know that some will be canonicalized away. This is
indeed very useful to e.g. know that constants are always on the right.
However, this is only useful if the canonicalization is actually
reliable. This is the case for constants, but not for arguments: Moving
these to the right makes it look like the "more complex" expression is
guaranteed to be on the left, but this is not actually the case in
practice. It fails as soon as you replace the argument with another
instruction.
The end result is that it looks like things correctly work in tests,
while they actually don't. We use the "thwart complexity-based
canonicalization" trick to handle this in tests, but it's often a
challenge for new contributors to get this right, and based on the
regressions this PR originally exposed, we clearly don't get this right
in many cases.
For this reason, I think that it's better to remove this complexity
canonicalization. It will make it much easier to write tests for
commuted cases and make sure that they are handled.
Commit: 9d364286f3b63e99ed3838f179aa2223f930f1ab
https://github.com/llvm/llvm-project/commit/9d364286f3b63e99ed3838f179aa2223f930f1ab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Bitcode/amdgcn-atomic.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
Log Message:
-----------
AMDGPU: Remove flat/global atomic fadd v2bf16 intrinsics (#97050)
These are now fully covered by atomicrmw.
Commit: 681ae0972205e575ff1fd1d7ab0ef710ae364348
https://github.com/llvm/llvm-project/commit/681ae0972205e575ff1fd1d7ab0ef710ae364348
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/Extensions/MeshShardingExtensions.h
R mlir/include/mlir/Dialect/Mesh/IR/TensorShardingInterfaceImpl.h
A mlir/include/mlir/Dialect/Tensor/Extensions/AllExtensions.h
A mlir/include/mlir/Dialect/Tensor/Extensions/MeshShardingExtensions.h
A mlir/include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/Mesh/Interfaces/CMakeLists.txt
R mlir/lib/Dialect/Mesh/Interfaces/TensorShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
A mlir/lib/Dialect/Tensor/Extensions/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
M mlir/tools/mlir-lsp-server/CMakeLists.txt
Log Message:
-----------
[MLIR][mesh] moving shardinginterfaceimpl for tensor to tensor extension lib (#104913)
Follow-up to #102598 : as discussed, move tensor sharding implementation
into separate tensor extension lib.
@sogartar @yaochengji, could you take a look at this PR?
Commit: 8109e5de57fbdfc0fd292f143da7dfa7543ebdab
https://github.com/llvm/llvm-project/commit/8109e5de57fbdfc0fd292f143da7dfa7543ebdab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] Add select_cc -> abd folds (#102137)
Fixes #100810
Commit: 0c07e7c211bed5e14372aebc2fc6edc16ecef8cb
https://github.com/llvm/llvm-project/commit/0c07e7c211bed5e14372aebc2fc6edc16ecef8cb
Author: Nathan Gauër <brioche at google.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
A llvm/test/CodeGen/SPIRV/block-ordering.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
A llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
R llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-white-identity.ll
Log Message:
-----------
[SPIR-V] Sort basic blocks to match the SPIR-V spec (#102929)
The SPIR-V spec required basic blocks to respect some kind of ordering
(A block dominating another cannot be after in the binary layout).
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 4e04286d61edfb56338ca3a6d0735c5384508b00
https://github.com/llvm/llvm-project/commit/4e04286d61edfb56338ca3a6d0735c5384508b00
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
Log Message:
-----------
[VPlan] Only use selectVectorizationFactor for cross-check (NFCI). (#103033)
Use getBestVF to select VF up-front and only use
selectVectorizationFactor to get the VF legacy VF to check the
vectorization decision matches the VPlan-based cost model.
PR: https://github.com/llvm/llvm-project/pull/103033
Commit: a80dd44b0d96fa3ba3fe0501c3ad4b1ee7edff00
https://github.com/llvm/llvm-project/commit/a80dd44b0d96fa3ba3fe0501c3ad4b1ee7edff00
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
LAA: pre-commit tests for stride-versioning (#97570)
Add tests for when the Stride is unknown and equal to TC, with different
kinds of casts. In these cases, LAA should not speculate on Stride.
Commit: 7a19194d0ac0110e5dae43538423293b67a27466
https://github.com/llvm/llvm-project/commit/7a19194d0ac0110e5dae43538423293b67a27466
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[NFC][ADT] Add unit test for llvm::mismatch. (#105459)
- Add basic unit test for llvm::mismatch.
Commit: 0cff3e85db00b5f425cc4ed0d6921445afa891ca
https://github.com/llvm/llvm-project/commit/0cff3e85db00b5f425cc4ed0d6921445afa891ca
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/ModRef.cpp
Log Message:
-----------
[NFC][Support] Move ModRef/MemoryEffects printers to their own file (#105367)
- Move raw_ostream << operators for `ModRef` and `MemoryEffects` to a
new ModRef.cpp file under llvm/Support (instead of AliasAnalysis.cpp)
- This enables calling these operators from `Core` files like
Instructions.cpp (for instance for debugging). Currently, they live in
`LLVMAnalysis` which cannot be linked with `Core`.
Commit: 2644fe4858a36ffa65c36645f362e79889a0ad21
https://github.com/llvm/llvm-project/commit/2644fe4858a36ffa65c36645f362e79889a0ad21
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 0cff3e85db00
Commit: 4f075086e7b8d9108749117f53999cd4afdd6894
https://github.com/llvm/llvm-project/commit/4f075086e7b8d9108749117f53999cd4afdd6894
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LLVM][VPlan] Keep all VPBlend masks until VPlan transformation. (#104015)
It's not possible to pick the best mask to remove when optimising
VPBlend at construction and so this patch refactors the code to move the
decision (and thus transformation) to VPlanTransforms.
NOTE: This patch does not change the decision of which mask to pick.
That will be done in a following PR to keep this patch as NFC from an
output point of view.
Commit: 170a21e7f00d0097d88cba3547967e500e0d8dfe
https://github.com/llvm/llvm-project/commit/170a21e7f00d0097d88cba3547967e500e0d8dfe
Author: Marius Kamp <msk at posteo.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/zext.ll
Log Message:
-----------
[InstCombine] Extend Fold of Zero-extended Bit Test (#102100)
Previously, (zext (icmp ne (and X, (1 << ShAmt)), 0)) has only been
folded if the bit width of X and the result were equal. Use a trunc or
zext instruction to also support other bit widths.
This is a follow-up to commit 533190acdb9d2ed774f96a998b5c03be3df4f857,
which introduced a regression: (zext (icmp ne (and (lshr X ShAmt) 1) 0))
is not folded any longer to (zext/trunc (and (lshr X ShAmt) 1)) since
the commit introduced the fold of (icmp ne (and (lshr X ShAmt) 1) 0) to
(icmp ne (and X (1 << ShAmt)) 0). The change introduced by this commit
restores this fold.
Alive proof: https://alive2.llvm.org/ce/z/MFkNXs
Relates to issue #86813 and pull request #101838.
Commit: ad435bcc14f42dc97286c717cd12446a0facb2ee
https://github.com/llvm/llvm-project/commit/ad435bcc14f42dc97286c717cd12446a0facb2ee
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/kernel-args.cu
Log Message:
-----------
[clang][CodeGen][SPIR-V][AMDGPU] Tweak AMDGCNSPIRV ABI to allow for the correct handling of aggregates passed to kernels / functions. (#102776)
The AMDGPU kernel ABI is not directly representable in SPIR-V, since it
relies on passing aggregates `byref`, and SPIR-V only encodes `byval`
(which the AMDGPU BE disallows for kernel arguments). As a temporary
solution to this mismatch, we add special handling for AMDGCN flavoured
SPIR-V, whereby aggregates are passed as direct, both to kernels and to
normal functions. This is not ideal (there are pathological cases where
performance is heavily impacted), but empirically robust and guaranteed
to work as the AMDGPU BE retains handling of `direct` passing for legacy
reasons.
We will revisit this in the future, but as it stands it is enough to
pass a wide array of integration tests and generates correct SPIR-V and
correct reverse translation into LLVM IR. The
amdgpu-kernel-arg-pointer-type test is updated via the automated script,
and thus becomes quite noisy.
Commit: 848658955a9d2d42ea3e319d191e2dcd5d76c837
https://github.com/llvm/llvm-project/commit/848658955a9d2d42ea3e319d191e2dcd5d76c837
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/taint-generic.c
Log Message:
-----------
[analyzer] Limit `isTainted()` by skipping complicated symbols (#105493)
As discussed in
https://discourse.llvm.org/t/rfc-make-istainted-and-complex-symbols-friends/79570/10
Some `isTainted()` queries can blow up the analysis times, and
effectively halt the analysis under specific workloads.
We don't really have the time now to do a caching re-implementation of
`isTainted()`, so we need to workaround the case.
The workaround with the smallest blast radius was to limit what symbols
`isTainted()` does the query (by walking the SymExpr). So far, the
threshold 10 worked for us, but this value can be overridden using the
"max-tainted-symbol-complexity" config value.
This new option is "deprecated" from the getgo, as I expect this issue
to be fixed within the next few months and I don't want users to
override this value anyways. If they do, this message will let them know
that they are on their own, and the next release may break them (as we
no longer recognize this option if we drop it).
Mitigates #89720
CPP-5414
Commit: 2704b804bec50c2b016bf678bd534c330ec655b6
https://github.com/llvm/llvm-project/commit/2704b804bec50c2b016bf678bd534c330ec655b6
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_globals.cpp
M compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_global_dead_strip.c
M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
M compiler-rt/test/asan/TestCases/Windows/global_dead_strip.c
M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
M compiler-rt/test/asan/TestCases/initialization-nobug.cpp
Log Message:
-----------
Revert "[asan] Remove debug tracing from `report_globals` (#104404)"
This caused
SanitizerCommon-asan-x86_64-Darwin :: Darwin/print-stack-trace-in-code-loaded-after-fork.cpp
to fail, see comment on the PR.
> Printing globals registration is internal debug
> tracing and should be controlled with verbosity.
This reverts commit 68f6e7467651f38e0b97343bfbc49e0ce69eaedf and
follow-up commit ef6760116fa2fa21f78e7a3b499f77e1a3eb7b92.
Commit: 40eca60c5a273e7b89851c7c0b73b5f1037b29ed
https://github.com/llvm/llvm-project/commit/40eca60c5a273e7b89851c7c0b73b5f1037b29ed
Author: Zhikai Zeng <backlight.zzk at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/concepts-friends.cpp
Log Message:
-----------
[Clang] fix generic lambda inside requires-clause of friend function template (#99813)
fixes https://github.com/llvm/llvm-project/issues/98258
The cause is that the assertion "Nothing should reference a value below
the actual template depth" is incorrect since we can have a generic
lambda inside requires-clause of friend function template, and the
generic lambda can reference to values with greater template depth.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 1e5f275f36a3758c7c3b06d0b9e975c4eea3d0af
https://github.com/llvm/llvm-project/commit/1e5f275f36a3758c7c3b06d0b9e975c4eea3d0af
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
Log Message:
-----------
[libc++] Refactor the tests for mutex, recursive mutex and their timed counterparts (#104852)
This refactoring is done to remove flakyness as described in
https://github.com/llvm/llvm-project/pull/89083.
Commit: 4f14bfeddedcf21e0eaf0ff3ddf7b62938f66df5
https://github.com/llvm/llvm-project/commit/4f14bfeddedcf21e0eaf0ff3ddf7b62938f66df5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
Log Message:
-----------
[llvm-reduce] Disable fixpoint verification in InstCombine
We don't want to get fixpoint verification errors while reducing.
Commit: aa088438784dd76a859eee229ddaec17e0cb0651
https://github.com/llvm/llvm-project/commit/aa088438784dd76a859eee229ddaec17e0cb0651
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M libcxx/include/__compare/ordering.h
A libcxx/test/std/language.support/cmp/cmp.categories.pre/reject-other-than-literal-zero.verify.cpp
R libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp
Log Message:
-----------
[libc++] Avoid -Wzero-as-null-pointer-constant in operator<=> (#79465)
Issue #43670 describes a situation where the following comparison will
issue a warning when -Wzero-as-null-pointer-constant is enabled:
#include <compare>
auto b = (1 <=> 2) < 0;
This code uses operator<(strong_ordering, Unspecified), which is
specified by the Standard to only work with a literal 0. In the library,
this is achieved by constructing Unspecified from a pointer, which works
but has the downside of triggering the warning.
This patch uses an alternative implementation where we require that the
operator is used exactly with an int of value 0 (known at compile-time),
however that value can technically be an expression like `1 - 1`, which
makes us a bit less strict than what's specified in the Standard.
Fixes #43670
Commit: 65281570afd7e35e01533b07c6c2937de410fc52
https://github.com/llvm/llvm-project/commit/65281570afd7e35e01533b07c6c2937de410fc52
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
Log Message:
-----------
[lldb][swig] Use the correct variable in the return statement
The issue was introduced in
https://github.com/llvm/llvm-project/pull/104523.
The code introduces the `ret_val` variable but does not use it. Instead
it returns a pointer, which gets implicitly converted to bool.
Commit: 76c07984257b49dcc4786fa9fb3918a2c1342e23
https://github.com/llvm/llvm-project/commit/76c07984257b49dcc4786fa9fb3918a2c1342e23
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
[mlir][memref]: Allow collapse dummy strided unit dim (#103719)
Dimensions of size 1 should be skipped, because their strides are meaningless and could have any arbitrary value.
Commit: 281d17840c35a1d80303bb6170c253fe2411f95f
https://github.com/llvm/llvm-project/commit/281d17840c35a1d80303bb6170c253fe2411f95f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDecl.cpp
A clang/test/Parser/function-parameter-limit.cpp
Log Message:
-----------
[clang] Diagnose functions with too many parameters (#104833)
This patch adds a parser check when a function declaration or function
type declaration (in a function pointer declaration, for example) has
too many parameters for `FunctionTypeBits::NumParams` to hold. At the
moment of writing it's a 16-bit-wide bit-field, limiting the number of
parameters at 65536.
The check is added in the parser loop that goes over comma-separated
list of function parameters. This is not the solution Aaron suggested in
https://github.com/llvm/llvm-project/issues/35741#issuecomment-1638086571,
because it was found out that it's quite hard to recover from this
particular error in `GetFullTypeForDeclarator()`. Multiple options were
tried, but all of them led to crashes down the line.
I used LLVM Compile Time Tracker to ensure this does not introduce a
performance regression. I believe changes are in the noise:
https://llvm-compile-time-tracker.com/compare.php?from=de5ea2d122c31e1551654ff506c33df299f351b8&to=424818620766cedb2770e076ee359afeb0cc14ec&stat=instructions:u
Fixes #35741
Commit: 7ad7f8f7a3d443f4c17264d7e14cccdc020976b9
https://github.com/llvm/llvm-project/commit/7ad7f8f7a3d443f4c17264d7e14cccdc020976b9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/CMakeLists.txt
A libcxx/cmake/caches/Generic-no-terminal.cmake
M libcxx/include/__config_site.in
M libcxx/include/print
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libcxx] Add `LIBCXX_HAS_TERMINAL_AVAILABLE` CMake option to disable `print` terminal checks (#99259)
Adds a new CMake option called `LIBCXX_HAS_TERMINAL_AVAILABLE` that
prevents us from checking for `isatty`.
Commit: 87eeed1f0ebe57abffde560c25dd9829dc6038f3
https://github.com/llvm/llvm-project/commit/87eeed1f0ebe57abffde560c25dd9829dc6038f3
Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M flang/docs/OpenMP-declare-target.md
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/CMakeLists.txt
A flang/include/flang/Optimizer/OpenMP/CMakeLists.txt
A flang/include/flang/Optimizer/OpenMP/Passes.h
A flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Optimizer/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
A flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
R flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
R flang/lib/Optimizer/Transforms/OMPMarkDeclareTarget.cpp
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Move OpenMP related passes into a separate directory (#104732)
Commit: e1912a15b6b05aab36b7bcbe617980e8d808bd80
https://github.com/llvm/llvm-project/commit/e1912a15b6b05aab36b7bcbe617980e8d808bd80
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[NFC][ADT] Format StringRefTest.cpp to fit in 80 columns. (#105502)
Commit: 3c8f139fb73a8610680b184afc88fe4b1485add0
https://github.com/llvm/llvm-project/commit/3c8f139fb73a8610680b184afc88fe4b1485add0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/select-cmp.ll
Log Message:
-----------
[InstCombine] Add tests for icmp of select of cmp (NFC)
Commit: 68e21e16d21deee0f0226b4c771ff8b4731b7370
https://github.com/llvm/llvm-project/commit/68e21e16d21deee0f0226b4c771ff8b4731b7370
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/arm64-system-encoding.s
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
Log Message:
-----------
[AArch64] Add support for ACTLR_EL12 system register (#105497)
Documentation can be found here:
https://developer.arm.com/documentation/ddi0601/2024-06/AArch64-Registers/ACTLR-EL1--Auxiliary-Control-Register--EL1-
Commit: bccb22709324ae329e3d80cf8af9dd225799bc17
https://github.com/llvm/llvm-project/commit/bccb22709324ae329e3d80cf8af9dd225799bc17
Author: Ivan Radanov Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M flang/docs/OpenMP-declare-target.md
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/CMakeLists.txt
R flang/include/flang/Optimizer/OpenMP/CMakeLists.txt
R flang/include/flang/Optimizer/OpenMP/Passes.h
R flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Optimizer/CMakeLists.txt
R flang/lib/Optimizer/OpenMP/CMakeLists.txt
R flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
R flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
A flang/lib/Optimizer/Transforms/OMPMarkDeclareTarget.cpp
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/CMakeLists.txt
Log Message:
-----------
Revert "[flang][NFC] Move OpenMP related passes into a separate directory (#104732)"
This reverts commit 87eeed1f0ebe57abffde560c25dd9829dc6038f3.
Commit: d6d8243dcd4ea768549904036ed31b8e59e14c73
https://github.com/llvm/llvm-project/commit/d6d8243dcd4ea768549904036ed31b8e59e14c73
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO] Use DenseSet in computeLTOCacheKey (NFC) (#105466)
The two instances of std::set are used only for membership checking
purposes in computeLTOCacheKey. We do not need std::set's strengths
like iterators staying valid or the ability to traverse in a sorted
order. This patch changes them to DenseSet.
While I am at it, this patch replaces count with contains for slightly
increased readability.
Commit: 5ddc79b093f2afaaf2c69d20d7d44448da04458a
https://github.com/llvm/llvm-project/commit/5ddc79b093f2afaaf2c69d20d7d44448da04458a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO] Use a range-based for loop (NFC) (#105467)
Commit: 70e8c982d0589b1a56faf0768b45596c2da3a510
https://github.com/llvm/llvm-project/commit/70e8c982d0589b1a56faf0768b45596c2da3a510
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
Log Message:
-----------
[AArch64] Bail out for scalable vecs in areExtractShuffleVectors (#105484)
The added test triggers the following assert in `areExtractShuffleVectors`
that is called from `shouldSinkOperands`:
Assertion `(!isScalable() || isZero()) && "Request for a fixed element count on a scalable object"' failed.
I don't think scalable types can be extract shuffles, so bail early if
this is the case.
Commit: 32c38dd85ee27fc7c2dd6a749fc1f7af4abdbea1
https://github.com/llvm/llvm-project/commit/32c38dd85ee27fc7c2dd6a749fc1f7af4abdbea1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
R libcxx/docs/Status/Cxx14.rst
R libcxx/docs/Status/Cxx14Issues.csv
R libcxx/docs/Status/Cxx14Papers.csv
M libcxx/docs/index.rst
M libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Mark C++14 as complete and remove the status pages (#105514)
We already documented that libc++ was C++14 complete, but we still
documented the status of C++14. Since that is redundant (and I suspect
the C++14 status page was missing some stuff), simply remove them.
Commit: bf71c64839c0082e761a4f070ed92e01ced0187c
https://github.com/llvm/llvm-project/commit/bf71c64839c0082e761a4f070ed92e01ced0187c
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Darwin/cstring_section.c
Log Message:
-----------
Speculative fix for asan/TestCases/Darwin/cstring_section.c
It's been failing since https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/1812
It seems __TEXT,__cstring now comes before __TEXT,__const.
Commit: 8d4891591fb41780c2af6e18abd590faf1f5626c
https://github.com/llvm/llvm-project/commit/8d4891591fb41780c2af6e18abd590faf1f5626c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 7ad7f8f7a3d4
Commit: f0a3f8a370e3c85ee00cbc5e5d1c29e8ad3c51da
https://github.com/llvm/llvm-project/commit/f0a3f8a370e3c85ee00cbc5e5d1c29e8ad3c51da
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Enable C++23 and C++26 issues to be synchronized
As a drive-by, also switch to printing dangling issues instead of
killing the script, since those can be fairly common.
Commit: ddb5480e6799d0de72c2cd34c1e7f9ffd154e660
https://github.com/llvm/llvm-project/commit/ddb5480e6799d0de72c2cd34c1e7f9ffd154e660
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcmp.s16.mir
Log Message:
-----------
[AMDGPU][True16][MC] added VOPC realtrue/faketrue flag and fake16 instructions (#104739)
VOPC instructions were defined with HasTrue16BitInst flag while these
true16 instructions are actually implemented with fake16 profile.
Seperate them to true16 version and fake16 version by adding
UseRealTrue16 and UseFakeTrue16 flag and fake16 instructions.
The code default to use fake16. This is preparing for the upcoming
changes in MC to support realtrue 16bit operands and vdst. The true16
and fake16 profile will be modified in the later patches.
Commit: c9ba6d35c19022a582516e9455af3f0d79101adf
https://github.com/llvm/llvm-project/commit/c9ba6d35c19022a582516e9455af3f0d79101adf
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
Log Message:
-----------
[RISCV] Add coverage for fp reductions of <2^N-1 x FP> vectors
Commit: c0d222219a8d01d3945100114256d26cfe833a1c
https://github.com/llvm/llvm-project/commit/c0d222219a8d01d3945100114256d26cfe833a1c
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaAttr.cpp
A clang/test/CodeGen/ffp-contract-fast-honor-pramga-option.cpp
A clang/test/CodeGen/ffp-contract-fhp-pragma-override.cpp
Log Message:
-----------
Fix bug with -ffp-contract=fast-honor-pragmas (#104857)
This fixes a problem which caused clang to assert in the Sema pragma
handling if it encountered "#pragma STDC FP_CONTRACT DEFAULT" when
compiling with the -ffp-contract=fast-honor-pragmas option.
This fixes https://github.com/llvm/llvm-project/issues/104830
Commit: 278fc8efdf004a1959a31bb4c208df5ee733d5c8
https://github.com/llvm/llvm-project/commit/278fc8efdf004a1959a31bb4c208df5ee733d5c8
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/dag-combine-freeze.ll
Log Message:
-----------
[DAGCombiner] Fix ReplaceAllUsesOfValueWith mutation bug in visitFREEZE (#104924)
In visitFREEZE we have been collecting a set/vector of
MaybePoisonOperands that later was iterated over, applying a freeze to
those operands. However, C-level fuzzy testing has discovered that the
recursiveness of ReplaceAllUsesOfValueWith may cause later operands in
the MaybePoisonOperands vector to be replaced when replacing an earlier
operand. That would then turn up as
Assertion `N1.getOpcode() != ISD::DELETED_NODE &&
"Operand is DELETED_NODE!"' failed.
failures when trying to freeze those later operands.
So we need to make sure that the vector with MaybePoisonOperands is
mutated as well when needed. Or as the solution used in this patch, make
sure to keep track of operand numbers that should be frozen instead of
having a vector of SDValues. And then we can refetch the operands while
iterating over operand numbers.
The problem was seen after adding SELECT_CC to the set of operations
including in "AllowMultipleMaybePoisonOperands". I'm not sure, but I
guess that this could happen for other operations as well for which we
allow multiple maybe poison operands.
Commit: 6fd46089c9fbd5b22bb67ac3d6196fe70ba684c6
https://github.com/llvm/llvm-project/commit/6fd46089c9fbd5b22bb67ac3d6196fe70ba684c6
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/test/Integration/debug-fixed-array-type-2.f90
M flang/test/Transforms/debug-fixed-array-type.fir
Log Message:
-----------
[flang][debug] Allow non default array lower bounds. (#104467)
As mentioned in #98877, we currently always use 1 as lower bound for
fixed size arrays. This PR removes this restriction. It passes along
`DeclareOp` to type conversion functions and uses the shift information
(if present) to get the lower bound value. This was suggested by
@jeanPerier in
https://github.com/llvm/llvm-project/pull/96746#issuecomment-2195164553
This PR also adds a small cleanup that type conversion functions don't
take Location now. It was initially added so that location of derived
types can be passed. But that information can be extracted from typeInfo
objects and we don't need to pass it along.
This PR will handle the problem for local and global variable. We may
need a bit more work for derived type once the support for derived types
lands.
Fixes #98877.
Commit: 839275d0536f992591f4c5d81e13a26e6095dda6
https://github.com/llvm/llvm-project/commit/839275d0536f992591f4c5d81e13a26e6095dda6
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
Log Message:
-----------
[MLIR][OpenMP] Add missing OpenMP to LLVM conversion patterns (#104440)
This patch adds conversion patterns to LLVM for the following OpenMP
dialect operations:
- `omp.critical.declare`
- `omp.cancel`
- `omp.cancellation_point`
- `omp.distribute`
- `omp.teams`
- `omp.ordered`
- `omp.taskloop`
Also, arbitrary sorting of operations when passing them as template
argument lists when configuring that pass is replaced by alphabetical
sorting.
Commit: 6816a137985bfa38cda20b9cd4e23c361c3bd0de
https://github.com/llvm/llvm-project/commit/6816a137985bfa38cda20b9cd4e23c361c3bd0de
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M flang/test/Driver/fveclib-codegen.f90
Log Message:
-----------
[flang][Driver] Remove misleading test comment (#105528)
The test initially worked on ArmPL but this was changed during code
review and I neglected to fix this comment.
Thanks for pointing this out @banach-space
Commit: e49068624c48f4d906707b32b31f6a1d561605be
https://github.com/llvm/llvm-project/commit/e49068624c48f4d906707b32b31f6a1d561605be
Author: Alex Rice <alexrice999 at hotmail.co.uk>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M mlir/lib/TableGen/Operator.cpp
Log Message:
-----------
[mlir] [tablegen] Make `hasSummary` and `hasDescription` useful (#105531)
The `hasSummary` and `hasDescription` functions are currently useless as
they check if the corresponding `summary` and `description` are present.
However, these values are set to a default value of `""`, and so these
functions always return true.
This PR changes these functions to check if the summary and description
are just whitespace, which is presumably closer to their original
intent.
@math-fehr
@zero9178
Commit: 625841c3be4dbaab089c01217726a2906f3a8103
https://github.com/llvm/llvm-project/commit/625841c3be4dbaab089c01217726a2906f3a8103
Author: magic-akari <akari.ccino at gmail.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/clang-format-sublime.py
M clang/tools/clang-format/clang-format.el
M clang/tools/clang-format/clang-format.py
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Use double hyphen for multiple-letter flags (#100978)
- Closes: #100974
Commit: f7bbc40b0736cc417f57cd039b098b504cf6a71f
https://github.com/llvm/llvm-project/commit/f7bbc40b0736cc417f57cd039b098b504cf6a71f
Author: Siu Chi Chan <siuchi.chan at amd.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M lld/test/ELF/hip-section-layout.s
Log Message:
-----------
[ELF,test] Enhance hip-section-layout.s
Check different object file order
Change-Id: I6096c12e29e9ddb6b3053f977e4cbb24eea9b7d3
Commit: f03b7830902225a8910d2972c39143355795efa9
https://github.com/llvm/llvm-project/commit/f03b7830902225a8910d2972c39143355795efa9
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M llvm/unittests/CGData/CMakeLists.txt
Log Message:
-----------
[CGData] Rename CodeGenDataTests to CGDataTests (#105463)
This addresses the comment for
https://github.com/llvm/llvm-project/pull/101461.
Commit: 52df5c41cb1bd987dd318429015900b9ec095aa8
https://github.com/llvm/llvm-project/commit/52df5c41cb1bd987dd318429015900b9ec095aa8
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
A .github/workflows/commit-access-review.py
A .github/workflows/commit-access-review.yml
M .github/workflows/libcxx-build-and-test.yaml
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
A bolt/test/X86/infer-fall-throughs.s
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/enum.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_location.py
A clang/bindings/python/tests/cindex/test_source_range.py
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangFormattedStatus.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang-c/CXSourceLocation.h
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/APINotes/APINotesWriter.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/Type.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
R clang/include/clang/Rewrite/Core/DeltaTree.h
M clang/include/clang/Rewrite/Core/HTMLRewrite.h
R clang/include/clang/Rewrite/Core/RewriteBuffer.h
R clang/include/clang/Rewrite/Core/RewriteRope.h
M clang/include/clang/Rewrite/Core/Rewriter.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaAVR.h
M clang/include/clang/Sema/SemaBPF.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaHexagon.h
M clang/include/clang/Sema/SemaLoongArch.h
M clang/include/clang/Sema/SemaM68k.h
M clang/include/clang/Sema/SemaMIPS.h
M clang/include/clang/Sema/SemaMSP430.h
M clang/include/clang/Sema/SemaNVPTX.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenCL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaPPC.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Sema/SemaSwift.h
M clang/include/clang/Sema/SemaSystemZ.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/ARCMigrate/ARCMT.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
A clang/lib/AST/ByteCode/Boolean.h
A clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
A clang/lib/AST/ByteCode/ByteCodeEmitter.h
A clang/lib/AST/ByteCode/Compiler.cpp
A clang/lib/AST/ByteCode/Compiler.h
A clang/lib/AST/ByteCode/Context.cpp
A clang/lib/AST/ByteCode/Context.h
A clang/lib/AST/ByteCode/Descriptor.cpp
A clang/lib/AST/ByteCode/Descriptor.h
A clang/lib/AST/ByteCode/Disasm.cpp
A clang/lib/AST/ByteCode/DynamicAllocator.cpp
A clang/lib/AST/ByteCode/DynamicAllocator.h
A clang/lib/AST/ByteCode/EvalEmitter.cpp
A clang/lib/AST/ByteCode/EvalEmitter.h
A clang/lib/AST/ByteCode/EvaluationResult.cpp
A clang/lib/AST/ByteCode/EvaluationResult.h
A clang/lib/AST/ByteCode/Floating.cpp
A clang/lib/AST/ByteCode/Floating.h
A clang/lib/AST/ByteCode/Frame.cpp
A clang/lib/AST/ByteCode/Frame.h
A clang/lib/AST/ByteCode/Function.cpp
A clang/lib/AST/ByteCode/Function.h
A clang/lib/AST/ByteCode/FunctionPointer.h
A clang/lib/AST/ByteCode/Integral.h
A clang/lib/AST/ByteCode/IntegralAP.h
A clang/lib/AST/ByteCode/Interp.cpp
A clang/lib/AST/ByteCode/Interp.h
A clang/lib/AST/ByteCode/InterpBlock.cpp
A clang/lib/AST/ByteCode/InterpBlock.h
A clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpFrame.cpp
A clang/lib/AST/ByteCode/InterpFrame.h
A clang/lib/AST/ByteCode/InterpShared.cpp
A clang/lib/AST/ByteCode/InterpShared.h
A clang/lib/AST/ByteCode/InterpStack.cpp
A clang/lib/AST/ByteCode/InterpStack.h
A clang/lib/AST/ByteCode/InterpState.cpp
A clang/lib/AST/ByteCode/InterpState.h
A clang/lib/AST/ByteCode/MemberPointer.cpp
A clang/lib/AST/ByteCode/MemberPointer.h
A clang/lib/AST/ByteCode/Opcode.h
A clang/lib/AST/ByteCode/Opcodes.td
A clang/lib/AST/ByteCode/Pointer.cpp
A clang/lib/AST/ByteCode/Pointer.h
A clang/lib/AST/ByteCode/PrimType.cpp
A clang/lib/AST/ByteCode/PrimType.h
A clang/lib/AST/ByteCode/Primitives.h
A clang/lib/AST/ByteCode/Program.cpp
A clang/lib/AST/ByteCode/Program.h
A clang/lib/AST/ByteCode/Record.cpp
A clang/lib/AST/ByteCode/Record.h
A clang/lib/AST/ByteCode/Source.cpp
A clang/lib/AST/ByteCode/Source.h
A clang/lib/AST/ByteCode/State.cpp
A clang/lib/AST/ByteCode/State.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
R clang/lib/AST/Interp/Boolean.h
R clang/lib/AST/Interp/ByteCodeEmitter.cpp
R clang/lib/AST/Interp/ByteCodeEmitter.h
R clang/lib/AST/Interp/Compiler.cpp
R clang/lib/AST/Interp/Compiler.h
R clang/lib/AST/Interp/Context.cpp
R clang/lib/AST/Interp/Context.h
R clang/lib/AST/Interp/Descriptor.cpp
R clang/lib/AST/Interp/Descriptor.h
R clang/lib/AST/Interp/Disasm.cpp
R clang/lib/AST/Interp/DynamicAllocator.cpp
R clang/lib/AST/Interp/DynamicAllocator.h
R clang/lib/AST/Interp/EvalEmitter.cpp
R clang/lib/AST/Interp/EvalEmitter.h
R clang/lib/AST/Interp/EvaluationResult.cpp
R clang/lib/AST/Interp/EvaluationResult.h
R clang/lib/AST/Interp/Floating.cpp
R clang/lib/AST/Interp/Floating.h
R clang/lib/AST/Interp/Frame.cpp
R clang/lib/AST/Interp/Frame.h
R clang/lib/AST/Interp/Function.cpp
R clang/lib/AST/Interp/Function.h
R clang/lib/AST/Interp/FunctionPointer.h
R clang/lib/AST/Interp/Integral.h
R clang/lib/AST/Interp/IntegralAP.h
R clang/lib/AST/Interp/Interp.cpp
R clang/lib/AST/Interp/Interp.h
R clang/lib/AST/Interp/InterpBlock.cpp
R clang/lib/AST/Interp/InterpBlock.h
R clang/lib/AST/Interp/InterpBuiltin.cpp
R clang/lib/AST/Interp/InterpFrame.cpp
R clang/lib/AST/Interp/InterpFrame.h
R clang/lib/AST/Interp/InterpShared.cpp
R clang/lib/AST/Interp/InterpShared.h
R clang/lib/AST/Interp/InterpStack.cpp
R clang/lib/AST/Interp/InterpStack.h
R clang/lib/AST/Interp/InterpState.cpp
R clang/lib/AST/Interp/InterpState.h
R clang/lib/AST/Interp/MemberPointer.cpp
R clang/lib/AST/Interp/MemberPointer.h
R clang/lib/AST/Interp/Opcode.h
R clang/lib/AST/Interp/Opcodes.td
R clang/lib/AST/Interp/Pointer.cpp
R clang/lib/AST/Interp/Pointer.h
R clang/lib/AST/Interp/PrimType.cpp
R clang/lib/AST/Interp/PrimType.h
R clang/lib/AST/Interp/Primitives.h
R clang/lib/AST/Interp/Program.cpp
R clang/lib/AST/Interp/Program.h
R clang/lib/AST/Interp/Record.cpp
R clang/lib/AST/Interp/Record.h
R clang/lib/AST/Interp/Source.cpp
R clang/lib/AST/Interp/Source.h
R clang/lib/AST/Interp/State.cpp
R clang/lib/AST/Interp/State.h
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx10_2_512convertintrin.h
A clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/gfniintrin.h
M clang/lib/Headers/hlsl/hlsl_basic_types.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/pmmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/xmmintrin.h
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/Rewrite/CMakeLists.txt
R clang/lib/Rewrite/DeltaTree.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
R clang/lib/Rewrite/RewriteRope.cpp
M clang/lib/Rewrite/Rewriter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaMIPS.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/Tooling/Core/Replacement.cpp
A clang/test/APINotes/Inputs/Headers/Fields.apinotes
A clang/test/APINotes/Inputs/Headers/Fields.h
M clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/fields.cpp
A clang/test/AST/ByteCode/arrays.cpp
A clang/test/AST/ByteCode/atomic.c
A clang/test/AST/ByteCode/atomic.cpp
A clang/test/AST/ByteCode/bitfields.cpp
A clang/test/AST/ByteCode/builtin-align-cxx.cpp
A clang/test/AST/ByteCode/builtin-constant-p.cpp
A clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtins.cpp
A clang/test/AST/ByteCode/c.c
A clang/test/AST/ByteCode/c23.c
A clang/test/AST/ByteCode/codegen.c
A clang/test/AST/ByteCode/codegen.cpp
A clang/test/AST/ByteCode/comma.cpp
A clang/test/AST/ByteCode/complex.c
A clang/test/AST/ByteCode/complex.cpp
A clang/test/AST/ByteCode/cond.cpp
A clang/test/AST/ByteCode/const-eval.c
A clang/test/AST/ByteCode/const-fpfeatures.cpp
A clang/test/AST/ByteCode/const-temporaries.cpp
A clang/test/AST/ByteCode/constexpr-frame-describe.cpp
A clang/test/AST/ByteCode/constexpr-nqueens.cpp
A clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
A clang/test/AST/ByteCode/crash-GH49103-2.cpp
A clang/test/AST/ByteCode/cxx03.cpp
A clang/test/AST/ByteCode/cxx11.cpp
A clang/test/AST/ByteCode/cxx17.cpp
A clang/test/AST/ByteCode/cxx20.cpp
A clang/test/AST/ByteCode/cxx23.cpp
A clang/test/AST/ByteCode/cxx26.cpp
A clang/test/AST/ByteCode/cxx2a.cpp
A clang/test/AST/ByteCode/cxx98.cpp
A clang/test/AST/ByteCode/depth-limit.cpp
A clang/test/AST/ByteCode/depth-limit2.cpp
A clang/test/AST/ByteCode/enums-targets.cpp
A clang/test/AST/ByteCode/enums.cpp
A clang/test/AST/ByteCode/eval-order.cpp
A clang/test/AST/ByteCode/floats.cpp
A clang/test/AST/ByteCode/functions.cpp
A clang/test/AST/ByteCode/hlsl.hlsl
A clang/test/AST/ByteCode/if.cpp
A clang/test/AST/ByteCode/intap.cpp
A clang/test/AST/ByteCode/invalid.cpp
A clang/test/AST/ByteCode/lambda.cpp
A clang/test/AST/ByteCode/lifetimes.cpp
A clang/test/AST/ByteCode/literals.cpp
A clang/test/AST/ByteCode/loops.cpp
A clang/test/AST/ByteCode/memberpointers.cpp
A clang/test/AST/ByteCode/ms.cpp
A clang/test/AST/ByteCode/mutable.cpp
A clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/nullable.cpp
A clang/test/AST/ByteCode/objc.mm
A clang/test/AST/ByteCode/opencl.cl
A clang/test/AST/ByteCode/pointer-addition.c
A clang/test/AST/ByteCode/records.cpp
A clang/test/AST/ByteCode/references.cpp
A clang/test/AST/ByteCode/shifts.cpp
A clang/test/AST/ByteCode/spaceship.cpp
A clang/test/AST/ByteCode/switch.cpp
A clang/test/AST/ByteCode/sycl.cpp
A clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/ByteCode/vectors.cpp
A clang/test/AST/ByteCode/weak.cpp
R clang/test/AST/Interp/arrays.cpp
R clang/test/AST/Interp/atomic.c
R clang/test/AST/Interp/atomic.cpp
R clang/test/AST/Interp/bitfields.cpp
R clang/test/AST/Interp/builtin-align-cxx.cpp
R clang/test/AST/Interp/builtin-constant-p.cpp
R clang/test/AST/Interp/builtin-functions.cpp
R clang/test/AST/Interp/builtins.cpp
R clang/test/AST/Interp/c.c
R clang/test/AST/Interp/c23.c
R clang/test/AST/Interp/codegen.cpp
R clang/test/AST/Interp/comma.cpp
R clang/test/AST/Interp/complex.c
R clang/test/AST/Interp/complex.cpp
R clang/test/AST/Interp/cond.cpp
R clang/test/AST/Interp/const-eval.c
R clang/test/AST/Interp/const-fpfeatures.cpp
R clang/test/AST/Interp/const-temporaries.cpp
R clang/test/AST/Interp/constexpr-frame-describe.cpp
R clang/test/AST/Interp/constexpr-nqueens.cpp
R clang/test/AST/Interp/constexpr-subobj-initialization.cpp
R clang/test/AST/Interp/crash-GH49103-2.cpp
R clang/test/AST/Interp/cxx03.cpp
R clang/test/AST/Interp/cxx11.cpp
R clang/test/AST/Interp/cxx17.cpp
R clang/test/AST/Interp/cxx20.cpp
R clang/test/AST/Interp/cxx23.cpp
R clang/test/AST/Interp/cxx26.cpp
R clang/test/AST/Interp/cxx2a.cpp
R clang/test/AST/Interp/cxx98.cpp
R clang/test/AST/Interp/depth-limit.cpp
R clang/test/AST/Interp/depth-limit2.cpp
R clang/test/AST/Interp/enums-targets.cpp
R clang/test/AST/Interp/enums.cpp
R clang/test/AST/Interp/eval-order.cpp
R clang/test/AST/Interp/floats.cpp
R clang/test/AST/Interp/functions.cpp
R clang/test/AST/Interp/hlsl.hlsl
R clang/test/AST/Interp/if.cpp
R clang/test/AST/Interp/intap.cpp
R clang/test/AST/Interp/invalid.cpp
R clang/test/AST/Interp/lambda.cpp
R clang/test/AST/Interp/lifetimes.cpp
R clang/test/AST/Interp/literals.cpp
R clang/test/AST/Interp/loops.cpp
R clang/test/AST/Interp/memberpointers.cpp
R clang/test/AST/Interp/ms.cpp
R clang/test/AST/Interp/mutable.cpp
R clang/test/AST/Interp/new-delete.cpp
R clang/test/AST/Interp/nullable.cpp
R clang/test/AST/Interp/objc.mm
R clang/test/AST/Interp/opencl.cl
R clang/test/AST/Interp/pointer-addition.c
R clang/test/AST/Interp/records.cpp
R clang/test/AST/Interp/references.cpp
R clang/test/AST/Interp/shifts.cpp
R clang/test/AST/Interp/spaceship.cpp
R clang/test/AST/Interp/switch.cpp
R clang/test/AST/Interp/sycl.cpp
R clang/test/AST/Interp/unions.cpp
R clang/test/AST/Interp/vectors.cpp
R clang/test/AST/Interp/weak.cpp
M clang/test/AST/ast-dump-funcs-json.cpp
A clang/test/AST/cxx2c-variadic-friends.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/builtin_signbit.cpp
M clang/test/Analysis/taint-generic.c
M clang/test/CXX/basic/basic.start/basic.start.main/p3.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg29xx.cpp
A clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp
A clang/test/CodeGen/PowerPC/transparent_union.c
M clang/test/CodeGen/RISCV/riscv-sdata-module-flag.c
A clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
A clang/test/CodeGen/X86/avx10_2convert-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
A clang/test/CodeGen/X86/strictfp_patterns.c
M clang/test/CodeGen/aarch64-elf-pauthabi.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/bit-int-ubsan.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/ffp-contract-fast-honor-pramga-option.cpp
A clang/test/CodeGen/ffp-contract-fhp-pragma-override.cpp
M clang/test/CodeGen/ffp-model.c
M clang/test/CodeGen/fp-reassoc-pragma.cpp
M clang/test/CodeGen/fp-reciprocal-pragma.cpp
A clang/test/CodeGen/ignore-overflow-pattern-false-pos.c
A clang/test/CodeGen/ignore-overflow-pattern.c
M clang/test/CodeGen/kcfi-normalize.c
M clang/test/CodeGen/ms-mixed-ptr-sizes.c
R clang/test/CodeGen/overflow-idiom-exclusion-fp.c
M clang/test/CodeGen/sanitize-ignorelist-mainfile.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/kernel-args.cu
M clang/test/CodeGenCXX/amdgpu-kernel-arg-pointer-type.cpp
A clang/test/CodeGenCoroutines/coro-dwarf-O2.cpp
A clang/test/CodeGenHLSL/builtins/saturate.hlsl
A clang/test/CodeGenHLSL/default_validator_version.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
A clang/test/Driver/aarch64-negative-modifiers-for-default-features.c
M clang/test/Driver/arm-sb.c
M clang/test/Driver/arm-target-as-mimplicit-it.s
M clang/test/Driver/crel.c
M clang/test/Driver/darwin-builtin-modules.c
R clang/test/Driver/darwin-print-target-triple.c
M clang/test/Driver/flags.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/mips-msa.c
M clang/test/Driver/msse2avx.c
M clang/test/Driver/ohos.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a12.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a13.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a14.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/relax.c
M clang/test/Driver/riscv-cpus.c
R clang/test/Driver/riscv-sdata-warning.c
A clang/test/Driver/riscv-sdata.c
M clang/test/Driver/sparc-target-features.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
A clang/test/ExtractAPI/platform-serialization.c
M clang/test/Headers/wasm.c
A clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/preprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
R clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Misc/target-invalid-cpu-note/aarch64.c
A clang/test/Misc/target-invalid-cpu-note/amdgcn.c
A clang/test/Misc/target-invalid-cpu-note/arm.c
A clang/test/Misc/target-invalid-cpu-note/avr.c
A clang/test/Misc/target-invalid-cpu-note/bpf.c
A clang/test/Misc/target-invalid-cpu-note/hexagon.c
A clang/test/Misc/target-invalid-cpu-note/lanai.c
A clang/test/Misc/target-invalid-cpu-note/mips.c
A clang/test/Misc/target-invalid-cpu-note/nvptx.c
A clang/test/Misc/target-invalid-cpu-note/powerpc.c
A clang/test/Misc/target-invalid-cpu-note/r600.c
A clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Misc/target-invalid-cpu-note/sparc.c
A clang/test/Misc/target-invalid-cpu-note/systemz.c
A clang/test/Misc/target-invalid-cpu-note/wasm.c
A clang/test/Misc/target-invalid-cpu-note/x86.c
M clang/test/Modules/merge-using-decls.cpp
A clang/test/OpenMP/loop_collapse_1.c
A clang/test/OpenMP/loop_collapse_2.cpp
M clang/test/OpenMP/nvptx_allocate_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/Parser/attr-order.cpp
A clang/test/Parser/cxx2c-variadic-friends-ext-diags.cpp
A clang/test/Parser/cxx2c-variadic-friends.cpp
A clang/test/Parser/function-parameter-limit.cpp
M clang/test/Parser/parser_overflow.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/block-misc.c
M clang/test/Sema/block-return.c
M clang/test/Sema/c2x-nodiscard.c
M clang/test/Sema/constant-builtins-2.c
A clang/test/Sema/format-pointer.c
M clang/test/Sema/format-strings-pedantic.c
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/attr-annotate.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/consteval-cleanup.cpp
M clang/test/SemaCXX/constexpr-vectors.cpp
M clang/test/SemaCXX/cxx2a-explicit-bool.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-variadic-friends.cpp
M clang/test/SemaCXX/gh102293.cpp
M clang/test/SemaCXX/sugared-auto.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
A clang/test/SemaHLSL/BuiltIns/saturate-errors.hlsl
A clang/test/SemaHLSL/Types/typedefs.hlsl
A clang/test/SemaOpenMP/gh104810.cpp
M clang/test/SemaTemplate/concepts-friends.cpp
A clang/test/SemaTemplate/explicit-instantiation-cxx20.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/clang-format-sublime.py
M clang/tools/clang-format/clang-format.el
M clang/tools/clang-format/clang-format.py
M clang/tools/clang-format/git-clang-format
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CXSourceLocation.cpp
M clang/tools/libclang/libclang.map
M clang/tools/scan-build/man/scan-build.1
A clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Descriptor.cpp
A clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/CMakeLists.txt
R clang/unittests/AST/Interp/CMakeLists.txt
R clang/unittests/AST/Interp/Descriptor.cpp
R clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Rewrite/CMakeLists.txt
R clang/unittests/Rewrite/RewriteBufferTest.cpp
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/int_math.h
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
M compiler-rt/test/asan/TestCases/Darwin/cstring_section.c
A compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp
A compiler-rt/test/nsan/stable_sort.cpp
A compiler-rt/test/nsan/swap.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
M compiler-rt/test/ubsan/TestCases/Integer/bit-int-pass.c
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/integer.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/provenance.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/edit-input.cpp
M flang/runtime/exceptions.cpp
M flang/runtime/stop.cpp
M flang/test/Driver/cuda-option.f90
M flang/test/Driver/fveclib-codegen.f90
M flang/test/Evaluate/fold-nearest.f90
A flang/test/HLFIR/maxval-elemental.fir
A flang/test/HLFIR/minval-elemental.fir
M flang/test/Integration/debug-fixed-array-type-2.f90
M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/ident.f90
A flang/test/Semantics/OpenMP/complex.f90
A flang/test/Semantics/OpenMP/present.f90
M flang/test/Semantics/data08.f90
M flang/test/Semantics/declarations05.f90
A flang/test/Semantics/implicit15.f90
M flang/test/Semantics/kinds04_q16.f90
A flang/test/Semantics/structconst10.f90
M flang/test/Semantics/undef-result01.f90
M flang/test/Transforms/debug-fixed-array-type.fir
M flang/test/Transforms/stack-arrays-hlfir.f90
M flang/unittests/Runtime/CUDA/CMakeLists.txt
M flang/unittests/Runtime/Time.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/src/math/CMakeLists.txt
A libc/benchmarks/gpu/src/math/atan2_benchmark.cpp
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/config/gpu/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/string.yaml
M libc/newhdrgen/yaml_to_classes.py
M libc/spec/bsd_ext.td
M libc/spec/stdc.td
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/math/CMakeLists.txt
A libc/src/math/atan2l.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2l.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/linux/CMakeLists.txt
A libc/utils/mathtools/worst_case.sollya
M libcxx/CMakeLists.txt
A libcxx/cmake/caches/Generic-no-terminal.cmake
M libcxx/docs/ReleaseNotes/20.rst
R libcxx/docs/Status/Cxx14.rst
R libcxx/docs/Status/Cxx14Issues.csv
R libcxx/docs/Status/Cxx14Papers.csv
M libcxx/docs/Status/Cxx17.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/index.rst
M libcxx/include/__algorithm/partition.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__compare/ordering.h
M libcxx/include/__config_site.in
M libcxx/include/__math/traits.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/print
M libcxx/include/span
M libcxx/src/filesystem/path.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/container.adaptors/from_range_container_adaptors.h
M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
M libcxx/test/std/containers/unord/from_range_unordered_containers.h
M libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/range.pass.cpp
A libcxx/test/std/language.support/cmp/cmp.categories.pre/reject-other-than-literal-zero.verify.cpp
R libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/c.math/isinf.pass.cpp
M libcxx/test/std/numerics/c.math/isnan.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/increment.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/begin.pass.cpp
A libcxx/test/std/ranges/range.utility/range.subrange/begin_end.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/ctor.copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/ctor.default.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
A libcxx/test/support/double_move_tracker.h
M libcxx/test/support/platform_support.h
M libcxx/test/support/test_iterators.h
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/synchronize_csv_status_files.py
M libcxxabi/src/cxa_default_handlers.cpp
M lld/COFF/Symbols.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
A lld/test/COFF/weak-external-cycle.test
M lld/test/ELF/error-handling-script-linux.test
M lld/test/ELF/error-handling-script-windows.bat
M lld/test/ELF/exclude-libs.s
M lld/test/ELF/hip-section-layout.s
M lld/test/ELF/riscv-section-layout.s
M lld/test/ELF/section-name.s
M lld/test/MachO/objc-category-conflicts.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
M lld/test/MachO/objc-category-merging-minimal.s
M lld/test/MachO/objc-category-merging-swift.s
M lld/test/MachO/objc-relative-method-lists-simple.s
M lld/test/MinGW/driver.test
A lld/test/wasm/archive-local-sym.s
M lld/wasm/InputFiles.cpp
M lld/wasm/Writer.cpp
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/API/SBThread.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Host/Socket.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/CompileUnit.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Utility/FileSpecList.h
A lldb/include/lldb/Utility/RealpathPrefixes.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/include/lldb/lldb-private-types.h
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/API/SBBreakpointLocation.cpp
M lldb/source/API/SBBreakpointName.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Process/Utility/ThreadMemory.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanSingleThreadTimeout.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/FileSpecList.cpp
A lldb/source/Utility/RealpathPrefixes.cpp
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
M lldb/test/API/commands/frame/recognizer/main.m
M lldb/test/API/commands/frame/recognizer/recognizer.py
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/TestBreakpoint.py
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/main.c
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/real/bar.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/real/foo.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/real/qux.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/symlink1/foo.h
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/symlink2
A lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/to-be-mapped/README.md
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
A lldb/test/API/lang/cpp/std-function-recognizer/Makefile
A lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
A lldb/test/API/lang/cpp/std-function-recognizer/main.cpp
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
A lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml
A lldb/test/API/python_api/sbsavecoreoptions/basic_minidump_different_pid.yaml
A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/Makefile
A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.py
A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
M lldb/test/Shell/Driver/TestUseColor.test
A lldb/test/Shell/Expr/TestAnonNamespaceParamFunc.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-server/Acceptor.cpp
M lldb/unittests/Callback/TestBreakpointSetCallback.cpp
M lldb/unittests/Core/CMakeLists.txt
R lldb/unittests/Core/FileSpecListTest.cpp
M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/elf-core/CMakeLists.txt
A lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/FileSpecListTest.cpp
A lldb/unittests/Utility/MockSymlinkFileSystem.h
A lldb/unittests/Utility/RealpathPrefixesTest.cpp
M llvm/benchmarks/CMakeLists.txt
A llvm/benchmarks/GetIntrinsicForClangBuiltin.cpp
M llvm/cmake/config-ix.cmake
M llvm/cmake/platforms/WinMsvc.cmake
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/BitCodeFormat.rst
M llvm/docs/CodeReview.rst
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/ExtendingLLVM.rst
M llvm/docs/GitHub.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/PointerAuth.md
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/Transforms/PassBuilder.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
A llvm/include/llvm/ADT/DeltaTree.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/FunctionExtras.h
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
A llvm/include/llvm/ADT/RewriteBuffer.h
A llvm/include/llvm/ADT/RewriteRope.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/Statistic.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/BlockFrequencyInfo.h
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
M llvm/include/llvm/Analysis/CFGPrinter.h
M llvm/include/llvm/Analysis/CGSCCPassManager.h
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/CodeMetrics.h
M llvm/include/llvm/Analysis/ConstraintSystem.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/DomConditionCache.h
M llvm/include/llvm/Analysis/DomPrinter.h
M llvm/include/llvm/Analysis/DomTreeUpdater.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/InlineAdvisor.h
M llvm/include/llvm/Analysis/InlineOrder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/InteractiveModelRunner.h
M llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h
M llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/MustExecute.h
M llvm/include/llvm/Analysis/NoInferenceModelRunner.h
M llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h
M llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Analysis/RegionInfo.h
M llvm/include/llvm/Analysis/RegionPrinter.h
M llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/SyntheticCountsUtils.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/UniformityAnalysis.h
M llvm/include/llvm/Analysis/ValueLattice.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MachO.h
A llvm/include/llvm/CGData/CodeGenData.h
A llvm/include/llvm/CGData/CodeGenData.inc
A llvm/include/llvm/CGData/CodeGenDataReader.h
A llvm/include/llvm/CGData/CodeGenDataWriter.h
A llvm/include/llvm/CGData/OutlinedHashTree.h
A llvm/include/llvm/CGData/OutlinedHashTreeRecord.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
R llvm/include/llvm/CodeGenData/OutlinedHashTree.h
R llvm/include/llvm/CodeGenData/OutlinedHashTreeRecord.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
A llvm/include/llvm/ExecutionEngine/Orc/LoadRelocatableObject.h
A llvm/include/llvm/ExecutionEngine/Orc/MachO.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsBPF.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/include/llvm/IR/IntrinsicsMips.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/include/llvm/IR/IntrinsicsVE.td
M llvm/include/llvm/IR/IntrinsicsVEVL.gen.td
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/Support/ModRef.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Instrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
M llvm/include/llvm/Transforms/Scalar.h
A llvm/include/llvm/Transforms/Scalar/LoopTermFold.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/CycleAnalysis.cpp
M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueLattice.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/BinaryFormat/MachO.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
A llvm/lib/CGData/CMakeLists.txt
A llvm/lib/CGData/CodeGenData.cpp
A llvm/lib/CGData/CodeGenDataReader.cpp
A llvm/lib/CGData/CodeGenDataWriter.cpp
A llvm/lib/CGData/OutlinedHashTree.cpp
A llvm/lib/CGData/OutlinedHashTreeRecord.cpp
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/MatchContext.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
R llvm/lib/CodeGenData/CMakeLists.txt
R llvm/lib/CodeGenData/OutlinedHashTree.cpp
R llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
A llvm/lib/ExecutionEngine/Orc/LoadRelocatableObject.cpp
A llvm/lib/ExecutionEngine/Orc/MachO.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoDarwin.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
M llvm/lib/ObjCopy/wasm/WasmObject.cpp
M llvm/lib/ObjCopy/wasm/WasmObject.h
M llvm/lib/ObjCopy/wasm/WasmReader.cpp
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderBindings.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/DeltaTree.cpp
M llvm/lib/Support/FormatVariadic.cpp
A llvm/lib/Support/ModRef.cpp
A llvm/lib/Support/RewriteBuffer.cpp
A llvm/lib/Support/RewriteRope.cpp
M llvm/lib/Support/SmallPtrSet.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/TableGen/Error.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
R llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
R llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
A llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
A llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPromoteKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
R llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
R llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
R llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
R llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/ARM/ARMCallLowering.h
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXIL.td
A llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
A llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
M llvm/lib/Target/Sparc/LeonFeatures.td
M llvm/lib/Target/Sparc/LeonPasses.cpp
M llvm/lib/Target/Sparc/LeonPasses.h
M llvm/lib/Target/Sparc/Sparc.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/VE/VECustomDAG.cpp
M llvm/lib/Target/VE/VEInstrInfo.td
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86ScheduleZnver1.td
M llvm/lib/Target/X86/X86ScheduleZnver2.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/CMakeLists.txt
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/lib/Transforms/Scalar/LoopTermFold.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Analysis/BasicAA/gep-nuw-alias.ll
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/X86/ctlz-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctlz-latency.ll
M llvm/test/Analysis/CostModel/X86/ctlz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/ctlz.ll
M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/cttz.ll
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CycleInfo/basic.ll
M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
M llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
M llvm/test/Analysis/ValueTracking/known-power-of-two.ll
M llvm/test/Analysis/ValueTracking/knownbits-and-or-xor-lowbit.ll
M llvm/test/Analysis/ValueTracking/knownbits-bmi-pattern.ll
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
R llvm/test/Assembler/getInt.ll
M llvm/test/Assembler/invalid-datalayout-override.ll
A llvm/test/Assembler/lround.ll
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/test/Bitcode/amdgcn-atomic.ll
M llvm/test/Bitcode/function-default-address-spaces.ll
R llvm/test/Bitcode/invalid-functionptr-align.ll
R llvm/test/Bitcode/invalid-functionptr-align.ll.bc
A llvm/test/Bitcode/invalid-stack-align.ll
A llvm/test/Bitcode/invalid-stack-align.ll.bc
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
A llvm/test/CodeGen/AArch64/GlobalISel/endian_fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-sameopcode-hands-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
A llvm/test/CodeGen/AArch64/dag-combine-freeze.ll
M llvm/test/CodeGen/AArch64/neon-extadd.ll
M llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
M llvm/test/CodeGen/AArch64/peephole-sxtw.mir
M llvm/test/CodeGen/AArch64/preserve.ll
R llvm/test/CodeGen/AArch64/print-mrs-system-register.ll
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AArch64/sext.ll
A llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll
A llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme-toggle-pstateza.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcmp.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/fail.llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mbcnt.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
A llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.mir
M llvm/test/CodeGen/AMDGPU/sad.ll
A llvm/test/CodeGen/AMDGPU/scalarize-insert-subvector.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-param-lowering.ll
M llvm/test/CodeGen/BPF/sockex2.ll
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
A llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
A llvm/test/CodeGen/DirectX/saturate.ll
A llvm/test/CodeGen/DirectX/saturate_errors.ll
M llvm/test/CodeGen/Hexagon/block-addr.ll
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/vselect.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf.ll
M llvm/test/CodeGen/LoongArch/lsx/vselect.ll
M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
M llvm/test/CodeGen/Mips/Fast-ISel/bswap1.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
A llvm/test/CodeGen/NVPTX/brkpt.ll
A llvm/test/CodeGen/NVPTX/convert-sm89.ll
A llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
A llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
A llvm/test/CodeGen/PowerPC/noredzone.ll
M llvm/test/CodeGen/PowerPC/pr15359.ll
M llvm/test/CodeGen/PowerPC/pr16556-2.ll
M llvm/test/CodeGen/PowerPC/pr16556.ll
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store.mir
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
A llvm/test/CodeGen/RISCV/rvv/pr104480.ll
R llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-select-to-max-usat.ll
M llvm/test/CodeGen/SPARC/inlineasm.ll
A llvm/test/CodeGen/SPARC/tn0009.mir
A llvm/test/CodeGen/SPARC/tn0010.mir
A llvm/test/CodeGen/SPARC/tn0011.ll
A llvm/test/CodeGen/SPARC/tn0012.mir
A llvm/test/CodeGen/SPARC/tn0013.mir
A llvm/test/CodeGen/SPIRV/block-ordering.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/saturate.ll
M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
A llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
R llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-white-identity.ll
M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
A llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
A llvm/test/CodeGen/X86/fold-loop-of-urem.ll
M llvm/test/CodeGen/X86/pr50609.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
M llvm/test/CodeGen/X86/unpredictable-brcond.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/DebugInfo/ARM/single-constant-use-preserves-dbgloc.ll
M llvm/test/DebugInfo/COFF/AArch64/arm64-register-variables.ll
M llvm/test/DebugInfo/COFF/ARMNT/arm-register-variables.ll
M llvm/test/DebugInfo/Symbolize/XCOFF/xcoff-symbolize-data.ll
A llvm/test/ExecutionEngine/JITLink/Generic/MachO_universal_binaries.test
M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
M llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
A llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_late_initializer.ll
M llvm/test/Instrumentation/AddressSanitizer/local_alias.ll
M llvm/test/Instrumentation/AddressSanitizer/odr-check-ignore.ll
M llvm/test/Instrumentation/AddressSanitizer/win-string-literal.ll
A llvm/test/Instrumentation/InstrProfiling/conditional-counter-updates.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
M llvm/test/MC/AArch64/arm64-system-encoding.s
R llvm/test/MC/AArch64/arm64-target-specific-sysreg.s
A llvm/test/MC/AArch64/arm64e-authenticated-pointer-reloc.s
M llvm/test/MC/AArch64/arm64e-subtype.s
M llvm/test/MC/AArch64/armv8.5a-ssbs-error.s
M llvm/test/MC/AArch64/armv8.5a-ssbs.s
M llvm/test/MC/AArch64/mapping-within-section.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
A llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
A llvm/test/MC/ELF/relax-branch.s
M llvm/test/MC/RISCV/machine-csr-names-invalid.s
M llvm/test/MC/RISCV/rv32-only-csr-names.s
M llvm/test/MC/RISCV/rvv/zvbc.s
A llvm/test/MC/RISCV/rvv/zvkgs.s
A llvm/test/MC/X86/avx10.2convert-32-att.s
A llvm/test/MC/X86/avx10.2convert-32-intel.s
A llvm/test/MC/X86/avx10.2convert-64-att.s
A llvm/test/MC/X86/avx10.2convert-64-intel.s
M llvm/test/MachineVerifier/test_g_llround.mir
M llvm/test/MachineVerifier/test_g_lround.mir
M llvm/test/ObjectYAML/wasm/invalid_section_order.yaml
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/dump.td
A llvm/test/TableGen/invalid-macro-name-command-line.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/Transforms/Attributor/call-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/multiple-offsets-pointer-info.ll
M llvm/test/Transforms/Attributor/nonnull.ll
A llvm/test/Transforms/Attributor/reduced/aapointer_info_map_invalidation.ll
M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
A llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
A llvm/test/Transforms/DCE/intrinsics-bpf.ll
A llvm/test/Transforms/DCE/intrinsics-loongarch.ll
A llvm/test/Transforms/DCE/intrinsics-mips.ll
A llvm/test/Transforms/DCE/intrinsics-nvvm.ll
A llvm/test/Transforms/DCE/intrinsics-systemz.ll
A llvm/test/Transforms/DCE/intrinsics-ve.ll
A llvm/test/Transforms/DCE/intrinsics-wasm.ll
R llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll
A llvm/test/Transforms/FunctionAttrs/cold.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
A llvm/test/Transforms/GCOVProfiling/kcfi-normalize.ll
M llvm/test/Transforms/GCOVProfiling/kcfi.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-value.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/builtin-assumed-addrspace.ll
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
M llvm/test/Transforms/InstCombine/2010-11-23-Distributed.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add-mask-neg.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/add2.ll
M llvm/test/Transforms/InstCombine/add_or_sub.ll
M llvm/test/Transforms/InstCombine/and-or-icmp-const-icmp.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-or-not.ll
M llvm/test/Transforms/InstCombine/and-or.ll
M llvm/test/Transforms/InstCombine/and-xor-merge.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/apint-and-xor-merge.ll
M llvm/test/Transforms/InstCombine/apint-or.ll
M llvm/test/Transforms/InstCombine/apint-shift.ll
M llvm/test/Transforms/InstCombine/apint-sub.ll
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
M llvm/test/Transforms/InstCombine/assume-separate_storage.ll
M llvm/test/Transforms/InstCombine/avg-lsb.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-cast.ll
M llvm/test/Transforms/InstCombine/bit-checks.ll
M llvm/test/Transforms/InstCombine/bitcast-inseltpoison.ll
M llvm/test/Transforms/InstCombine/bitcast.ll
M llvm/test/Transforms/InstCombine/bitreverse.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
M llvm/test/Transforms/InstCombine/cmp-x-vs-neg-x.ll
M llvm/test/Transforms/InstCombine/conditional-negation.ll
M llvm/test/Transforms/InstCombine/crash.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop-pow2.ll
M llvm/test/Transforms/InstCombine/cttz.ll
M llvm/test/Transforms/InstCombine/demorgan.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/fadd-fsub-factor.ll
M llvm/test/Transforms/InstCombine/fadd.ll
M llvm/test/Transforms/InstCombine/fast-basictest.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/float-shrink-compare.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fold-ext-eq-c-with-op.ll
M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/fold-signbit-test-power2.ll
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/fptrunc.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/fsh.ll
M llvm/test/Transforms/InstCombine/fsub.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-and-add-sub-xor-p2.ll
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-equality-rotate.ll
M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
M llvm/test/Transforms/InstCombine/icmp-ext-ext.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
M llvm/test/Transforms/InstCombine/icmp-mul.ll
M llvm/test/Transforms/InstCombine/icmp-of-and-x.ll
M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
M llvm/test/Transforms/InstCombine/icmp-or-of-select-with-zero.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/icmp-range.ll
M llvm/test/Transforms/InstCombine/icmp-rotate.ll
M llvm/test/Transforms/InstCombine/icmp-select-implies-common-op.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/implies.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-scalar.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
M llvm/test/Transforms/InstCombine/ispow2.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/known-never-nan.ll
M llvm/test/Transforms/InstCombine/ldexp-ext.ll
M llvm/test/Transforms/InstCombine/log-pow.ll
M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
A llvm/test/Transforms/InstCombine/lshr-ashr-of-uscmp.ll
M llvm/test/Transforms/InstCombine/lshr.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-and-of-ors.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
M llvm/test/Transforms/InstCombine/mul-pow2.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/mul_fold.ll
M llvm/test/Transforms/InstCombine/mul_full_64.ll
M llvm/test/Transforms/InstCombine/not-add.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/onehot_merge.ll
M llvm/test/Transforms/InstCombine/or-xor-xor.ll
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/pr44242.ll
M llvm/test/Transforms/InstCombine/pr49688.ll
M llvm/test/Transforms/InstCombine/pr75369.ll
A llvm/test/Transforms/InstCombine/pr96012.ll
M llvm/test/Transforms/InstCombine/ptr-int-ptr-icmp.ll
M llvm/test/Transforms/InstCombine/ptrmask.ll
M llvm/test/Transforms/InstCombine/range-check.ll
M llvm/test/Transforms/InstCombine/reassociate-nuw.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
M llvm/test/Transforms/InstCombine/result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
M llvm/test/Transforms/InstCombine/result-of-usub-is-non-zero-and-no-overflow.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/scalarization-inseltpoison.ll
M llvm/test/Transforms/InstCombine/scalarization.ll
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
M llvm/test/Transforms/InstCombine/select-cmp-eq-op-fold.ll
M llvm/test/Transforms/InstCombine/select-cmp.ll
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
M llvm/test/Transforms/InstCombine/select-divrem.ll
M llvm/test/Transforms/InstCombine/select-factorize.ll
M llvm/test/Transforms/InstCombine/select-masked_gather.ll
M llvm/test/Transforms/InstCombine/select-masked_load.ll
M llvm/test/Transforms/InstCombine/select-of-bittest.ll
M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
M llvm/test/Transforms/InstCombine/select-select.ll
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/set.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
M llvm/test/Transforms/InstCombine/shift-direction-in-bit-test.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-factor.ll
M llvm/test/Transforms/InstCombine/shuffle-binop.ll
M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
M llvm/test/Transforms/InstCombine/sink-not-into-and.ll
M llvm/test/Transforms/InstCombine/sink-not-into-or.ll
M llvm/test/Transforms/InstCombine/smax-icmp.ll
M llvm/test/Transforms/InstCombine/smin-icmp.ll
M llvm/test/Transforms/InstCombine/sub-ashr-or-to-icmp-select.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/sub-lshr-or-to-icmp-select.ll
M llvm/test/Transforms/InstCombine/sub-minmax.ll
M llvm/test/Transforms/InstCombine/sub-not.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
M llvm/test/Transforms/InstCombine/uaddo.ll
M llvm/test/Transforms/InstCombine/ucmp.ll
M llvm/test/Transforms/InstCombine/umax-icmp.ll
M llvm/test/Transforms/InstCombine/umin-icmp.ll
M llvm/test/Transforms/InstCombine/unordered-compare-and-ordered.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-add.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-xor.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-add.ll
M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-xor.ll
M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
M llvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
M llvm/test/Transforms/InstCombine/unsigned-sub-overflow-check.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
M llvm/test/Transforms/InstCombine/vector-reverse.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
M llvm/test/Transforms/InstCombine/widenable-conditions.ll
M llvm/test/Transforms/InstCombine/xor.ll
M llvm/test/Transforms/InstCombine/xor2.ll
M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/InstCombine/zext.ll
M llvm/test/Transforms/InstSimplify/fptoi-range.ll
M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll
M llvm/test/Transforms/LoopIdiom/X86/ctlz.ll
M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-zero.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold-negative-testcase.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-unreachable-bb-phi-node.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
A llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr36983.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/unsafe-vf-hint-remark.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/heap-to-shared-missing-declarations.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/spmdization.ll
M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/fast-basictest.ll
M llvm/test/Transforms/PhaseOrdering/partialord-ule.ll
M llvm/test/Transforms/PhaseOrdering/reassociate-instcombine.ll
M llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll
M llvm/test/Transforms/Reassociate/fast-ArrayOutOfBounds.ll
M llvm/test/Transforms/Reassociate/fast-SubReassociate.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll
A llvm/test/Transforms/SLPVectorizer/X86/full-non-schedulable-overlap.ll
M llvm/test/Transforms/SLPVectorizer/X86/operand-is-reduced-val.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expamd-masked-load.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-gather.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-scatter.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-store.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/lit.local.cfg
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-load.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-store.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
A llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
A llvm/test/Verifier/naked.ll
M llvm/test/lit.cfg.py
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
M llvm/test/tools/dsymutil/X86/modules.m
A llvm/test/tools/llvm-cgdata/convert.test
A llvm/test/tools/llvm-cgdata/empty.test
A llvm/test/tools/llvm-cgdata/error.test
A llvm/test/tools/llvm-cgdata/merge-archive.test
A llvm/test/tools/llvm-cgdata/merge-concat.test
A llvm/test/tools/llvm-cgdata/merge-double.test
A llvm/test/tools/llvm-cgdata/merge-single.test
A llvm/test/tools/llvm-cgdata/show.test
A llvm/test/tools/llvm-mca/JSON/X86/views-bottleneck.s
M llvm/test/tools/llvm-mca/JSON/X86/views-custom-parameters.s
M llvm/test/tools/llvm-mca/JSON/X86/views-multiple-anonymous-regions.s
M llvm/test/tools/llvm-mca/JSON/X86/views-multiple-region.s
M llvm/test/tools/llvm-mca/JSON/X86/views.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/load.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vislide-vx.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vreduce.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vrgather.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vshift-vmul.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbc.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkned.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvknhb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksed.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksh.s
M llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
M llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
M llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test
M llvm/test/tools/llvm-objcopy/wasm/only-keep-debug.test
M llvm/test/tools/llvm-objcopy/wasm/strip-all.test
M llvm/test/tools/llvm-objcopy/wasm/strip-debug.test
M llvm/test/tools/llvm-objcopy/wasm/strip-reloc.test
A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-kernel-ptrauth-abi
A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-ptrauth-abi
A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-kernel-ptrauth-abi.test
A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-ptrauth-abi.test
R llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/print-mrs.obj.macho-aarch64
R llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test
A llvm/test/tools/llvm-objdump/XCOFF/private-headers.test
A llvm/test/tools/llvm-objdump/macho-ptrauth-cpusubtype.test
A llvm/test/tools/llvm-objdump/macho-stabs-in-syms.yaml
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
A llvm/test/tools/llvm-readobj/ELF/Sparc/elf-headers.test
A llvm/test/tools/llvm-reduce/Inputs/reduce-distinct-metadata.py
A llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-c-test/attributes.c
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-c-test/llvm-c-test.h
M llvm/tools/llvm-c-test/module.c
A llvm/tools/llvm-cgdata/CMakeLists.txt
A llvm/tools/llvm-cgdata/Opts.td
A llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.h
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
M llvm/unittests/ADT/CMakeLists.txt
M llvm/unittests/ADT/CountCopyAndMove.cpp
M llvm/unittests/ADT/CountCopyAndMove.h
M llvm/unittests/ADT/FunctionExtrasTest.cpp
A llvm/unittests/ADT/RewriteBufferTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/Analysis/CMakeLists.txt
A llvm/unittests/Analysis/CtxProfAnalysisTest.cpp
A llvm/unittests/Analysis/GraphWriterTest.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/BinaryFormat/MachOTest.cpp
A llvm/unittests/CGData/CMakeLists.txt
A llvm/unittests/CGData/OutlinedHashTreeRecordTest.cpp
A llvm/unittests/CGData/OutlinedHashTreeTest.cpp
M llvm/unittests/CMakeLists.txt
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
R llvm/unittests/CodeGenData/CMakeLists.txt
R llvm/unittests/CodeGenData/OutlinedHashTreeRecordTest.cpp
R llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp
M llvm/unittests/IR/DataLayoutTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
M llvm/unittests/Support/MathExtrasTest.cpp
M llvm/unittests/Support/SignalsTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Basic/SDNodeProperties.cpp
M llvm/utils/TableGen/Basic/SDNodeProperties.h
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Rewrite/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/AST/Interp/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Rewrite/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/CGData/BUILD.gn
R llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/CGData/BUILD.gn
R llvm/utils/gn/secondary/llvm/unittests/CodeGenData/BUILD.gn
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-0.txt
M llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-1.txt
M llvm/utils/lit/tests/Inputs/shtest-cat/cat.txt
M mlir/docs/BytecodeFormat.md
A mlir/docs/DefiningDialects/Constraints.md
M mlir/docs/Dialects/ArmSME.md
M mlir/include/mlir/Analysis/Presburger/Fraction.h
M mlir/include/mlir/Analysis/SliceWalk.h
A mlir/include/mlir/Conversion/GPUCommon/AttrToSPIRVConverter.h
M mlir/include/mlir/Conversion/GPUToLLVMSPV/GPUToLLVMSPVPass.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
M mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/include/mlir/Dialect/Func/Extensions/MeshShardingExtensions.h
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/IRDL/IR/IRDL.td
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
R mlir/include/mlir/Dialect/Mesh/IR/TensorShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
A mlir/include/mlir/Dialect/Tensor/Extensions/AllExtensions.h
A mlir/include/mlir/Dialect/Tensor/Extensions/MeshShardingExtensions.h
A mlir/include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/TableGen/Constraint.h
M mlir/lib/Analysis/SliceWalk.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
A mlir/lib/Conversion/GPUCommon/AttrToSPIRVConverter.cpp
M mlir/lib/Conversion/GPUCommon/CMakeLists.txt
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/CMakeLists.txt
R mlir/lib/Dialect/Mesh/Interfaces/TensorShardingInterfaceImpl.cpp
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/Tensor/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
A mlir/lib/Dialect/Tensor/Extensions/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/CMakeLists.txt
M mlir/lib/IR/Operation.cpp
M mlir/lib/TableGen/Constraint.cpp
M mlir/lib/TableGen/Operator.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/SPIRV/SPIRVBinaryUtils.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/python/mlir/dialects/tensor.py
R mlir/python/mlir/extras/__init__.py
A mlir/test/Conversion/AMDGPUToROCDL/dpp.mlir
A mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
A mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
A mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/DLTI/invalid.mlir
M mlir/test/Dialect/DLTI/query.mlir
M mlir/test/Dialect/DLTI/valid.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Dialect/EmitC/transforms.mlir
M mlir/test/Dialect/EmitC/types.mlir
M mlir/test/Dialect/GPU/canonicalize.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/subgroup-reduce-lowering.mlir
M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/loops.mlir
A mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
A mlir/test/Dialect/Linalg/transform-tile-winograd.mlir
M mlir/test/Dialect/Math/legalize-to-f32.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
R mlir/test/Dialect/Vector/sink-vector-broadcast.mlir
M mlir/test/Dialect/Vector/vector-reduce-to-contract.mlir
A mlir/test/Dialect/Vector/vector-sink.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-sqsum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/lit.local.cfg
M mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_abs.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_dim.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_foreach.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex64.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nchw_fchw.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_foreach_slices.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_push_back.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/multi-tile-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f16f16f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-i8i8i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/ssve.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-setArmSVLBits.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile-fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/arrays-of-scalable-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/scalable-interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-deinterleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-setArmVLBits.mlir
M mlir/test/Integration/lit.local.cfg
M mlir/test/Target/Cpp/common-cpp.mlir
M mlir/test/Target/Cpp/expressions.mlir
M mlir/test/Target/Cpp/for.mlir
M mlir/test/Target/Cpp/global.mlir
M mlir/test/Target/Cpp/if.mlir
M mlir/test/Target/Cpp/invalid.mlir
M mlir/test/Target/Cpp/invalid_declare_variables_at_top.mlir
A mlir/test/Target/Cpp/lvalue.mlir
M mlir/test/Target/Cpp/member.mlir
M mlir/test/Target/Cpp/subscript.mlir
A mlir/test/Target/Cpp/switch.mlir
M mlir/test/Target/Cpp/variable.mlir
M mlir/test/Target/LLVMIR/Import/data-layout.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
M mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
M mlir/test/Transforms/test-legalize-type-conversion.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lit.site.cfg.py.in
A mlir/test/mlir-tblgen/type-constraints.td
M mlir/test/python/dialects/linalg/opdsl/emit_matmul.py
M mlir/test/python/dialects/linalg/ops.py
M mlir/tools/mlir-lsp-server/CMakeLists.txt
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/test/api/omp_device_alloc.c
M openmp/runtime/src/include/omp.h.var
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
M openmp/runtime/src/kmp_wait_release.h
M openmp/runtime/src/ompt-general.cpp
A openmp/runtime/test/ompt/misc/pause_stop_tool.c
M polly/lib/Support/GICHelper.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/utils/lit/tests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5-bogner
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/09b57d9c2033...52df5c41cb1b
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list