[all-commits] [llvm/llvm-project] 0832b8: ValueTracking: Add baseline tests for vector fpcla...
Pengcheng Wang via All-commits
all-commits at lists.llvm.org
Wed Apr 10 20:30:10 PDT 2024
Branch: refs/heads/users/wangpc-pp/spr/machinecombinernfc-split-target-dependent-patterns
Home: https://github.com/llvm/llvm-project
Commit: 0832b85e0f5b684ad2e5eaf29911ca806eb0db3d
https://github.com/llvm/llvm-project/commit/0832b85e0f5b684ad2e5eaf29911ca806eb0db3d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Add baseline tests for vector fpclass handling
Commit: 2bc637b1ce935550b6e09618c76474253943a7cc
https://github.com/llvm/llvm-project/commit/2bc637b1ce935550b6e09618c76474253943a7cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Handle ConstantAggregateZero in computeKnownFPClass
Commit: 0e8736694f752898ed7957a11a11c42f8f6a98d1
https://github.com/llvm/llvm-project/commit/0e8736694f752898ed7957a11a11c42f8f6a98d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
Log Message:
-----------
TextNodeDumper.cpp - remove empty switch to fix MSVC "switch statement contains 'default' but no 'case' labels" warning. NFC.
Commit: f139387fb6e76a5249e8d7c2d124565e6b566ef4
https://github.com/llvm/llvm-project/commit/f139387fb6e76a5249e8d7c2d124565e6b566ef4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: bdf428af9825e684d9ed22d0137a456c131389f7
https://github.com/llvm/llvm-project/commit/bdf428af9825e684d9ed22d0137a456c131389f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Consider demanded elts for vector constants in computeKnownFPClass
Commit: 40327a628ace90870c7caa0db448a0f2d9863df0
https://github.com/llvm/llvm-project/commit/40327a628ace90870c7caa0db448a0f2d9863df0
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
Log Message:
-----------
Revert "[mlir][arith] Refine the verifier for arith.constant (#86178)"
This reverts commit 662c62609e8ee2dc996da69e11c0d594e799c299.
Broken both:
* https://lab.llvm.org/buildbot/#/builders/61/builds/56565
Commit: 8ccf1c117b0dc08f7e9c24fe98f45ebe32e95cd1
https://github.com/llvm/llvm-project/commit/8ccf1c117b0dc08f7e9c24fe98f45ebe32e95cd1
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/strict-fadd-combines.ll
M llvm/test/CodeGen/X86/strict-fsub-combines.ll
Log Message:
-----------
[FPEnv][X86] Correct strictfp tests. (#87791)
Correct strictfp tests to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
These tests needed the strictfp attribute added to some function
definitions. FP wait instructions now appear as a result.
Test changes verified with D146845.
Commit: f46f6465062bd6ddc96e3838c50e1a0f85f92dd4
https://github.com/llvm/llvm-project/commit/f46f6465062bd6ddc96e3838c50e1a0f85f92dd4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix spirv build dependencies
These were accidentally broken in 61efea7.
Thanks to @mgorny and @rjodinchr for spotting this.
Commit: 4c718fdbeacfc3385a493349b66b61c857b8e772
https://github.com/llvm/llvm-project/commit/4c718fdbeacfc3385a493349b66b61c857b8e772
Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
Log Message:
-----------
[SystemZ][z/OS] TXT records in the GOFF reader (#87648)
This PR adds handling for TXT records in the GOFF reader.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
Commit: 1107b47dcd145518c7b811bf10e2b848782b0478
https://github.com/llvm/llvm-project/commit/1107b47dcd145518c7b811bf10e2b848782b0478
Author: Edwin Vane <revane at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
Log Message:
-----------
[clang-tidy] rename designated initializers (#86976)
readability-identifier-naming now supports renaming designated
initializers.
Commit: 312b9297bb9284bddb36980f64661c24c876eef0
https://github.com/llvm/llvm-project/commit/312b9297bb9284bddb36980f64661c24c876eef0
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
Log Message:
-----------
[libc] Increase timeout for death tests. (#87959)
Fix test timeout on RISCV bots.
Fixes https://github.com/llvm/llvm-project/issues/87096
Commit: ed1b24bf8b76871ab00f365d8dc066b3f7f76202
https://github.com/llvm/llvm-project/commit/ed1b24bf8b76871ab00f365d8dc066b3f7f76202
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
M flang/lib/Decimal/decimal-to-binary.cpp
Log Message:
-----------
[flang][runtime] Added simplified std::toupper implementation. (#87850)
Commit: 4a1c53f9fabbc18d436dcd4d5b572b82656fbbf9
https://github.com/llvm/llvm-project/commit/4a1c53f9fabbc18d436dcd4d5b572b82656fbbf9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for abs/smin/smax/umin/umax intrinsics.
https://alive2.llvm.org/ce/z/ivPZ26 for the abs transformations.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/86135
Commit: b439140e2982dd77ef28a9069e16ae77bbe2bc5a
https://github.com/llvm/llvm-project/commit/b439140e2982dd77ef28a9069e16ae77bbe2bc5a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix more spirv build dependencies
The last fix was incomplete.
Commit: 26fee0ff1251fa70babaf419c08383e7ec71c56c
https://github.com/llvm/llvm-project/commit/26fee0ff1251fa70babaf419c08383e7ec71c56c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
Log Message:
-----------
[OpenACC] Implement Sema work for OpenACC Clauses (#87821)
Now that we have AST nodes for OpenACC Clauses, this patch adds their
creation to Sema and makes the Parser call all the required functions.
This also redoes TreeTransform to work with the clauses/make sure they
are transformed.
Much of this is NFC, since there is no clause we can test this behavior
with. However, there IS one noticable change; we are now no longer
diagnosing that a clause is 'not implemented' unless it there was no
errors parsing its parameters. This is because it cleans up how we
create and diagnose clauses.
Commit: 4d6e67f677bdf40360e6aaba171bcdec93990b01
https://github.com/llvm/llvm-project/commit/4d6e67f677bdf40360e6aaba171bcdec93990b01
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
Fix build issue committed in 26fee0ff12
I brain-farted on how assert works :)
Commit: f6315a957232b2f5c27476138e3f4e552861f956
https://github.com/llvm/llvm-project/commit/f6315a957232b2f5c27476138e3f4e552861f956
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[AArch64][LoopIdiom] Disable LoopIdiomTransform when NoImplicitFloat is present (#87677)
This behavior is aligned with both LoopVectorizer and SLPVectorizer.
Commit: 78c50bbd45de595e9992bf97aa097f7f589f8370
https://github.com/llvm/llvm-project/commit/78c50bbd45de595e9992bf97aa097f7f589f8370
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove unused variable, NFC.
Commit: 54c24ec976a52f6ad8499a1a337d7ae2ab84e88d
https://github.com/llvm/llvm-project/commit/54c24ec976a52f6ad8499a1a337d7ae2ab84e88d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] remove MPFR and related tests in full build (#87693)
In full build mode, the fuzzing tests fail to build. This PR disabled MPFR related tests in full build
```
[2/4] Building CXX object projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o
FAILED: projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -I/home/schrodingerzy/Documents/llvm/llvm-project/build/projects/libc/fuzzing/stdio -I/home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio -I/home/schrodingerzy/Documents/llvm/llvm-project/libc -isystem /home/schrodingerzy/Documents/llvm/llvm-project/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fsanitize=fuzzer -O2 -g -DNDEBUG -std=c++17 -MD -MT projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o -MF projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o.d -o projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o -c /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp:19:
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/utils/MPFRWrapper/mpfr_inc.h:21:
In file included from /usr/include/mpfr.h:53:
In file included from /usr/include/gmp.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:38:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/requires_hosted.h:31:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/c++config.h:679:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:44:5: error: function-like macro '__GLIBC_PREREQ' is not defined
44 | #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:55:5: error: function-like macro '__GLIBC_PREREQ' is not defined
55 | #if __GLIBC_PREREQ(2, 26) \
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:66:6: error: function-like macro '__GLIBC_PREREQ' is not defined
66 | # if __GLIBC_PREREQ(2, 27)
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:78:6: error: function-like macro '__GLIBC_PREREQ' is not defined
78 | # if __GLIBC_PREREQ(2, 34)
| ^
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp:19:
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/utils/MPFRWrapper/mpfr_inc.h:21:
In file included from /usr/include/mpfr.h:53:
In file included from /usr/include/gmp.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:42:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/postypes.h:40:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:64:11: error: no member named 'mbstate_t' in the global namespace
64 | using ::mbstate_t;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:143:11: error: no member named 'btowc' in the global namespace
143 | using ::btowc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:144:11: error: no member named 'fgetwc' in the global namespace
144 | using ::fgetwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:145:11: error: no member named 'fgetws' in the global namespace
145 | using ::fgetws;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:146:11: error: no member named 'fputwc' in the global namespace
146 | using ::fputwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:147:11: error: no member named 'fputws' in the global namespace
147 | using ::fputws;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:148:11: error: no member named 'fwide' in the global namespace
148 | using ::fwide;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:149:11: error: no member named 'fwprintf' in the global namespace
149 | using ::fwprintf;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:150:11: error: no member named 'fwscanf' in the global namespace
150 | using ::fwscanf;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:151:11: error: no member named 'getwc' in the global namespace
151 | using ::getwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:152:11: error: no member named 'getwchar' in the global namespace
152 | using ::getwchar;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:153:11: error: no member named 'mbrlen' in the global namespace
153 | using ::mbrlen;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:154:11: error: no member named 'mbrtowc' in the global namespace
154 | using ::mbrtowc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:155:11: error: no member named 'mbsinit' in the global namespace
155 | using ::mbsinit;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:156:11: error: no member named 'mbsrtowcs' in the global namespace
156 | using ::mbsrtowcs;
| ~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
```
Commit: 896b5e55711121b3de4630fe1412b50d96061c1c
https://github.com/llvm/llvm-project/commit/896b5e55711121b3de4630fe1412b50d96061c1c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow list-directed PRINT and WRITE stmt in device code (#87415)
The specification allow list-directed PRINT and WRITE statements to
appear in device code. This patch relax the semantic check to allow
them.
3.6.11.
List-directed PRINT and WRITE statements to the default unit may be used
when compiling for compute capability 2.0 and higher; all other uses of
PRINT and WRITE are disallowed.
Commit: 39f6d015ddd69717ff1f9b817bce84d621d37731
https://github.com/llvm/llvm-project/commit/39f6d015ddd69717ff1f9b817bce84d621d37731
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Eliminate getVLENFactoredAmount and expose muladd [nfc] (#87881)
This restructures the code to make the fact that most of
getVLENFactoredAmount is just a generic multiply w/immediate more
obvious and prepare for a couple of upcoming enhancements to this code.
Note that I plan to switch mulImm to early return, but decided I'd do
that as a separate commit to keep this diff readable.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: d345f6a25343f926f55e70b442dfa507ba31b597
https://github.com/llvm/llvm-project/commit/d345f6a25343f926f55e70b442dfa507ba31b597
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[clang] Introduce `SemaHLSL` (#87912)
This patch introduces `SemaHLSL` class, and moves some HLSL-related
functions there. No functional changes intended.
Removing "HLSL" from function names inside `SemaHLSL` is left for a
subsequent PR by HLSL contributors, if they deem that desirable.
This is a part of the effort to split `Sema` into smaller manageable
parts, and follows the example of OpenACC. See #82217, #84184, #87634
for additional context.
Commit: 93e2a9ab1b28e1b89d30b89dc2d5bb6f8cc66dc9
https://github.com/llvm/llvm-project/commit/93e2a9ab1b28e1b89d30b89dc2d5bb6f8cc66dc9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr605.cpp
A clang/test/CXX/drs/dr650.cpp
A clang/test/CXX/drs/dr653.cpp
A clang/test/CXX/drs/dr658.cpp
A clang/test/CXX/drs/dr661.cpp
A clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add CodeGen tests for CWG 6xx issues (#87876)
This patch covers
[CWG605](https://cplusplus.github.io/CWG/issues/605.html) "Linkage of
explicit specializations",
[CWG650](https://cplusplus.github.io/CWG/issues/650.html) "Order of
destruction for temporaries bound to the returned value of a function",
[CWG653](https://cplusplus.github.io/CWG/issues/653.html) "Copy
assignment of unions",
[CWG658](https://cplusplus.github.io/CWG/issues/658.html) "Defining
`reinterpret_cast` for pointer types",
[CWG661](https://cplusplus.github.io/CWG/issues/661.html) "Semantics of
arithmetic comparisons",
[CWG672](https://cplusplus.github.io/CWG/issues/672.html) "Sequencing of
initialization in _new-expression_s".
[CWG624](https://cplusplus.github.io/CWG/issues/624.html) "Overflow in
calculating size of allocation" and
[CWG668](https://cplusplus.github.io/CWG/issues/668.html) "Throwing an
exception from the destructor of a local static object" are marked as
requiring libc++abi tests.
Commit: ea2392ed33f765018002f833da9a04cd0571ab83
https://github.com/llvm/llvm-project/commit/ea2392ed33f765018002f833da9a04cd0571ab83
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
Log Message:
-----------
[libc++][format] Fixed `println.blank_line.sh.cpp` test on llvm-clang-win-x-* configurations (#88011)
Fix for issue:
https://github.com/llvm/llvm-project/pull/87277#issuecomment-2041864530
The test fails on the windows to linux cross builders. The proposed
resolution is to print some text. The issue is possibly due to the
original test outputting a single `\n` character.
Commit: 977c0a6d29fe836f75b64a6f08a58cb3c00a56d9
https://github.com/llvm/llvm-project/commit/977c0a6d29fe836f75b64a6f08a58cb3c00a56d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
A llvm/test/Analysis/LoopAccessAnalysis/positive-dependence-distance-different-access-sizes.ll
A llvm/test/Transforms/LoopLoadElim/non-const-distance.ll
Log Message:
-----------
[LAA] Add tests with non-constant strides & distances.
Add a number of LAA test cases with both forward and backward
dependences with non-constant strides and dependence distances.
This includes test coverage for
https://github.com/llvm/llvm-project/issues/87336
Also includes a LoopLoadElimination test to make sure the pass does not
crash on non-constant dependence distances.
Commit: 125c9cf1b2f5d1b33884ddcd33ce983b2e927d2f
https://github.com/llvm/llvm-project/commit/125c9cf1b2f5d1b33884ddcd33ce983b2e927d2f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG593 (#87752)
[CWG593](https://cplusplus.github.io/CWG/issues/593.html) "Falling off
the end of a destructor's function-try-block handler". As usual with CWG
issues resolved as NAD, we test for status-quo confirmed by CWG.
Commit: fd2ffc1cbf51a75884369ec9253f47ae2fdba83c
https://github.com/llvm/llvm-project/commit/fd2ffc1cbf51a75884369ec9253f47ae2fdba83c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Reject incomplete types in `__is_layout_compatible()` (#87869)
This is a follow-up to #81506. As discussed in #87737, we're rejecting
incomplete types, save for exceptions listed in the C++ standard (`void`
and arrays of unknown bound). Note that arrays of unknown bound of
incomplete types are accepted.
Since we're happy with the current behavior of this intrinsic for
flexible array members
(https://github.com/llvm/llvm-project/pull/87737#discussion_r1553652570),
I added a couple of tests for that as well.
Commit: eeedb1e962977caeb699ef9aa714c8878c4d62d2
https://github.com/llvm/llvm-project/commit/eeedb1e962977caeb699ef9aa714c8878c4d62d2
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/i128-fpconv-win64-strict.ll
Log Message:
-----------
[FPEnv][X86] Correct one more strictfp test.
Correct a strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to some function
definitions. FP wait instructions now appear as a result. The need
for the wait instructions is explained by Andy Kaylor in PR#87791:
https://github.com/llvm/llvm-project/pull/87791
Test changes verified with D146845.
Commit: 92ecc22b8d18ad937053177533bd23c775556be6
https://github.com/llvm/llvm-project/commit/92ecc22b8d18ad937053177533bd23c775556be6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Fix crash in semantics on bad program (#87199)
Don't accept a putative statement function definition for a symbol that
is a subprogram but can't possibly be a statement function.
Fixes https://github.com/llvm/llvm-project/issues/86936.
Commit: b685597c0373882e58dabf587581d00989e40f71
https://github.com/llvm/llvm-project/commit/b685597c0373882e58dabf587581d00989e40f71
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Evaluate/fold-reduction.h
A flang/test/Evaluate/folding32.f90
Log Message:
-----------
[flang] Fix crash in reduction folding (#87201)
A reduction folding template assumed lower bounds were 1.
Fixes https://github.com/llvm/llvm-project/issues/86935.
Commit: af61d08280a90becb5a710a812f0d3d6485737a8
https://github.com/llvm/llvm-project/commit/af61d08280a90becb5a710a812f0d3d6485737a8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve29.f90
Log Message:
-----------
[flang] Handle forward reference to shadowing derived type from IMPLICIT (#87280)
A derived type name in an IMPLICIT statement might be a host association
or it might be a forward reference to a local derived type, which may be
shadowing a host-associated name. Add a scan over the specification part
in search of derived type definitions to determine the right
interpretation.
Fixes https://github.com/llvm/llvm-project/issues/87215.
Commit: aace1e1719a1610ce9fa93c7dae38a4272d7b6bf
https://github.com/llvm/llvm-project/commit/aace1e1719a1610ce9fa93c7dae38a4272d7b6bf
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Parser/char-block.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve21.f90
Log Message:
-----------
[flang] Improve error message with declaration (#87294)
When a program attempts to use a non-object entity as the base of a
component reference or type parameter inquiry, the message is somewhat
uninformative and the position of the entity's declaration will not
reflect any updates made to the symbol during name resolution.
Includes some NFC C++17 style clean-up on some code noticed while
debugging (missing mandatory braces).
Commit: 97e3f605d5b574899d9f012032349bbf84c4dcfb
https://github.com/llvm/llvm-project/commit/97e3f605d5b574899d9f012032349bbf84c4dcfb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/intrinsics04.f90
Log Message:
-----------
[flang] Don't allow non-standard data conversions of potentially abse… (#87391)
…nt arguments
Arguments to the intrinsic functions MAX and MIN after the first two are
optional. When these actual arguments might not be present at run time,
emit a compilation time error if they require data conversion (a
non-standard but nearly universal language extension); such a conversion
would crash if the argument was absent.
Other compilers either disallow data conversions entirely on MAX/MIN or
crash at run time if a converted argument is absent.
Fixes https://github.com/llvm/llvm-project/issues/87046.
Commit: e1ad2735c3e7b0af94159f585458c7383255f03e
https://github.com/llvm/llvm-project/commit/e1ad2735c3e7b0af94159f585458c7383255f03e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/common.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/iso_fortran_env.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Clean up ISO_FORTRAN_ENV, fix NUMERIC_STORAGE_SIZE (#87566)
Address TODOs in the intrinsic module ISO_FORTRAN_ENV, and extend the
implementation of NUMERIC_STORAGE_SIZE so that the calculation of its
value is deferred until it is needed so that the effects of
-fdefault-integer-8 or -fdefault-real-8 are reflected. Emit a warning
when NUMERIC_STORAGE_SIZE is used from the module file and the default
integer and real sizes do not match.
Fixes https://github.com/llvm/llvm-project/issues/87476.
Commit: 89eb1a5a8e35a3bb77e4a1ca4fcac6757efc9339
https://github.com/llvm/llvm-project/commit/89eb1a5a8e35a3bb77e4a1ca4fcac6757efc9339
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/elf-globals-static.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
Log Message:
-----------
[test][AArch64][CodeGen] Delete redundant check lines (#87965)
llvm/test/CodeGen/AArch64/elf-globals-pic.ll:
Since https://reviews.llvm.org/D91734, elf-globals-static.ll test
contains several `CHECK-PIC` lines. They do not seem to bring any value
since there are no FileCheck run lines checking against this prefix. The
right place for such tests should be elf-globals-pic.ll, which already
contains check lines being deleted in this commit. Both
elf-globals-pic.ll and elf-globals-static.ll were created after
splitting arm64-elf-globals.ll in 6dbd0ea, and having `CHECK-PIC` lines
in elf-globals-static.ll seems like an issue occurred because of git
thinking that elf-globals-pic.ll is a new file and elf-global-static.ll
is a rename of arm64-elf-globals.ll.
llvm/test/CodeGen/AArch64/tagged-globals-pic.ll:
Similar to elf-globals-pic.ll, contains unneeded
`CHECK-SELECTIONDAGISEL` and `CHECK-GLOBALISEL` directives not checked
by any FileCheck invocation. These directives are present in
tagged-globals-static.ll. Both tests are present in the code tree since
fd32639 when tagged-globals.ll was splitted into
tagged-globals-{pic|static}.ll.
Commit: 708c8cd7435002027a2cc9b99a0916a3dc255d63
https://github.com/llvm/llvm-project/commit/708c8cd7435002027a2cc9b99a0916a3dc255d63
Author: Axel Lundberg <19574357+Zonotora at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
A clang/test/CodeGen/ubsan-bitfield-conversion.c
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
Fix "[clang][UBSan] Add implicit conversion check for bitfields" (#87761)
Fix since #75481 got reverted.
- Explicitly set BitfieldBits to 0 to avoid uninitialized field member
for the integer checks:
```diff
- llvm::ConstantInt::get(Builder.getInt8Ty(), Check.first)};
+ llvm::ConstantInt::get(Builder.getInt8Ty(), Check.first),
+ llvm::ConstantInt::get(Builder.getInt32Ty(), 0)};
```
- `Value **Previous` was erroneously `Value *Previous` in
`CodeGenFunction::EmitWithOriginalRHSBitfieldAssignment`, fixed now.
- Update following:
```diff
- if (Kind == CK_IntegralCast) {
+ if (Kind == CK_IntegralCast || Kind == CK_LValueToRValue) {
```
CK_LValueToRValue when going from, e.g., char to char, and
CK_IntegralCast otherwise.
- Make sure that `Value *Previous = nullptr;` is initialized (see
https://github.com/llvm/llvm-project/commit/1189e87951e59a81ee097eae847c06008276fef1)
- Add another extensive testcase
`ubsan/TestCases/ImplicitConversion/bitfield-conversion.c`
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: aa6a089c367e024921bae050b8999a7bc4d58f76
https://github.com/llvm/llvm-project/commit/aa6a089c367e024921bae050b8999a7bc4d58f76
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
Log Message:
-----------
[NFC][OpenMP] Split nesting_of_regions test (#87842)
This test is the bottleneck for OpenMP lit tests, running about twice as
long as the others. Break it into five tests based on run lines with the
same version.
Commit: 01d9528ef989610e968386ea1f270698015d2410
https://github.com/llvm/llvm-project/commit/01d9528ef989610e968386ea1f270698015d2410
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP]Improve final minbitwidth analysis attempt.
Added part for demanded bits analysis in the IsPotentiallyTruncated to
improve minbitwidth analysis final attempts.
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 43069.00 42973.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 43066.00 42970.00 -0.2%
Extra trunc instructions are emitted to operate with <32 x i8> instead
of <32 x i16>, will be removed in the next patches.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87786
Commit: c23135c5488fbfaf6439433a10b3ddef33ff112c
https://github.com/llvm/llvm-project/commit/c23135c5488fbfaf6439433a10b3ddef33ff112c
Author: Leonard Grey <lgrey at chromium.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/X86/func-sanitizer.ll
Log Message:
-----------
-fsanitize=function: fix .subsections_via_symbols (#87527)
-fsanitize=function emits a signature and function hash before a
function. Similar to 7f6e2c9, these can be sheared off when
`.subsections_via_symbols` is used.
This change uses the same technique 7f6e2c9 introduced for prefixes:
emitting a symbol for the metadata, then marking the actual function
entry as an .alt_entry symbol.
Commit: 3b43ae9a68256a77e8879a32a1670fd4b327802f
https://github.com/llvm/llvm-project/commit/3b43ae9a68256a77e8879a32a1670fd4b327802f
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
Log Message:
-----------
[scudo] Remove end of line checks. (#88022)
The regex to verify that there is nothing else at the end of the line
doesn't work in all cases, so remove it.
Commit: e276dcec173bc0123444c162c3becb2354382248
https://github.com/llvm/llvm-project/commit/e276dcec173bc0123444c162c3becb2354382248
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][arith] Refine the verifier for arith.constant (#87999)
Disallows initialization of scalable vectors with an attribute of
arbitrary values, e.g.:
```mlir
%c = arith.constant dense<[0, 1]> : vector<[2] x i32>
```
Initialization using vector splats remains allowed (i.e. when all the
init values are identical):
```mlir
%c = arith.constant dense<[1, 1]> : vector<[2] x i32>
```
Note: This is a re-upload of #86178
Commit: 8671429151d5e67d3f21a737809953ae8bdfbfde
https://github.com/llvm/llvm-project/commit/8671429151d5e67d3f21a737809953ae8bdfbfde
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[Libomp] Place generated OpenMP headers into build resource directory (#88007)
Summary:
These headers are a part of the compiler's resource directory once
installed. However, they are currently placed in the binary directory
temporarily. This makes it more difficult to use the compiler out of the
build directory and will cause issues when moving to `liboffload`. This
patch changes the logic to write these instead to the copmiler's
resource directory inside of the build tree.
NOTE: This doesn't change the Fortran headers, I don't know enough about
those and it won't use the same directory.
Commit: 1e6ce5e284f5c0e8d64eee21af727bb164eb3caf
https://github.com/llvm/llvm-project/commit/1e6ce5e284f5c0e8d64eee21af727bb164eb3caf
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Clean up unused math_utils.(h|cpp). (#88036)
Commit: 119b9cdb388f33e78fbb2a73e244ec3031c7f84c
https://github.com/llvm/llvm-project/commit/119b9cdb388f33e78fbb2a73e244ec3031c7f84c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.h
Log Message:
-----------
[flang][omp] Heed valid build warning (#88015)
Address a bug found by a compiler warning, and thereby also fix -Werror
builds.
Commit: ac8ed7f16e5355d7062535afc08ff4be15875c47
https://github.com/llvm/llvm-project/commit/ac8ed7f16e5355d7062535afc08ff4be15875c47
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/test/src/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
Log Message:
-----------
[libc] Remove RandUtils.(h|cpp). (#88044)
Commit: 50a6738636d1b1dda0c5887cf0623ee084854272
https://github.com/llvm/llvm-project/commit/50a6738636d1b1dda0c5887cf0623ee084854272
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
Log Message:
-----------
[clang][NFC] Adjust TBAA Base Info API (#73263)
A couple of cleanups.
1) remove an unnecessary check from isValidBaseType.
2) Add a new internal entrypoint 'getValidBaseTypeInfo', for uses where the type is known to be valid.
Commit: f5cf98c02655de50401f6547ea181efed6a4c1f1
https://github.com/llvm/llvm-project/commit/f5cf98c02655de50401f6547ea181efed6a4c1f1
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
Log Message:
-----------
[RISCV] Improve test coverage for #87950
Noticed in review that we want both the LUI and LUI/ADDI cases
with different behavior for each.
Commit: eb26edbbf8479aacac0b03413159c8836994a734
https://github.com/llvm/llvm-project/commit/eb26edbbf8479aacac0b03413159c8836994a734
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/stack-offset.ll
Log Message:
-----------
[RISCV] Exploit sh3add/sh2add for stack offsets by shifted 12-bit constants (#87950)
If we're falling back to generic constant formation in a register +
add/sub, we can check if we have a constant which is 12-bits but left
shifted by 2 or 3. If so, we can use a sh2add or sh3add to perform the
shift and add in a single instruction.
This is profitable when the unshifted constant would require two
instructions (LUI/ADDI) to form, but is never harmful since we're going
to need at least two instructions regardless of the constant value.
Since stacks are aligned to 16 bytes by default, sh3add allows addresing
(aligned) data out to 2^14 (i.e. 16kb) in at most two instructions
w/zba.
Commit: 16b3e43a030b0322e0d81debba3d63f145c8fd0b
https://github.com/llvm/llvm-project/commit/16b3e43a030b0322e0d81debba3d63f145c8fd0b
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
Log Message:
-----------
[clang-tidy] Ignore non-forwarded arguments if they are unused (#87832)
Commit: 1950ebd17bbf1f2ad2a3799cd5966412ccfee9c4
https://github.com/llvm/llvm-project/commit/1950ebd17bbf1f2ad2a3799cd5966412ccfee9c4
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/test/Headers/ms-intrin.cpp
Log Message:
-----------
[ARM64EC] Fix compilation of intrin.h in ARM64EC mode. (#87717)
intrin.h checks for x86_64. But the "x86_64" define is also defined for
ARM64EC, and we don't support all the intrinsics in ARM64EC mode. Fix
the preprocessor checks to handle this correctly. (If we actually need
some of these intrinsics in ARM64EC mode, we can revisit later.)
Not exactly sure how I didn't run into this issue before now... I think
I've built code that requires these headers, but maybe not since the
define fix landed.
Commit: ff9b63f8d0487b69b35cf90a7089ad075f7fab88
https://github.com/llvm/llvm-project/commit/ff9b63f8d0487b69b35cf90a7089ad075f7fab88
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Fix windows after #87761
Commit: 7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77
https://github.com/llvm/llvm-project/commit/7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/test/Driver/aarch64-fixed-x-register.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
Log Message:
-----------
Revert "[AArch64] Add support for -ffixed-x30" (#88019)
This reverts commit e770153865c53c4fd72a68f23acff33c24e42a08.
This wasn't reviewed, and the functionality in question was
intentionally rejected the last time it was discussed in
https://reviews.llvm.org/D56305 .
Commit: 96bba13bd6bfb4ff0635972723adcd9c72b65bae
https://github.com/llvm/llvm-project/commit/96bba13bd6bfb4ff0635972723adcd9c72b65bae
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Fix Solaris after #87761
Commit: bee33770188f29d0369655c6d178c0bfb937e872
https://github.com/llvm/llvm-project/commit/bee33770188f29d0369655c6d178c0bfb937e872
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible targets
Commit: f94bbfed7cf08f60e20756dce8965d2c6ed70ea1
https://github.com/llvm/llvm-project/commit/f94bbfed7cf08f60e20756dce8965d2c6ed70ea1
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
Log Message:
-----------
[Clang][CodeGen] Fix `CanSkipVTablePointerInitialization` for dynamic classes with a trivial anonymous union (#84651)
Hit this when trying upgrade an old project of mine. I couldn't find a
corresponding existing issue for this when spelunking the open issues
here on github.
Thankfully I can work-around it today with the `[[clang::no_destroy]]`
attribute for my use case. However it should still be properly fixed.
### Issue and History ###
https://godbolt.org/z/EYnhce8MK for reference.
All subsequent text below refers to the example in the godbolt above.
Anonymous unions never have their destructor invoked automatically.
Therefore we can skip vtable initialization of the destructor of a
dynamic class if that destructor effectively does no work.
This worked previously as the following check would be hit and return
true for the trivial anonymous union,
https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CGClass.cpp#L1348,
resulting in the code skipping vtable initialization.
This was broken here
https://github.com/llvm/llvm-project/commit/982bbf404eba2d968afda5c674d4821652159c53
in relation to comments made on this review here
https://reviews.llvm.org/D10508.
### Fixes ###
The check the code is doing is correct however the return value is
inverted. We want to return true here since a field with anonymous union
never has its destructor invoked and thus effectively has a trivial
destructor body from the perspective of requiring vtable init in the
parent dynamic class.
Also added some extra missing unit tests to test for this use case and a
couple others.
Commit: 59aba90ab6648b968b67677ce445ba11c05a3823
https://github.com/llvm/llvm-project/commit/59aba90ab6648b968b67677ce445ba11c05a3823
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Simplify regex in the test
Commit: e27c3736f975ca463476223c465e4777186f603f
https://github.com/llvm/llvm-project/commit/e27c3736f975ca463476223c465e4777186f603f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
[X86] Change how we treat functions with explicit sections as small/large (#87838)
Following #78348, we should treat functions with an explicit section as
small, unless the section name is (or has the prefix) ".ltext".
Clang emits global initializers into a ".text.startup" section on Linux.
If we mix small/medium code model object files with large code model
object files, we'll end up mixing sections with and without the large
section flag.
Commit: 50b937331ff44ac4b4ee70c3bfc0c4da51a02855
https://github.com/llvm/llvm-project/commit/50b937331ff44ac4b4ee70c3bfc0c4da51a02855
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
Log Message:
-----------
[mlir] Add missing libm member operations to MathToLibm (#87981)
This PR adds support for lowering the following Math operations to
`libm` calls:
* `math.absf` -> `fabsf, fabs`
* `math.exp` -> `expf, exp`
* `math.exp2` -> `exp2f, exp2`
* `math.fma` -> `fmaf, fma`
* `math.log` -> `logf, log`
* `math.log2` -> `log2f, log2`
* `math.log10` -> `log10f, log10`
* `math.powf` -> `powf, pow`
* `math.sqrt` -> `sqrtf, sqrt`
These operations are direct members of `libm`, and do not seem to
require any special manipulations on their operands.
Commit: 89ebb56152192e8ad535ddd11ae0f60334fd748a
https://github.com/llvm/llvm-project/commit/89ebb56152192e8ad535ddd11ae0f60334fd748a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
Log Message:
-----------
[RISCV] Resolve CHECK prefix conflict in fixed-vectors-vwsll.ll. NFC
riscv32 and riscv64 generate different code for one test case so we need
RV32 and RV64 CHECK lines.
Commit: 279c758b5d681eb7b24d5e3a1da64a7571e61903
https://github.com/llvm/llvm-project/commit/279c758b5d681eb7b24d5e3a1da64a7571e61903
Author: Zander Dumont-Strom <zdumonts at ucsc.edu>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A libc/docs/ctype.rst
M libc/docs/index.rst
M libc/utils/docgen/ctype.json
Log Message:
-----------
[libc][docs] generate docs for ctype.h (#87946)
Fixes #87833
Commit: e127997155a1cd1c5692c42aad074064c8dad099
https://github.com/llvm/llvm-project/commit/e127997155a1cd1c5692c42aad074064c8dad099
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/docs/ctype.rst
Log Message:
-----------
[libc][docs] fix missing include
Fixes #87946
Commit: 922700df44b7fd93dfaf642567283b2b7482e5df
https://github.com/llvm/llvm-project/commit/922700df44b7fd93dfaf642567283b2b7482e5df
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
Revert "[X86] Change how we treat functions with explicit sections as small/large (#87838)"
This reverts commit e27c3736f975ca463476223c465e4777186f603f.
Breaks ExecutionEngine/MCJIT/test-global-ctors.ll on windows, e.g. https://lab.llvm.org/buildbot/#/builders/117/builds/18749.
Commit: afc7cc7b123666a8917b26c7e483d78cbb79ff8d
https://github.com/llvm/llvm-project/commit/afc7cc7b123666a8917b26c7e483d78cbb79ff8d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
Log Message:
-----------
[RISCV] Fix missing CHECK prefixes in vector lrint test files. NFC
All of these test cases had iXLen in their name which got replaced
by sed. This prevented FileCheck from finding the function. The other
test cases in these files do not have that issue.
Commit: 472ea6e0159342107ca240018b0c5ad868bf16fe
https://github.com/llvm/llvm-project/commit/472ea6e0159342107ca240018b0c5ad868bf16fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vitofp-constrained-sdnode.ll
Log Message:
-----------
[RISCV] Resolve CHECK prefix conflict in fixed-vectors-vitofp-constrained-sdnode.ll. NFC
Commit: 4e98adf677fe6eb9aea5606c44ccc97f02d2f48a
https://github.com/llvm/llvm-project/commit/4e98adf677fe6eb9aea5606c44ccc97f02d2f48a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
Log Message:
-----------
[RISCV] Add tests for F/D with non-FP ABI to interrupt-attr.ll. NFC
Without a floating point aware ABI for callees, an interrupt handler
needs to save all floating point registers even normally callee saved.
We are currently unnecessarily saving callee saved FP registers when
a floating point ABI is used by the callee. This is different than gcc
as noted in this discourse
post https://discourse.llvm.org/t/has-bugs-when-optimizing-save-restore-csrs-by-changing-csr-xlen-f32-interrupt/78200/1
Commit: 79343fa8c3575be12ec4d543f4aebebd1ba4f47f
https://github.com/llvm/llvm-project/commit/79343fa8c3575be12ec4d543f4aebebd1ba4f47f
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
[msan] Precommit tests.
Precommit tests for overflowing and saturating arithmetic intrinsics.
Commit: 22b1f1bc695b8fd3263b709ce9761bf3bb2f8ee9
https://github.com/llvm/llvm-project/commit/22b1f1bc695b8fd3263b709ce9761bf3bb2f8ee9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Remove `#ifdef __cplusplus` part from `include/llvm-libc-macros/math-macros.h`. (#87864)
Now with the proxy header `hdr/math_macros.h`, the header
`include/llvm-libc-macros/math-macros.h` will not be included in overlay
mode, and the extra definitions for `__cplusplus` mode is not needed any
more.
Commit: 118a5d8236d8a483dd401fa35c8b1fcd058eacc1
https://github.com/llvm/llvm-project/commit/118a5d8236d8a483dd401fa35c8b1fcd058eacc1
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/overflow.ll
M llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
Overflow and saturating intrinsics (#88068)
Commit: f28c8339c12917b11c99432de6609e7d46e17e2b
https://github.com/llvm/llvm-project/commit/f28c8339c12917b11c99432de6609e7d46e17e2b
Author: Chris Apple <cja-private at pm.me>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
Fix issue where MACOSX_VERSION_MIN_FLAG was not set on subsequent runs of CMake in compiler-rt (#87580)
As discussed here:
https://github.com/llvm/llvm-project/pull/74394#issuecomment-2035264683
An unintentional change of behavior was introduced in #74394
This code introduced in #74394 :
The first time through
* SANITIZER_MIN_OSX_VERSION is not set
* parse -mmacosx-version-min and set MACOSX_VERSION_MIN_FLAG
* Set and cache SANITIZER_MIN_OSX_VERSION
Subsequent times through:
* SANITIZER_MIN_OSX_VERSION is cached
* (BUG!!) you don't parse -mmacosx-version-min, and don't set
MACOSX_VERSION_MIN_FLAG
MACOSX_VERSION_MIN_FLAG is used later in the file on this line:
https://github.com/llvm/llvm-project/blob/63c925ca808f216f805b76873743450456e350f2/compiler-rt/cmake/config-ix.cmake#L517
Hoisting this assignment outside the if block returns us to the previous
behavior before this commit, while maintaining the flexibility
introduced with the cache variable
Commit: ccdebbae4d77d3efc236af92c22941de5d437e01
https://github.com/llvm/llvm-project/commit/ccdebbae4d77d3efc236af92c22941de5d437e01
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin
Follow-up to #81037.
ToolChain::LibraryPaths holds the new compiler-rt library directory
(e.g. `/tmp/Debug/lib/clang/19/lib/x86_64-unknown-linux-gnu`). However,
it might be empty when the directory does not exist (due to the `if
(getVFS().exists(P))` change in https://reviews.llvm.org/D158475).
If neither the old/new compiler-rt library directories exists, we would
suggest the undesired old compiler-rt file name:
```
% /tmp/Debug/bin/clang++ a.cc -fsanitize=memory -o a
ld.lld: error: cannot open /tmp/Debug/lib/clang/19/lib/linux/libclang_rt.msan-x86_64.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
With this change, we will correctly suggest the new compiler-rt file name.
Fix #87150
Pull Request: https://github.com/llvm/llvm-project/pull/87866
Commit: ec1af63dde58c735fe60d6f2aafdb10fa93f410d
https://github.com/llvm/llvm-project/commit/ec1af63dde58c735fe60d6f2aafdb10fa93f410d
Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/patchable-prologue.ll
Log Message:
-----------
[Codegen][X86] Fix /HOTPATCH with clang-cl and inline asm (#87639)
This fixes an edge case where functions starting with inline assembly
would assert while trying to lower that inline asm instruction.
After this PR, for now we always add a no-op (xchgw in this case) without
considering the size of the next inline asm instruction. We might want
to revisit this in the future.
This fixes Unreal Engine 5.3.2 compilation with clang-cl and /HOTPATCH.
Should close https://github.com/llvm/llvm-project/issues/56234
Commit: 5bc87dac75762027e614da31b968c67a94f0e7b1
https://github.com/llvm/llvm-project/commit/5bc87dac75762027e614da31b968c67a94f0e7b1
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/overflow.ll
M llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
Revert "Overflow and saturating intrinsics (#88068)"
This reverts commit 118a5d8236d8a483dd401fa35c8b1fcd058eacc1.
Commit: 3b74f8c1de72aa90445249f55923690301da024a
https://github.com/llvm/llvm-project/commit/3b74f8c1de72aa90445249f55923690301da024a
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
R llvm/test/Instrumentation/MemorySanitizer/overflow.ll
R llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
Revert "[msan] Precommit tests."
This reverts commit 79343fa8c3575be12ec4d543f4aebebd1ba4f47f.
Commit: be006372f3bbcab1e2e51af93dd3302398dac9a4
https://github.com/llvm/llvm-project/commit/be006372f3bbcab1e2e51af93dd3302398dac9a4
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir][OpPrintingFlags] Allow to disable ElementsAttr hex printing (#85766)
At present, large ElementsAttr is unconditionally printed with a hex
string. This means that in IR large constant values often look like:
dense<"0x000000000004000000080000000004000000080000000..."> :
tensor<10x10xi32>
Hoisting hex printing control to the user level for tooling means that
one can disable the feature and get human-readable values when
necessary:
dense<[16, 32, 48, 500...]> : tensor<10x10xi32>
Note: AsmPrinterOptions::printElementsAttrWithHexIfLarger is not always
possible to be used as it requires that one exposes MLIR's command-line
options in user tooling (including an actual compiler).
Co-authored-by: Harald Rotuna <harald.razvan.rotuna at intel.com>
Commit: b2f8172d721d9e1cdaf052155aea880d731b1bf7
https://github.com/llvm/llvm-project/commit/b2f8172d721d9e1cdaf052155aea880d731b1bf7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
Log Message:
-----------
[gn build] Port 27b2d7d4bb79
Commit: 65c57bf2429e395aed811c05f35d28a6123a5965
https://github.com/llvm/llvm-project/commit/65c57bf2429e395aed811c05f35d28a6123a5965
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
Log Message:
-----------
[gn build] Port 7a4e89761a13
Commit: 1c4ec8def6bb18934f300f6e630e92e7efdb60be
https://github.com/llvm/llvm-project/commit/1c4ec8def6bb18934f300f6e630e92e7efdb60be
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port d2884444472e
Commit: 064634406277e4786ce12caac94f7fa57ed5973e
https://github.com/llvm/llvm-project/commit/064634406277e4786ce12caac94f7fa57ed5973e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
M llvm/test/Transforms/lower-builtin-allow-check.ll
Log Message:
-----------
[HWASAN][UBSAN] Reverse random logic (#88070)
It feels more intuitive to make higher P to keep more checks.
Commit: 4a812b5912d3149592cae195c9007b05649d9b41
https://github.com/llvm/llvm-project/commit/4a812b5912d3149592cae195c9007b05649d9b41
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/Transforms/HipStdPar/unsupported-thread-local-indirect-use.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Verify threadlocal_address constraints (#87841)
Check invariants for `llvm.threadlocal.address` intrinsic in IR
Verifier.
Commit: 925b7d6f62bf8f0b204cc1cb24a4a75c7bc5e0ae
https://github.com/llvm/llvm-project/commit/925b7d6f62bf8f0b204cc1cb24a4a75c7bc5e0ae
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Replace some KV loop variables with structured bindings.
Same idea as 006aaf32258 -- reduce boilerplate and improve readability. This
time updates will be piecemeal to make it easier to identify errors.
Coding my way home: 2.18555S, 93.78063W
Commit: e35fb3fb8bfcb732ace3738f9589989b3fac1508
https://github.com/llvm/llvm-project/commit/e35fb3fb8bfcb732ace3738f9589989b3fac1508
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBQueueDocstrings.i
M lldb/bindings/interface/SBThreadDocstrings.i
Log Message:
-----------
[lldb] [NFC] Fix swig docstring annotations (#88073)
Some of the SB API method description docstrings for swing are annotated
as `%feature("autodoc")` - but `"autodoc"` annotations are only to
substitute a string showing the arguments and return variables - either
in a single line, or in multiple lines. SBMemoryRegionInfo used
`"autodoc"` correctly describing the parameters and return type, but
then it added a description too which is not correct either.
Change all of these that are adding a method description to use
`%feature("docstring")` instead. There were a half dozen instances where
`"autodoc"` was correctly being used and we have overriden the parameter
and return types with a more readable version.
Commit: f7d93373969b2b757f5d5ef5e157dabe3bb9b0ae
https://github.com/llvm/llvm-project/commit/f7d93373969b2b757f5d5ef5e157dabe3bb9b0ae
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Sema][NFC] Cleanups after 843cc474f (#87996)
I forgot to tidy up these lines that should've been done in the previous
commit, specifically:
1. Merge two `CodeSynthesisContext`s into one in `CheckTemplateIdType`.
2. Remove some gratuitous `Sema::` specifiers.
3. Rename the parameter `Template` to `Entity` to avoid confusion.
Commit: 41dc04e5283adef9979cad2b126ab3e6c156034a
https://github.com/llvm/llvm-project/commit/41dc04e5283adef9979cad2b126ab3e6c156034a
Author: Jason Molenda <jason at molenda.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBProcessDocstrings.i
Log Message:
-----------
[lldb] Add swig doc for SBProcess address mask methods
Add descriptions of `GetAddressMask`, `SetAddressMask`,
`SetAddressableBits`, and `FixAddress` SBProcess methods.
Commit: 71eda17a0674317b05975be79ed4a2c8ee99c43c
https://github.com/llvm/llvm-project/commit/71eda17a0674317b05975be79ed4a2c8ee99c43c
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/PowerPC/ppcsoftops.ll
Log Message:
-----------
[Legalizer] Soften EXTRACT_ELEMENT on ppcf128 (#77412)
ppc_fp128 values are always split into two f64. Implement soften
operation in soft-float mode to handle output f64 correctly.
Commit: 0e5a53cc01e406436cb7c703c84598e474d635de
https://github.com/llvm/llvm-project/commit/0e5a53cc01e406436cb7c703c84598e474d635de
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/test/IR/affine-walk.mlir
Log Message:
-----------
[MLIR] Fix typo bug in AffineExprVisitor for WalkResult return case (#86138)
Fix typo bug in AffineExprVisitor for the WalkResult return case. This
didn't show up immmediately because most walks in the tree didn't
use walk result.
Commit: 25e3d2b0fc1e2b4df19d7f18fbdd04c154e1d0e8
https://github.com/llvm/llvm-project/commit/25e3d2b0fc1e2b4df19d7f18fbdd04c154e1d0e8
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
Revert "[Libomp] Place generated OpenMP headers into build resource d… (#88083)
…irectory (#88007)"
This reverts commit 8671429151d5e67d3f21a737809953ae8bdfbfde.
This commit broke the flang build, so I'm reverting it. See the comments
in merge request #88007 for more information.
Commit: 74c085fcfc8fab7822127cb46ff82a6f0d3597f3
https://github.com/llvm/llvm-project/commit/74c085fcfc8fab7822127cb46ff82a6f0d3597f3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV] Add Zcmop and Zimop to RISCVUsage.rst. NFC (#88033)
These extensions are ratified so they were removed from the experimental
section, but not added to the non-experimental section.
Commit: 04f33a3ac2e8ca96840606f812eaef974ff61c80
https://github.com/llvm/llvm-project/commit/04f33a3ac2e8ca96840606f812eaef974ff61c80
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Use a std::move() to avoid a copy in the loop in multiplicativeInverse. (#87655)
This allows the subtract to reuse the storage of T. T will be assigned
over by the condition on the next iteration. I think assigning over a
moved from value should be ok.
Commit: a30662fc2acdd73ca1a9217716299a4676999fb4
https://github.com/llvm/llvm-project/commit/a30662fc2acdd73ca1a9217716299a4676999fb4
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Rework the printing of attributes (#87281)
Commit https://github.com/llvm/llvm-project/commit/46f3ade introduced a
notion of printing the attributes on the left to improve the printing of
attributes attached to variable declarations. The intent was to produce
more GCC compatible code because clang tends to print the attributes on
the right hand side which is not accepted by gcc.
This approach has increased the complexity in tablegen and the
attrubutes themselves as now the are supposed to know where they could
appear. That lead to mishandling of the `override` keyword which is
modelled as an attribute in clang.
This patch takes an inspiration from the existing approach and tries to
keep the position of the attributes as they were written. To do so we
use simpler heuristic which checks if the source locations of the
attribute precedes the declaration. If so, it is considered to be
printed before the declaration.
Fixes https://github.com/llvm/llvm-project/issues/87151
Commit: 5c056b32350e834924356b1af78504d261d24e42
https://github.com/llvm/llvm-project/commit/5c056b32350e834924356b1af78504d261d24e42
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Clean up unit tests from commit 13be0d4a34c4
- Use 1-parameter verifyFormat() to verify formatted input in LLVM style.
- Pass string literal instead of constructed StringRef to verifyFormat().
- Don't include trailing newlines if not needed.
Commit: b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87
https://github.com/llvm/llvm-project/commit/b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Add comment clarifying missing `usub.sat` in `isKnownNonZero`; NFC
Closes #87700
Commit: d10983b8a39abdbfaffd207720f67f96227b5ac9
https://github.com/llvm/llvm-project/commit/d10983b8a39abdbfaffd207720f67f96227b5ac9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
Log Message:
-----------
[ORC] Replace KV loop variables with structured bindings, fix typo.
Coding my way home: 2.29247S, 94.15173W
Commit: 62e92573d28d62ab7e6438ac34d513b07c51ce09
https://github.com/llvm/llvm-project/commit/62e92573d28d62ab7e6438ac34d513b07c51ce09
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Revert "Rework the printing of attributes (#87281)"
This reverts commit a30662fc2acdd73ca1a9217716299a4676999fb4 due to bot failures.
Commit: d4120477130a5f9e472753068dcc627baddc44f6
https://github.com/llvm/llvm-project/commit/d4120477130a5f9e472753068dcc627baddc44f6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix "Initializing" zero-size arrays
getIndex() returns 0 here, so we were trying to initalize the 0th
element.
Fixes #88018
Commit: 03ffb82c9e0d363c97ca37ede46719236616c88e
https://github.com/llvm/llvm-project/commit/03ffb82c9e0d363c97ca37ede46719236616c88e
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/ToolOutputFile.h
M llvm/lib/Support/ToolOutputFile.cpp
Log Message:
-----------
[Support] Make CleanupInstaller public (NFC) (#86758)
This can be used by others to automatically remove temp files.
Commit: c7db450e5c1a83ea768765dcdedfd50f3358d418
https://github.com/llvm/llvm-project/commit/c7db450e5c1a83ea768765dcdedfd50f3358d418
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Refactor `EvaluateBinaryTypeTrait` to accept `TypeSourceInfo`
Some type traits issue diagnostics that would benefit from additional source location information.
Commit: 5d1f779540517f47abb4927f4ded51cac94fd366
https://github.com/llvm/llvm-project/commit/5d1f779540517f47abb4927f4ded51cac94fd366
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
Log Message:
-----------
[clang][Interp][NFC] Add Dump debug op
This is often useful for debugging and dumps the current stack
contents.
Commit: acff0b03167f877f783d9386014e1ebc20db1c2f
https://github.com/llvm/llvm-project/commit/acff0b03167f877f783d9386014e1ebc20db1c2f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Improve Record debugging
Add Record::dump() and return the diagnostic name from getName()
Commit: 11ba795565c231a95a7e34bb0e4dff099234c736
https://github.com/llvm/llvm-project/commit/11ba795565c231a95a7e34bb0e4dff099234c736
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Add sanity checks to This op
The instance pointer must be casted to the right base.
Commit: 3a2367561d7f4eb1795d6972b294562bc66beb2b
https://github.com/llvm/llvm-project/commit/3a2367561d7f4eb1795d6972b294562bc66beb2b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/insertelement.ll
Log Message:
-----------
[ValueTracking] Add tests for non-constant idx in `computeKnownBits` of `insertelement`; NFC
Commit: 964df099e1f8afcb9d052f61e065da82b19cc81b
https://github.com/llvm/llvm-project/commit/964df099e1f8afcb9d052f61e065da82b19cc81b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/insertelement.ll
Log Message:
-----------
[ValueTracking] Support non-constant idx for `computeKnownBits` of `insertelement`
Its same logic as before, we just need to intersect what we know about
the new Elt and the entire pre-existing Vec.
Closes #87707
Commit: 51089e360e37962c7841fe0a494ba9fb5368bab2
https://github.com/llvm/llvm-project/commit/51089e360e37962c7841fe0a494ba9fb5368bab2
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Support fast math flag for complex.tan op (#87919)
See
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: dbb9749862481ad6aa82c96f6889b2ebba6f6062
https://github.com/llvm/llvm-project/commit/dbb9749862481ad6aa82c96f6889b2ebba6f6062
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[ASTMatchers] fix captureVars assertion failure on capturesVariables (#76619)
Matcher `capturesVar` should check for `capturesVariables()` before
calling `getCaptureVar()` since it asserts this `LambdaCapture` does
capture a variable.
Fixes #76425
Commit: 9391ff8c86007562d40c240ea082b7c0cbf35947
https://github.com/llvm/llvm-project/commit/9391ff8c86007562d40c240ea082b7c0cbf35947
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/APINotes/retain-count-convention.m
M clang/test/APINotes/versioned.m
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Reland "Rework the printing of attributes (#87281)"
Original commit message:
"
Commit https://github.com/llvm/llvm-project/commit/46f3ade introduced a notion
of printing the attributes on the left to improve the printing of attributes
attached to variable declarations. The intent was to produce more GCC compatible
code because clang tends to print the attributes on the right hand side which is
not accepted by gcc.
This approach has increased the complexity in tablegen and the attrubutes
themselves as now the are supposed to know where they could appear. That lead to
mishandling of the `override` keyword which is modelled as an attribute in
clang.
This patch takes an inspiration from the existing approach and tries to keep the
position of the attributes as they were written. To do so we use simpler
heuristic which checks if the source locations of the attribute precedes the
declaration. If so, it is considered to be printed before the declaration.
Fixes https://github.com/llvm/llvm-project/issues/87151
"
The reason for the bot breakage is that attributes coming from ApiNotes are not
marked implicit even though they do not have source locations. This caused an
assert to trigger. This patch forces attributes with no source location
information to be printed on the left. That change is consistent to the overall
intent of the change to increase the chances for attributes to compile across
toolchains and at the same time the produced code to be as close as possible to
the one written by the user.
Commit: d8d131dfa99762ccdd2116661980b7d0493cd7b5
https://github.com/llvm/llvm-project/commit/d8d131dfa99762ccdd2116661980b7d0493cd7b5
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cmp-folds.ll
M llvm/test/CodeGen/RISCV/rvv/combine-sats.ll
M llvm/test/CodeGen/RISCV/rvv/combine-splats.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.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-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.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/fixed-vectors-vror.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vxor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vp-fadd-and-vp-fmul.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vand-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmarith-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmulh-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-int.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i1.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i64.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-zfa.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccsu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-vp.ll
Log Message:
-----------
[RISCV] Convert more constant splats in tests to splat shorthand. NFC (#87616)
A handy shorthand for specifying the shufflevector(insertelement(poison,
foo, 0), poison, zeroinitializer) splat pattern was introduced in
#74620.
Some of the RISC-V tests were converted over to use this new form in
dbb65dd330cc1696d7ca3dedc7aa9fa12c55a075, this patch handles the rest
which didn't have any codegen diffs.
This not only converts some constant expressions to the new form, but
also instruction sequences that weren't previously constant expressions
to constant expressions as well. In some cases this affects codegen, but
these have been omitted here and will be handled in a separate PR.
Commit: 0f20b9b92f5333a90cf7cd19d7ec2e27ee3eac06
https://github.com/llvm/llvm-project/commit/0f20b9b92f5333a90cf7cd19d7ec2e27ee3eac06
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vwadd-vp.ll
Log Message:
-----------
[RISCV] Don't require mask or VL to be the same in combineBinOp_VLToVWBinOp_VL (#87997)
In NodeExtensionHelper we keep track of the VL and mask of the operand
being extended and check that they are the same as the root node's.
However for the nodes that we support, none of them have a passthru
operand with the exception of RISCV::VMV_V_X_VL, but we check that it's
passthru is undef anyway.
So it's safe to just discard the extend node's VL and mask and just use
the root's instead. (This is the same type of reasoning we use to treat
any vmset_vl as an all ones mask)
This allows us to match some more cases where we mix VP/non-VP/VL nodes,
but these don't seem to appear in practice. The main benefit from this
would be to simplify the code.
Commit: 9c660362c4fb05c0198b9d3ed65b2344706129bd
https://github.com/llvm/llvm-project/commit/9c660362c4fb05c0198b9d3ed65b2344706129bd
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Support vwsll in combineBinOp_VLToVWBinOp_VL (#87620)
If the subtarget has +zvbb then we can attempt folding shl and shl_vl to
vwsll nodes.
There are few test cases where we still don't pick up the vwsll:
- For fixed vector vwsll.vi on RV32, see the FIXME for VMV_V_X_VL in
fillUpExtensionSupport for support implicit sign extension
- For scalable vector vwsll.vi we need to support ISD::SPLAT_VECTOR, see
#87249
Commit: 9c58f3a234a5eb24db97290d1abc71f8bf181c3a
https://github.com/llvm/llvm-project/commit/9c58f3a234a5eb24db97290d1abc71f8bf181c3a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-non-empty-but-used-interval.mir
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking-wave32.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies-order-of-phi-incomings.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd-gfx12.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd.mir
M llvm/test/CodeGen/AMDGPU/vopc_dpp.mir
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Fix implicit $vcc operands after parsing MIR (#87781)
MIParser checks that implicit operands match the instruction definition,
so they have to be $vcc even in wave32 mode. Use the mirFileLoaded hook
to fix them after MIParser's checks, converting them to $vcc_lo which is
what that rest of CodeGen expects.
This is all just extending the fixImplicitOperands hack which was
introduced with GFX10, but at least it makes it possible to write a MIR
test which creates the same instructions that normal CodeGen would
generate.
Commit: 9430a4b9d272b050869958d5f0e7ef9fd9db2643
https://github.com/llvm/llvm-project/commit/9430a4b9d272b050869958d5f0e7ef9fd9db2643
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use getEdgeMask when constructing VPBlendRecipe (NFCI).
After 2d0d65b3babe, block-in and edge masks are create up-front. Only
retrieve the cached edge-mask here.
Commit: a4558a4a53eda8d170bbd2c358d383bb0a13f91f
https://github.com/llvm/llvm-project/commit/a4558a4a53eda8d170bbd2c358d383bb0a13f91f
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/test/CodeGen/PowerPC/rldimi.ll
Log Message:
-----------
[PowerPC] Implement 32-bit expansion for rldimi (#86783)
rldimi is 64-bit instruction, due to backward compatibility, it needs to
be expanded into series of rotate and masking in 32-bit environment. In
the future, we may improve bit permutation selector and remove such
direct codegen.
Commit: db080605124db107e4f58cd285941a0c498675b1
https://github.com/llvm/llvm-project/commit/db080605124db107e4f58cd285941a0c498675b1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: 4ae33c52f794dbd64924dd006570cdc409c297bc
https://github.com/llvm/llvm-project/commit/4ae33c52f794dbd64924dd006570cdc409c297bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
Fix MSVC "switch statement contains 'default' but no 'case' labels" warning. NFC.
Commit: 24e8c6a09b7d226dbe706aeae7aebf479a1e5087
https://github.com/llvm/llvm-project/commit/24e8c6a09b7d226dbe706aeae7aebf479a1e5087
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
Log Message:
-----------
[RISCV] Convert remaining constant splats in tests to use splat shorthand. NFC (#88099)
This follows on from #87616, but includes the tests with codegen
differences. These are presumably due to the fact that the splat is now
a constant expression. They don't seem to affect anything that we were
specifically testing for.
Commit: 45aec9a0b54e6d87abf75e960c96f59408edc706
https://github.com/llvm/llvm-project/commit/45aec9a0b54e6d87abf75e960c96f59408edc706
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[NFC] [Serialization] Remove redundant hasPendingBody member
The hasPendingBody member is redundant with the
PendingBodies.count(Decl*) method. This patch removes the redundant
hasPendingBody member and the corresponding InterestingDecl struct.
Commit: 0bbe953aa3289a32cd816647820c8676bb3a61bc
https://github.com/llvm/llvm-project/commit/0bbe953aa3289a32cd816647820c8676bb3a61bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] Fold extract_subvector(cvtps2dq(x),c) -> cvtps2dq(extract_subvector(x,c))
Help unblock #83402
Commit: c83698367125703827f1b739393f006c399cb213
https://github.com/llvm/llvm-project/commit/c83698367125703827f1b739393f006c399cb213
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 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/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
A llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Remove unused first mask op from VPBlendRecipe. (#87770)
VPBlendRecipe does not use the first mask operand. Removing it allows
VPlan-based DCE to remove unused mask computations.
This also fixes #87410, where unused Not VPInstructions are considered
having only their first lane demanded, but some of their operands
providing a vector value due to other users.
Fixes https://github.com/llvm/llvm-project/issues/87410
PR: https://github.com/llvm/llvm-project/pull/87770
Commit: 321f8312b98620131ebb3b71fe15c0d6b2267488
https://github.com/llvm/llvm-project/commit/321f8312b98620131ebb3b71fe15c0d6b2267488
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
A clang/test/AST/Interp/weak.cpp
Log Message:
-----------
[clang][Interp] Diagnose comparisons with weak pointers
Commit: 5d7d6ad663f80fbc6161da1175476bb663301c46
https://github.com/llvm/llvm-project/commit/5d7d6ad663f80fbc6161da1175476bb663301c46
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
Log Message:
-----------
[clang][Interp] Add toAPValue unittests
Commit: 8795822f6ae2e82e23f7fd87a84d6d273e6c04ac
https://github.com/llvm/llvm-project/commit/8795822f6ae2e82e23f7fd87a84d6d273e6c04ac
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor SVE unpredicated binop isel patterns. (#84045)
Create PatFrags for fadd, fmul, fsub, mul, smulh and umulh so that a
single set of patterns can be used. Patch then removes unused classes
and some redundant whitespace.
Commit: 040e0d4fa45f3606fb584c2923dd111cca675feb
https://github.com/llvm/llvm-project/commit/040e0d4fa45f3606fb584c2923dd111cca675feb
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang]Accept directive inside type definition (#87804)
Some applications have alignment directives for members inside types.
This allows those to be present, but generally getting ignored [with a warning]
later on in the processing. This is just to allow the compilation to complete.
Commit: bf0b21aa685264c65a2d7fd4a8b86e3c42dfd729
https://github.com/llvm/llvm-project/commit/bf0b21aa685264c65a2d7fd4a8b86e3c42dfd729
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/unittests/Format/FormatTestTableGen.cpp
Log Message:
-----------
[clang-format] Remove trailing newlines in TableGen formatting test. (#87983)
Commit: 4023329bbfab5f2abc5c035aad05820724a484cf
https://github.com/llvm/llvm-project/commit/4023329bbfab5f2abc5c035aad05820724a484cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] collectConcatOps - add ability to recurse through insert_subvector chains
Allows us to match insert_subvector(insert_subvector(undef, insert_subvector(insert_subvector(undef, x, 0), y, 1), 0), 0),
insert_subvector(insert_subvector(undef, z, 0), w, 1), 2)
Commit: 866a1bc814b4d4cb9aa3890eae56ffa05431741d
https://github.com/llvm/llvm-project/commit/866a1bc814b4d4cb9aa3890eae56ffa05431741d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
Log Message:
-----------
[X86] Add test coverage for #88030
Commit: 4657ab1c968e486e9f45329daa07340ebcf3bffd
https://github.com/llvm/llvm-project/commit/4657ab1c968e486e9f45329daa07340ebcf3bffd
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541)
This patch fixes a crash that happens when '`this`' is referenced
(implicitly or explicitly) in a dependent class scope function template
specialization that instantiates to a static member function. For
example:
```
template<typename T>
struct A
{
template<typename U>
static void f();
template<>
void f<int>()
{
this; // causes crash during instantiation
}
};
template struct A<int>;
```
This happens because during instantiation of the function body,
`Sema::getCurrentThisType` will return a null `QualType` which we
rebuild the `CXXThisExpr` with. A similar problem exists for implicit
class member access expressions in such contexts (which shouldn't really
happen within templates anyways per [class.mfct.non.static]
p2, but changing that is non-trivial). This patch fixes the crash by building
`UnresolvedLookupExpr`s instead of `MemberExpr`s for these implicit
member accesses, which will then be correctly rebuilt as `MemberExpr`s
during instantiation.
Commit: 6528f103663af2f08474c16a1bb9ca0f1c2ad31d
https://github.com/llvm/llvm-project/commit/6528f103663af2f08474c16a1bb9ca0f1c2ad31d
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Group clause operands into structures and use them to define simplified op builders (#86797)
This patch introduces a set of composable structures grouping the MLIR
operands associated to each OpenMP clause. This makes it easier to keep
the MLIR representation for the same clause consistent throughout all
operations that accept it.
The relevant clause operand structures are grouped into per-operation
structures using a mixin pattern and used to define new operation
constructors. These constructors can be used to avoid having to get the
order of a possibly large list of operands right.
Missing clauses are documented as TODOs, as well as operands which are
part of the relevant operation's operand structure but cannot be
attached to the associated operation yet, due to missing op arguments to
its MLIR definition.
A follow-up patch will update Flang lowering to make use of these
structures, simplifying the passing of information from clause
processing to operation-generating functions and also simplifying the
creation of operations through the use of the new operation
constructors.
Commit: a4cf479cdf08093b69177dd9adf32eebf3632dc3
https://github.com/llvm/llvm-project/commit/a4cf479cdf08093b69177dd9adf32eebf3632dc3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
Log Message:
-----------
[X86] shuffle-vs-trunc-128.ll - add BWVL-ONLY/VBMI/VBMI-FAST/VBMI-SLOW check prefixes to recover missing test checks
It is VERY annoying that update_llc_test_checks.py silently fails instead of correctly warning when this happens :(
Commit: 38824f285f1459cb890337d2df1a3cafd3fd109d
https://github.com/llvm/llvm-project/commit/38824f285f1459cb890337d2df1a3cafd3fd109d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] [Sema] Fix dependence of DREs in lambdas with an explicit object parameter (#84473)
This fixes some problems wrt dependence of captures in lambdas with
an explicit object parameter.
[temp.dep.expr] states that
> An id-expression is type-dependent if [...] its terminal name is
> - associated by name lookup with an entity captured by copy
> ([expr.prim.lambda.capture]) in a lambda-expression that has
> an explicit object parameter whose type is dependent [dcl.fct].
There were several issues with our implementation of this:
1. we were treating by-reference captures as dependent rather than
by-value captures;
2. tree transform wasn't checking whether referring to such a
by-value capture should make a DRE dependent;
3. when checking whether a DRE refers to such a by-value capture, we
were only looking at the immediately enclosing lambda, and not
at any parent lambdas;
4. we also forgot to check for implicit by-value captures;
5. lastly, we were attempting to determine whether a lambda has an
explicit object parameter by checking the `LambdaScopeInfo`'s
`ExplicitObjectParameter`, but it seems that that simply wasn't
set (yet) by the time we got to the check.
All of these should be fixed now.
This fixes #70604, #79754, #84163, #84425, #86054, #86398, and #86399.
Commit: 961d91abd375100a498807a5a0da8003a2878284
https://github.com/llvm/llvm-project/commit/961d91abd375100a498807a5a0da8003a2878284
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
Log Message:
-----------
[X86] shuffle-vs-trunc-128.ll - add common AVX2 check prefix
Commit: 6f6336858e4588ebd113ebcc930f6384a4edca54
https://github.com/llvm/llvm-project/commit/6f6336858e4588ebd113ebcc930f6384a4edca54
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Add DebugNameTableKind to DICompileUnit (#87974)
Add the DebugNameTableKind field to DICompileUnit, along with its
importer & exporter.
Commit: 1e44d9ac5e9d1ff8baa99fd5495477f3f2f1abe6
https://github.com/llvm/llvm-project/commit/1e44d9ac5e9d1ff8baa99fd5495477f3f2f1abe6
Author: Natalie Chouinard <sudonatalie at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
Log Message:
-----------
[SPIR-V] Map llvm.{min,max}num to GL::N{Min,Max} (#88009)
SPIR-V intsruction selection was mapping the LLVM float min/max
intrinsics to FMin and FMax respectively for GL/Vulkan environments,
which does not match the intrinsics' documented treatment of NaN
operands. This patch switches the mapping to the correctly matched NMin
and NMax operations.
Fixes #87072
Commit: 0c92f8646a765174b68797ad3c0842215c77752f
https://github.com/llvm/llvm-project/commit/0c92f8646a765174b68797ad3c0842215c77752f
Author: Charalampos Mitrodimas <charmitro at posteo.net>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
Log Message:
-----------
[clang] Disable missing definition warning on pure virtual functions (#74510)
Warning '-Wundefined-func-template' incorrectly indicates that no
definition is available for a pure virtual function. However, a
definition is not needed for a pure virtual function.
Fixes #74016
Commit: d022f6b8ff94bb13d12d39f23a3c3e7836e90756
https://github.com/llvm/llvm-project/commit/d022f6b8ff94bb13d12d39f23a3c3e7836e90756
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[Libomp] Place generated OpenMP headers into build resource directory (#88007)
Summary:
These headers are a part of the compiler's resource directory once
installed. However, they are currently placed in the binary directory
temporarily. This makes it more difficult to use the compiler out of the
build directory and will cause issues when moving to `liboffload`. This
patch changes the logic to write these instead to the copmiler's
resource directory inside of the build tree.
NOTE: This doesn't change the Fortran headers, I don't know enough about
those and it won't use the same directory.
Commit: 2875e2448c147d8a2335882819acdd4c8eb97ea6
https://github.com/llvm/llvm-project/commit/2875e2448c147d8a2335882819acdd4c8eb97ea6
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Update __cpp_concepts macro (#87998)
After discussion with a few others, and seeing the state of our concepts
support, I believe it is worth trying to see if we can update this for
Clang19. The forcing function is that libstdc++'s `<expected>` header is
guarded by this macro, so we need to update it to support that.
Commit: 3f71d29e2370912ccc0384adce640c554561edd2
https://github.com/llvm/llvm-project/commit/3f71d29e2370912ccc0384adce640c554561edd2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/ms.cpp
Log Message:
-----------
[clang][Interp] Handle __unaligned in alignof expressions
Commit: 23b058cb7f2da7778eb66dbe44d5e60390264e4b
https://github.com/llvm/llvm-project/commit/23b058cb7f2da7778eb66dbe44d5e60390264e4b
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
A llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
Log Message:
-----------
[SPIR-V] Re-implement switch and improve validation of forward calls (#87823)
This PR fixes issue https://github.com/llvm/llvm-project/issues/87763
and preserves valid CFG in cases when previous scheme failed to generate
valid code for a switch statement. The PR hardens one existing test case
and adds one more test case as a validation of a new switch generation.
Tests are passing spirv-val now.
This PR also improves validation of forward calls.
Commit: e47fd09f8eece712707f9611992cf6cfcd66605e
https://github.com/llvm/llvm-project/commit/e47fd09f8eece712707f9611992cf6cfcd66605e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
Log Message:
-----------
[RISCV] Use shNadd for scalable stack offsets (#88062)
If we need to multiply VLENB by 2, 4, or 8 and add it to the stack
pointer, we can do so with a shNadd instead of separate shift and add
instructions.
Commit: 5278594d7ef8c6814578f2f600016fef5ad058c9
https://github.com/llvm/llvm-project/commit/5278594d7ef8c6814578f2f600016fef5ad058c9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Misc/warning-flags.c
A clang/test/Sema/tentative-array-decl.c
Log Message:
-----------
Add a diagnostic group for tentative array definitions
This diagnostic is one of the ones that GCC also does not have a
warning group for, but a user requested adding a group to control
selectively turning off this diagnostic. So this adds the diagnostic
to a new group, -Wtentative-definition-array
Fixes #87766
Commit: 3bfd5c64240c1a812c596dd2bcd480b7607155de
https://github.com/llvm/llvm-project/commit/3bfd5c64240c1a812c596dd2bcd480b7607155de
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
Log Message:
-----------
[TTI] getCommonMaskedMemoryOpCost - consistently use getScalarizationOverhead instead of ExtractElement costs for address/mask extraction. (#87771)
These aren't unknown extraction indices, we will be extracting every address/mask element in sequence.
Commit: c8917048e3aa2be03b6588b817730abdbce23c85
https://github.com/llvm/llvm-project/commit/c8917048e3aa2be03b6588b817730abdbce23c85
Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/__functional/bind_back.h
M libcxx/include/functional
M libcxx/include/version
M libcxx/modules/std/functional.inc
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement `bind_back` (#81055)
Implement `std::bind_back` function from P2387R3 "Pipe support for
user-defined range adaptors".
Commit: fb8dbd1fb67ef4d1417f279df7f9a99b29468527
https://github.com/llvm/llvm-project/commit/fb8dbd1fb67ef4d1417f279df7f9a99b29468527
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
Log Message:
-----------
[AArch64] Remove copy in SVE/SME predicate spill and fill (#81716)
7dc20ab introduced an extra COPY when spilling and filling a PNR
register, which can't be elided as the input (PNR predicate) and output
(PPR predicate) register classes differ. The patch adds a new register
class that covers both PPR and PNR so that STR_PXI and LDR_PXI can
take either of them, removing the need for the copy.
Commit: 93f0880869419ffa3c7bb66b178f2453ea9d2bed
https://github.com/llvm/llvm-project/commit/93f0880869419ffa3c7bb66b178f2453ea9d2bed
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel][clang] Remove gen-clang-*-left-list attributes from tablegen
For both 9391ff8c86007562d40c240ea082b7c0cbf35947 and a30662fc2acdd73ca1a9217716299a4676999fb4.
Commit: 568ec1340c1260c36a490d10c38366ed00f63209
https://github.com/llvm/llvm-project/commit/568ec1340c1260c36a490d10c38366ed00f63209
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
Log Message:
-----------
[memprof] Use structured binding (NFC) (#88096)
Commit: e280407a4865542c4bb6cfa148edbe1ea67023d6
https://github.com/llvm/llvm-project/commit/e280407a4865542c4bb6cfa148edbe1ea67023d6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__expected/bad_expected_access.h
A libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
R libcxx/test/std/utilities/expected/expected.bad/what.noexcept.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
Log Message:
-----------
[libc++] Add test coverage for our implementation of LWG4031 (#87508)
This was actually already implemented in the initial version of
std::expected, but this patch adds test coverage and makes it more
explicit that we intend to make these functions noexcept.
Commit: 4ac2721e51131b3a160fee5ae0fcbd695d090e86
https://github.com/llvm/llvm-project/commit/4ac2721e51131b3a160fee5ae0fcbd695d090e86
Author: David Green <david.green at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] Add costs for ST3 and ST4 instructions, modelled as store(shuffle). (#87934)
This tries to add some costs for the shuffle in a ST3/ST4 instruction,
which are represented in LLVM IR as store(interleaving shuffle). In
order to detect the store, it needs to add a CxtI context instruction to
check the users of the shuffle. LD3 and LD4 are added, LD2 should be a
zip1 shuffle, which will be added in another patch.
It should help fix some of the regressions from #87510.
Commit: e8e67957fa48fd7611adccef1a0449b83649c9f4
https://github.com/llvm/llvm-project/commit/e8e67957fa48fd7611adccef1a0449b83649c9f4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-vecop-vectorized.ll
Log Message:
-----------
[SLP]Fix PR88123: use vectorized operands consistently.
Need to use vectorized operands, not the vecop of the extractelement
instructions, to avoid false detection of the extra vector operand in
the extractelements shuffling.
Commit: 8a8ab8f70cbb5507d1aa55efcd9c6e61ad4e891c
https://github.com/llvm/llvm-project/commit/8a8ab8f70cbb5507d1aa55efcd9c6e61ad4e891c
Author: Schuyler Eldridge <schuyler.eldridge at sifive.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M .github/workflows/release-lit.yml
Log Message:
-----------
[lit][ci] Publish lit wheels (#88072)
Add wheel publishing in addition to existing source distribution
publishing of lit.
Fixes #63369. This also uses the exact fix proposed by @EFord36 in
#63369.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge at sifive.com>
Commit: 4bb5d48584818646a31a1ba4bfbbd658b7dfbe67
https://github.com/llvm/llvm-project/commit/4bb5d48584818646a31a1ba4bfbbd658b7dfbe67
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/Driver/cuda-external-tools.cu
Log Message:
-----------
[clang][NFC] Fix CUDA clang-cl tests
- Add '--' argument to prevent interpreting intput files as options
starting with '/'. Fix test failure after
2921a0928c71f4ee652a2478283e47ab5ffebf58.
Commit: 614a5780347ff0c8f82b8867660ea7fb4d9fdccb
https://github.com/llvm/llvm-project/commit/614a5780347ff0c8f82b8867660ea7fb4d9fdccb
Author: Peter Lafreniere <peter at n8pjl.ca>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrArithmetic.td
A llvm/test/CodeGen/M68k/Arith/unary.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/MC/Disassembler/M68k/arithmetic.txt
A llvm/test/MC/M68k/Arith/Classes/MxNOT.s
Log Message:
-----------
[M68k] Add support for bitwise NOT instruction (#88049)
Currently the bitwise NOT instruction is not recognized. Add support for
using NOT on data registers. This is a partial implementation that puts
NOT at the same level of support as NEG currently enjoys.
Using not rather than eori cuts the length of the encoded instruction
in half or in thirds, leading to a reduction of 4-10 cycles per
instruction, on the original 68000.
This change includes tests for both bitwise and arithmetic negation.
Commit: 71ffc1f0ea1c64d475d9248ea7c68dfec16ee1ab
https://github.com/llvm/llvm-project/commit/71ffc1f0ea1c64d475d9248ea7c68dfec16ee1ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
Log Message:
-----------
[libc] Initialize rand for fma tests (#88055)
Summary:
The GPU build will have some random garbage here since we do not support
initializers for the underlying implementation. Manually set the seed to
1.
Commit: f0e79d9152b04845e60fc97ca6a4e7760202afbb
https://github.com/llvm/llvm-project/commit/f0e79d9152b04845e60fc97ca6a4e7760202afbb
Author: David Green <david.green at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Add a cost for identity shuffles.
These are mostly handled at a higher level when costing shuffles, but some
masks can end up being identity or concat masks which we can treat as free.
Commit: 3009228a09dbfe04e0911fc19813ec72d389bc45
https://github.com/llvm/llvm-project/commit/3009228a09dbfe04e0911fc19813ec72d389bc45
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
Log Message:
-----------
[clang][UBSan] Remove rigid metadata checks for `ubsan-bitfield-conversion` (#88116)
Follow-up to discussion: https://github.com/llvm/llvm-project/pull/87761
As discussed after landing the original PR:
Since fails could happen w.r.t. checking `!6`, these checks should be
removed.
Commit: 5601e35f620eccdebab988bed4b9677b29366b79
https://github.com/llvm/llvm-project/commit/5601e35f620eccdebab988bed4b9677b29366b79
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/memprof/tests/CMakeLists.txt
Log Message:
-----------
[memprof] Use COMPILER_RT_TEST_COMPILER
Unlike the other compiler-rt unit tests MemProf was not using the
`generate_compiler_rt_tests()` helper that ensures the test is compiled
using the test compiler (generally the Clang binary built earlier).
This was exposed by https://github.com/llvm/llvm-project/pull/83088
because it started adding Clang-specific flags to
COMPILER_RT_UNITTEST_CFLAGS if the compiler ID matched "Clang".
This change should fix the buildbots that compile compiler-rt using
a GCC compiler with LLVM_ENABLE_PROJECTS=compiler-rt.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/88074
Commit: 528943f1535b925ce175afb2438cec79513cfc2b
https://github.com/llvm/llvm-project/commit/528943f1535b925ce175afb2438cec79513cfc2b
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
A llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
Log Message:
-----------
[AArch64][SME] Allow memory operations lowering to custom SME functions. (#79263)
This change allows to lower memcpy, memset, memmove to custom SME
version provided by LibRT.
Commit: bab0507ff2679d2bbfa34921eeed4ff1cadbe7e2
https://github.com/llvm/llvm-project/commit/bab0507ff2679d2bbfa34921eeed4ff1cadbe7e2
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[scudo] Add EnableContiguousRegions mode (#85149)
This releases the requirement that we need to preserve the memory for
all regions at the beginning. It needs a huge amount of contiguous pages
and which may be a challenge in certain cases. Therefore, adding a new
flag, EnableContiguousRegions, to indicate whether we want to allocate
all the regions next to each other.
Note that once the EnableContiguousRegions is disabled,
EnableRandomOffset becomes irrelevant because the base of each region is
already random.
Commit: b1a278dd874d6135780fc824c6aa263c52d7aadd
https://github.com/llvm/llvm-project/commit/b1a278dd874d6135780fc824c6aa263c52d7aadd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Allocatable.cpp
Log Message:
-----------
[flang][cuda] Add a proper TODO for allocate statement for cuda var (#88034)
Allocate statement for variable with CUDA attributes need to allocate
memory on the device and not the host. Add a proper TODO so we keep
track of work to be done for it.
Commit: 9e418c94cd1393408d201f215be8631d1f41e857
https://github.com/llvm/llvm-project/commit/9e418c94cd1393408d201f215be8631d1f41e857
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[ADT] Use `adl_*` wrappers across STLExtras (#87936)
Update the remaining uses of `std::begin`/`end` functions to
`adl_beging`/`end`. This is to make the behavior all the utility
functions consistent, rather than trying to fix a specific usecase.
Commit: 49561181bdc8698aa28ee2a46d2faa4cf6767bbe
https://github.com/llvm/llvm-project/commit/49561181bdc8698aa28ee2a46d2faa4cf6767bbe
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/fesetexceptflag.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/RIntTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc] Add proxy header for fenv.h macro constants. #87863 (#87896)
Hello, this addresses #87863.
Commit: 8d6469b0e02c4c7bd1d496972c63ed3e2de0e077
https://github.com/llvm/llvm-project/commit/8d6469b0e02c4c7bd1d496972c63ed3e2de0e077
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
A mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
Log Message:
-----------
[mlir][vector] Add lower-vector-multi-reduction pass (#87333)
This MR adds the `lower-vector-multi-reduction` pass to lower the
vector.multi_reduction operation.
While the Transform Dialect includes an operation,
`transform.apply_patterns.vector.lower_multi_reduction`, intended for a
similar purpose, its utility is limited to projects that have adopted
the Transform Dialect. Recognizing that not all projects are equipped to
integrate this dialect, the proposed pass serves as a vital standalone
alternative. It ensures that projects solely dependent on the
traditional pass infrastructure can also benefit from the optimized
lowering of `multi_reduction` operation.
---------
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: 1381645ab675d1edcc0eaa0b72729b9f3f02a82d
https://github.com/llvm/llvm-project/commit/1381645ab675d1edcc0eaa0b72729b9f3f02a82d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
Log Message:
-----------
[libc++][format] adds a basic fuzzer test. (#87883)
This adds an initial fuzzer. Different formatting arguments will execute
different code paths. This will be tested by different fuzzer tests.
The code is based on a sample provided by Louis.
Commit: eea3bd3954e3a38ae0997f1af558b9deea301c3a
https://github.com/llvm/llvm-project/commit/eea3bd3954e3a38ae0997f1af558b9deea301c3a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/src/tzdb.cpp
Log Message:
-----------
[libc++][TZDB] Fixes relative path resolving. (#87882)
The path /etc/localtime is a symlink. This symlink can be a relative
path. This fixes resolving a relative symlink.
Since the path used is hard-coded based on the user's system there is no
good way to test this.
Fixes: https://github.com/llvm/llvm-project/issues/87872
Commit: cf6feff56b06b9110095ba6e20c609c9d1dfcfd3
https://github.com/llvm/llvm-project/commit/cf6feff56b06b9110095ba6e20c609c9d1dfcfd3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/src/random.cpp
Log Message:
-----------
[libc++] Avoids using ENODATA. (#86165)
This macro is deprecated in C++26.
Fixes https://github.com/llvm/llvm-project/issues/81360
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 59e66c515a475bc53db011f3ccca0d2831314443
https://github.com/llvm/llvm-project/commit/59e66c515a475bc53db011f3ccca0d2831314443
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/escaped_output_table.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
M libcxx/utils/CMakeLists.txt
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
A libcxx/utils/generate_indic_conjunct_break_table.py
Log Message:
-----------
[libc++][format] Switches to Unicode 15.1. (#86543)
In addition to changes in the tables the extended grapheme clustering
algorithm has been overhauled. Before I considered a separate state
machine to implement the rules. With the new rule GB9c this became more
attractive and the design has changed.
This change initially had quite an impact on the performance. By making
the state machine persistent the performance was improved greatly. Note
it is still slower than before due to the larger Unicode tables.
Before
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1891 ns 1889 ns 369504
BM_unicode_text<char> 106642 ns 106397 ns 6576
BM_cyrillic_text<char> 73420 ns 73277 ns 9445
BM_japanese_text<char> 62485 ns 62387 ns 11153
BM_emoji_text<char> 1895 ns 1893 ns 369525
BM_ascii_text<wchar_t> 2015 ns 2013 ns 346887
BM_unicode_text<wchar_t> 92119 ns 92017 ns 7598
BM_cyrillic_text<wchar_t> 62637 ns 62568 ns 11117
BM_japanese_text<wchar_t> 53850 ns 53785 ns 12803
BM_emoji_text<wchar_t> 2016 ns 2014 ns 347325
After
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1906 ns 1904 ns 369409
BM_unicode_text<char> 265462 ns 265175 ns 2628
BM_cyrillic_text<char> 181063 ns 180865 ns 3871
BM_japanese_text<char> 130927 ns 130789 ns 5324
BM_emoji_text<char> 1892 ns 1890 ns 370537
BM_ascii_text<wchar_t> 2038 ns 2035 ns 343689
BM_unicode_text<wchar_t> 277603 ns 277282 ns 2526
BM_cyrillic_text<wchar_t> 188558 ns 188339 ns 3727
BM_japanese_text<wchar_t> 133084 ns 132943 ns 5262
BM_emoji_text<wchar_t> 2012 ns 2010 ns 348015
Persistent
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1904 ns 1899 ns 367472
BM_unicode_text<char> 133609 ns 133287 ns 5246
BM_cyrillic_text<char> 90185 ns 89941 ns 7796
BM_japanese_text<char> 75137 ns 74946 ns 9316
BM_emoji_text<char> 1906 ns 1901 ns 368081
BM_ascii_text<wchar_t> 2703 ns 2696 ns 259153
BM_unicode_text<wchar_t> 131497 ns 131168 ns 5341
BM_cyrillic_text<wchar_t> 87071 ns 86840 ns 8076
BM_japanese_text<wchar_t> 72279 ns 72099 ns 9682
BM_emoji_text<wchar_t> 2021 ns 2016 ns 346767
Commit: ca705681dff4d7b28fad84b8e6846e0463a8860d
https://github.com/llvm/llvm-project/commit/ca705681dff4d7b28fad84b8e6846e0463a8860d
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
Revert "[ADT] Use `adl_*` wrappers across STLExtras" (#88158)
Reverts llvm/llvm-project#87936
Seems like this broke some clang designated initializers tests,
reverting.
Commit: 60c5c4ccadfb333335649103a71dbddc953f4ff3
https://github.com/llvm/llvm-project/commit/60c5c4ccadfb333335649103a71dbddc953f4ff3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[MLIR] Don't check for key before inserting in map in GreedyPatternRewriteDriver worklist (NFC) (#88148)
This is a common anti-pattern (any volunteer for a clang-tidy check?).
This does not show real word significant impact though.
Commit: 4dfc55f7e77821c87d35e1e888fecb8cfb854f7e
https://github.com/llvm/llvm-project/commit/4dfc55f7e77821c87d35e1e888fecb8cfb854f7e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP][NFC]Add a test for PR88103, where zext is incoming to signed comparison.
Commit: 910d2de357de8a490cac3ecbd27196356fe1f2a3
https://github.com/llvm/llvm-project/commit/910d2de357de8a490cac3ecbd27196356fe1f2a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP]Fix PR88103: consider the sign of the compare for non-negative operands.
Need to improve detection of number of bits, required for the operand,
before doing a reduction. If the instruction is incoming operand of the
signed compare, need to consider adding an extra bit for signedness.
Commit: f48895a8be517be058153385438ad64fa09d4883
https://github.com/llvm/llvm-project/commit/f48895a8be517be058153385438ad64fa09d4883
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A clang/test/C/C11/n1514.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Claim conformance to WG14 N1514
This paper made Annex G a normative, but conditionally supported,
annex. Clang does not implement Annex G, so we conform to this paper.
Commit: a454d92c5ac906d391b683661ac3d9a362ab0107
https://github.com/llvm/llvm-project/commit/a454d92c5ac906d391b683661ac3d9a362ab0107
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
Log Message:
-----------
[mlir][sparse] rename files and unifies APIs (#88162)
Commit: d3016aa889ac12fd8a047d68fed2ddaca107b990
https://github.com/llvm/llvm-project/commit/d3016aa889ac12fd8a047d68fed2ddaca107b990
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[DWARF] Refactor .debug_names bucket count computation (#88087)
`getDebugNamesBucketAndHashCount` lures users to provide an array to
compute the bucket count using an O(n log n) sort. This is inefficient
as hash table based uniquifying is faster.
The performance issue matters less for Clang as the number of names is
relatively small. For `ld.lld --debug-names`, I plan to compute the
unique hash count as a side product of parallel entry pool computation,
and I just need a function to suggest a bucket count.
Commit: 5d9d740c39a6cf21f0d54ec572aed3c2f556cbcb
https://github.com/llvm/llvm-project/commit/5d9d740c39a6cf21f0d54ec572aed3c2f556cbcb
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
R llvm/include/llvm/Analysis/Interval.h
R llvm/include/llvm/Analysis/IntervalIterator.h
R llvm/include/llvm/Analysis/IntervalPartition.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/Interval.cpp
R llvm/lib/Analysis/IntervalPartition.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Log Message:
-----------
Remove the unused IntervalPartition analysis pass (#88133)
This removes the old legacy PM "intervals" analysis pass (aka
IntervalPartition). It also removes the associated Interval and
IntervalIterator help classes.
Reasons for removal:
1) The pass is not used by llvm-project (not even being tested by
any regression tests).
2) Pass has not been ported to new pass manager, which at least
indicates that it isn't used by the middle-end.
3) ASan reports heap-use-after-free on
++I; // After the first one...
even if false is passed to intervals_begin. Not sure if that is
a false positive, but it makes the code a bit less trustworthy.
Commit: 759bab068157d93a71ef20dc28a2eaed4fec6d40
https://github.com/llvm/llvm-project/commit/759bab068157d93a71ef20dc28a2eaed4fec6d40
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp eq/ne (add nuw x, y), 0)`; NFC
Commit: 7599d478efb1576b5013d17a70971f76d6f7c25a
https://github.com/llvm/llvm-project/commit/7599d478efb1576b5013d17a70971f76d6f7c25a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Fold `(icmp eq/ne (add nuw x, y), 0)` -> `(icmp eq/ne (or x, y), 0)`
`(icmp eq/ne (or x, y), 0)` is probably easier to analyze than `(icmp
eq/ne x, -y)`
Proof: https://alive2.llvm.org/ce/z/2-VTb6
Closes #88088
Commit: e248f0df14e407b8ae98cd31fb2e77fc058f3c7e
https://github.com/llvm/llvm-project/commit/e248f0df14e407b8ae98cd31fb2e77fc058f3c7e
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[Flang] Update Extensions.md for supported BIND(C) LOGICAL kind. (#88159)
Flang also supports non-scalar logical dummy argument with a different
KIND from C_BOOL to a bind(c) routine as well as a component in a
bind(c) derived type. Update the document.
```
subroutine sub(arg)
logical(4) :: arg(4)
end
```
```
type dt
logical(4) :: comp
end type
end
```
Commit: 9797a7ea6bf84b48f267c781be209951d62bc6c9
https://github.com/llvm/llvm-project/commit/9797a7ea6bf84b48f267c781be209951d62bc6c9
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Refactor findDebugNamesOffsets
Address some post-review comments in #82153 and move the function inside
llvm::dwarf, used by certain free functions.
Pull Request: https://github.com/llvm/llvm-project/pull/88064
Commit: 9d9560facb5597e0232ab15716a7915a33d4f0a6
https://github.com/llvm/llvm-project/commit/9d9560facb5597e0232ab15716a7915a33d4f0a6
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang] [OpenMP] [Semantics] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive. (#74187)
Added lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses for
OMP TARGET directive and added related tests for these changes.
IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses apply to OMP TARGET directive
OpenMP spec states
`The **is_device_ptr** clause indicates that its list items are device
pointers.`
`The **has_device_addr** clause indicates that its list items already
have device addresses and therefore they may be directly accessed from a
target device.`
Whereas USE_DEVICE_PTR and USE_DEVICE_ADDR clauses apply to OMP TARGET
DATA directive and OpenMP spec for them states
`Each list item in the **use_device_ptr** clause results in a new list
item that is a device pointer that refers to a device address`
`Each list item in a **use_device_addr** clause that is present in the
device data environment is treated as if it is implicitly mapped by a
map clause on the construct with a map-type of alloc`
Commit: aacb8985f734e7e11fc94947f7bc348d1d39f7af
https://github.com/llvm/llvm-project/commit/aacb8985f734e7e11fc94947f7bc348d1d39f7af
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[orc] Reduce memory usage from empty materialization info DenseMaps (#88167)
Saves several MB of memory in larger applications after linking finishes
by clearing DenseMap storage that is empty. This does not attempt to
shrink partially full materialization infos. The assumption is that
adding more after linking finishes is rare.
rdar://126145336
Commit: 4bc4c7baed1a4ef13a0964fbf97f4dc1560de592
https://github.com/llvm/llvm-project/commit/4bc4c7baed1a4ef13a0964fbf97f4dc1560de592
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
Log Message:
-----------
[NFC] Change name of two helper functions to match naming conventions
Brought up in #88135, I inadvertently mis-named these functions, so
correcting them here.
Commit: 63934821d56f4d366f61048ed6060978bbde1bc6
https://github.com/llvm/llvm-project/commit/63934821d56f4d366f61048ed6060978bbde1bc6
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/tools/scan-build/libexec/ccc-analyzer
Log Message:
-----------
[Static Analyzer] Add handling of the `-nostdlibinc` option to ccc-analyzer (#88017)
Compiler options recognizable to ccc-analyzer are stored in maps. An
option missing in the map will be dropped by ccc-analyzer. This causes a
build error in one of our projects that only happens in scan-build but
not regular build, because ccc-analyzer do not recognize `-nostdlibinc`.
This commit adds the option to the map.
rdar://126082053
Commit: fe5dba3c08e31db6b96119787b0836f180aac584
https://github.com/llvm/llvm-project/commit/fe5dba3c08e31db6b96119787b0836f180aac584
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing fenv dep for aarch64
For 49561181bdc8698aa28ee2a46d2faa4cf6767bbe.
Commit: 4ae8694cca1b19425ac8707eacc6959ca9770802
https://github.com/llvm/llvm-project/commit/4ae8694cca1b19425ac8707eacc6959ca9770802
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
gn build: Manually port a30662fc2acd
Commit: 2248164a9ab791a3ed1b9586dc340b5303155021
https://github.com/llvm/llvm-project/commit/2248164a9ab791a3ed1b9586dc340b5303155021
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/modules-extension.c
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
Log Message:
-----------
Revert "[clang] Move state out of `PreprocessorOptions` (1/n) (#86358)"
This reverts commit 407a2f23 which stopped propagating the callback to module compiles, effectively disabling dependency directive scanning for all modular dependencies. Also added a regression test.
Commit: a8ec1eb843c9c999d1c55b7b34cabebeacc533d7
https://github.com/llvm/llvm-project/commit/a8ec1eb843c9c999d1c55b7b34cabebeacc533d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
Log Message:
-----------
[VPlan] Dont assign slots to VPValues with an underlying value.
This makes sure the numbering for VPValues without underlying
values is consecutive.
Commit: e953c862e9b082e16ac3306c36dc8fdfc5f03ee3
https://github.com/llvm/llvm-project/commit/e953c862e9b082e16ac3306c36dc8fdfc5f03ee3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Add UNIFIED data attribute (#88171)
Latest version of the specification introduced the `UNIFIED` attribute
for data.
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/#cfref-var-attr-unified-data
This patch adds the attribute to parsing, semantic and lowering.
The matching rules for dummy/actual arguments is not part of this patch.
Commit: 5b58eb68ed36717971970f35a1192213e3eb4ec5
https://github.com/llvm/llvm-project/commit/5b58eb68ed36717971970f35a1192213e3eb4ec5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-or.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp eq/ne (or disjoint x, C0), C1)`; NFC
Commit: 71ef04d7cd6c0d6133ab11ca4cfceefe506a1acb
https://github.com/llvm/llvm-project/commit/71ef04d7cd6c0d6133ab11ca4cfceefe506a1acb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-or.ll
Log Message:
-----------
[InstCombine] fold `(icmp eq/ne (or disjoint x, C0), C1)` -> `(icmp eq/ne x, C0^C1)`
Proof: https://alive2.llvm.org/ce/z/m3xoo_
Closes #87734
Commit: 470aefb240dee7d791875284b9917bf641ca971a
https://github.com/llvm/llvm-project/commit/470aefb240dee7d791875284b9917bf641ca971a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
Log Message:
-----------
[Offload][NFC] Remove `omp_` prefix from offloading entries (#88071)
Summary:
These entires are generic for offloading with the new driver now. Having
the `omp` prefix was a historical artifact and is confusing when used
for CUDA. This patch just renames them for now, future patches will
rework the binary format to make it more common.
Commit: b79db396599f42d106b930d61e20c9d5146a6866
https://github.com/llvm/llvm-project/commit/b79db396599f42d106b930d61e20c9d5146a6866
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][linalg] Support `ParamType` in `vector_sizes` option of `VectorizeOp` transform (#87557)
Commit: b561fd37266753c645f073b7fabf7a75cf65d2ec
https://github.com/llvm/llvm-project/commit/b561fd37266753c645f073b7fabf7a75cf65d2ec
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/docs/Benchmarking.rst
Log Message:
-----------
[docs] Fix broken link in Benchmarking docs (#88117)
Fixes #58813
Commit: a332cfc986e431de11cdbf632b5769878e0d826b
https://github.com/llvm/llvm-project/commit/a332cfc986e431de11cdbf632b5769878e0d826b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/overlapping-contexts.ll
Log Message:
-----------
[MemProf] Perform cloning for each allocation separately (#87112)
Restructures the cloning slightly to perform all cloning for each
allocation separately. The prior algorithm would sometimes miss cloning
opportunities in cases where trimmed cold contexts partially overlapped
with longer contexts for different allocations.
Most of the change is isolated to the helpers that move edges to new or
existing clones, which now support moving a subset of context ids.
Commit: 4afcfd7498363e42c002ee33a6e925c2d2c7b45e
https://github.com/llvm/llvm-project/commit/4afcfd7498363e42c002ee33a6e925c2d2c7b45e
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lld/ELF/DWARF.h
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Sort DWARF.h sections. NFC
to make it clear whether .debug_names should be added.
And include llvm/ADT/STLFunctionalExtras.h for IWYU.
Commit: eec41d2f8d81b546d7b97648cca6b2d656104bd3
https://github.com/llvm/llvm-project/commit/eec41d2f8d81b546d7b97648cca6b2d656104bd3
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
Revert "[Flang] [OpenMP] [Semantics] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive." (#88198)
Reverts llvm/llvm-project#74187
Commit: f04452de1986e4e01296a80231efb212d6c84c42
https://github.com/llvm/llvm-project/commit/f04452de1986e4e01296a80231efb212d6c84c42
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
Log Message:
-----------
[InstallAPI] Tie lifetime of FE objects to DylibVerifier (#88189)
A few verification checks need to happen until all AST's have been
traversed, specifically for zippered framework checking. To keep source
location until that time valid, hold onto to references of
FrontendRecords + SourceManager.
Commit: 4a04fca9e2f936264bccba58081893c6703de7ec
https://github.com/llvm/llvm-project/commit/4a04fca9e2f936264bccba58081893c6703de7ec
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/asan/asan_thread.cpp
Log Message:
-----------
[compiler-rt][asan] Fix for flaky asan check (#88177)
This fixes https://github.com/llvm/llvm-project/issues/87324.
We haven't been able to come up with a minimal reproducer but we can
reliabely avoid this failure with the following fix. Prior to the
GetGlobalLowLevelAllocator change, the old LowLevelAllocator aquired a
lock associated with it preventing that specific allocator from being
accessed at the same time by many threads. With the
GetGlobalLowLevelAllocator change, I had accidentally replaced it but
not taken into account the lock, so we can have a data race if the
allocator is used at any point while a thread is being created. The
global allocator can be used for flag parsing or registering asan
globals.
Commit: 788be0d9fc6aeca548c90bac5ebe6990dd3c66ec
https://github.com/llvm/llvm-project/commit/788be0d9fc6aeca548c90bac5ebe6990dd3c66ec
Author: Brooks Davis <brooks at one-eyed-alien.net>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/fold-implementation.h
Log Message:
-----------
[flang] fix build on *BSD after 4762c6557d15 (#86204)
The HUGE definition collides with the HUGE macro from math.h. Unlike the
fix in 3149c934cb26 (#84478) (largely reverted in f95710c76519), add
another #undef HUGE since there is no practical way to make FreeBSD's
headers not define HUGE and still define XSI interfaces such as isascii
or strnlen.
Update comments above `#undef HUGE` instances to reflect the fact that
all major BSD versions (I checked DragonFly, FreeBSD, NetBSD, and
OpenBSD) leak the HUGE macro from math.h to various degrees.
Fixes #86038
Commit: 9170e3857521324c096240bf38877e0ffe1a402e
https://github.com/llvm/llvm-project/commit/9170e3857521324c096240bf38877e0ffe1a402e
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/test/Assembler/flags.ll
M llvm/test/Bitcode/flags.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
Log Message:
-----------
Add support for `nneg` flag with `uitofp`
As noted when #82404 was pushed (canonicalizing `sitofp` -> `uitofp`),
different signedness on fp casts can have dramatic performance
implications on different backends.
So, it makes to create a reliable means for the backend to pick its
cast signedness if either are correct.
Further, this allows us to start canonicalizing `sitofp`- > `uitofp`
which may easy middle end analysis.
Closes #86141
Commit: e8a3b72272e3e67e94ee9d7144d3c8292c49e868
https://github.com/llvm/llvm-project/commit/e8a3b72272e3e67e94ee9d7144d3c8292c49e868
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
[msan] Precommit tests.
Precommit tests for overflowing and saturating arithmetic intrinsics.
Commit: 9760872b537ba8e6eee2e68eb81b7d26af5b40e4
https://github.com/llvm/llvm-project/commit/9760872b537ba8e6eee2e68eb81b7d26af5b40e4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing fenv dep for rint test template
For 49561181bdc8698aa28ee2a46d2faa4cf6767bbe.
Commit: 36e25772ddd049c8c742e55fbd2b3c9aaceb7060
https://github.com/llvm/llvm-project/commit/36e25772ddd049c8c742e55fbd2b3c9aaceb7060
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/APINotes/instancetype.m
Log Message:
-----------
clang/test/APINotes/instancetype.m: Clean the cache dir
It has been incompatible since #87761
Commit: 892f01a7437b20f5df3edf53824a53889f733b06
https://github.com/llvm/llvm-project/commit/892f01a7437b20f5df3edf53824a53889f733b06
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Log Message:
-----------
Remove the assertion to unblock breakages (#88035)
as titled.
Commit: ee52add6cb4a6a4ba4beb941c1f2cfa82266e0df
https://github.com/llvm/llvm-project/commit/ee52add6cb4a6a4ba4beb941c1f2cfa82266e0df
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/active_lane_mask.ll
Log Message:
-----------
[RISCV][TTI] Implement cost of intrinsic active_lane_mask (#87931)
This patch uses the argument type to infer the LMUL cost for the index
generation, add, and comparison.
Commit: 44c79da3ae90795ca8b252e8a92910eee9d889c0
https://github.com/llvm/llvm-project/commit/44c79da3ae90795ca8b252e8a92910eee9d889c0
Author: hanbeom <kese111 at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/shl-demand.ll
Log Message:
-----------
[InstCombine] Remove shl if we only demand known signbits of shift source (#79014)
This patch resolve TODO written in commit:
https://github.com/llvm/llvm-project/commit/5909c678831f3a5c1669f6906f777d4ec4532fa1
Proof: https://alive2.llvm.org/ce/z/C3VNoR
Commit: 1aceee7bb6c4423da73f71aff2004493bdf620d1
https://github.com/llvm/llvm-project/commit/1aceee7bb6c4423da73f71aff2004493bdf620d1
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
Remove unused variable (#88223)
fix the CI
Commit: e0219f2d53686135b7363450b44877342a960e71
https://github.com/llvm/llvm-project/commit/e0219f2d53686135b7363450b44877342a960e71
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lldb/cmake/caches/Apple-lldb-Linux.cmake
Log Message:
-----------
[lldb] Overwrite existing LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES
on apple-linux
Commit: 349327f7e73ab7a314ef08c463dd04fcea623150
https://github.com/llvm/llvm-project/commit/349327f7e73ab7a314ef08c463dd04fcea623150
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Headers/intrin.h
Log Message:
-----------
[ARM64EC] Make intrin.h include arm64intrin.h.
Fixes compiling windows.h using clang's intrin.h.
Commit: 4c6ae8ebb69525118e7fc3cf57908e9de74ebef9
https://github.com/llvm/llvm-project/commit/4c6ae8ebb69525118e7fc3cf57908e9de74ebef9
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M polly/lib/Support/GICHelper.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
Log Message:
-----------
[polly] Fix cppcheck SA comments reported in #82263 (#85749)
This patch addresses the (performance )suggestions by checkcpp static
analyzer for couple of files. Here we use const reference for the
suggested function arguments.
Fixes #82263.
Commit: 71097e927141e278dd92e847e67f636526510a31
https://github.com/llvm/llvm-project/commit/71097e927141e278dd92e847e67f636526510a31
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
Log Message:
-----------
[ARM64EC] Add support for parsing __vectorcall (#87725)
MSVC doesn't support generating __vectorcall calls in Arm64EC mode, but
it does treat it as a distinct type. The Microsoft STL depends on this
functionality. (Not sure if this is intentional.) Add support for
parsing the same way as MSVC, and add some checks to ensure we don't try
to actually generate code.
The error handling in CodeGen is ugly, but I can't think of a better way
to do it.
Commit: 000f2b51633d181bf4a5919fc38cf964a83f2091
https://github.com/llvm/llvm-project/commit/000f2b51633d181bf4a5919fc38cf964a83f2091
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/X86/x86_64-arguments.c
Log Message:
-----------
[X86_64] fix arg pass error in struct. (#86902)
```
typedef long long t67 __attribute__((aligned (4)));
struct s67 {
int a;
t67 b;
};
void f67(struct s67 x) {
}
```
When classify:
a: Lo = Integer, Hi = NoClass
b: Lo = Integer, Hi = NoClass
struct S: Lo = Integer, Hi = NoClass
```
define dso_local void @f67(i64 %x.coerce) {
```
In this case, only one i64 register is used when the structure parameter
is transferred, which is obviously incorrect.So we need to treat the
split case specially. fix
https://github.com/llvm/llvm-project/issues/85387.
Commit: 58323de2e5ed0fec81ccfe421488d7fb27ecbe38
https://github.com/llvm/llvm-project/commit/58323de2e5ed0fec81ccfe421488d7fb27ecbe38
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces in macros (#87953)
Also fix unit tests and reformat polly.
Fixes #86550.
Commit: bcf849b1e5faea405cfbbd4bc848048651055b25
https://github.com/llvm/llvm-project/commit/bcf849b1e5faea405cfbbd4bc848048651055b25
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] instanceof is a keyword only in Java/JavaScript (#88085)
Fixes #87907.
Commit: 8dc006ea4008c1af298e56c4db6fffe2a40a2ba9
https://github.com/llvm/llvm-project/commit/8dc006ea4008c1af298e56c4db6fffe2a40a2ba9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISCV] Make EmitToStreamer return whether Inst is compressed
This is helpful to reduce calls of `RISCVRVC::compress` in #77337.
Reviewers: asb, lukel97, topperc
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/88120
Commit: 289a2c380e47d64a1e626259c53fc8c7d6c2be66
https://github.com/llvm/llvm-project/commit/289a2c380e47d64a1e626259c53fc8c7d6c2be66
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] implement ioctl (#85890)
This PR is to work on the issue #85275
Commit: 87e6f87fe7e343eb656e9b49d30cbb065c086651
https://github.com/llvm/llvm-project/commit/87e6f87fe7e343eb656e9b49d30cbb065c086651
Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/raw_socket_stream.h
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
Log Message:
-----------
[llvm][Support] Improvements to ListeningSocket functionality and documentation (#84710)
Improvements include
* Enable `ListeningSocket::accept` to timeout after a specified amount
of time or block indefinitely
* Enable `ListeningSocket::createUnix` to handle instances where the
target socket address already exists and differentiate between
situations where the existing file does and does not already have a
bound socket
* Doxygen comments
Functionality added for the module build daemon
---------
Co-authored-by: Michael Spencer <bigcheesegs at gmail.com>
Commit: 3c2feab7d152b7f161b4adaecef4ec81f038a23e
https://github.com/llvm/llvm-project/commit/3c2feab7d152b7f161b4adaecef4ec81f038a23e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
R libc/src/sys/ioctl/CMakeLists.txt
R libc/src/sys/ioctl/ioctl.h
R libc/src/sys/ioctl/linux/CMakeLists.txt
R libc/src/sys/ioctl/linux/ioctl.cpp
R libc/test/src/sys/ioctl/CMakeLists.txt
R libc/test/src/sys/ioctl/linux/CMakeLists.txt
R libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
Revert "[libc] implement ioctl" (#88226)
Reverts llvm/llvm-project#85890
This fails in full build mode:
https://lab.llvm.org/buildbot/#/builders/163/builds/54478/steps/4/logs/stdio
Commit: 84a5332a68f2b6cb6f48b9483e50d3f821f17119
https://github.com/llvm/llvm-project/commit/84a5332a68f2b6cb6f48b9483e50d3f821f17119
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/uint_to_fp.ll
Log Message:
-----------
[X86] Add tests for `uitofp nneg` -> `sitofp`; NFC
Commit: 70136389788b90c2e6bbaef5ad8bb0285d460068
https://github.com/llvm/llvm-project/commit/70136389788b90c2e6bbaef5ad8bb0285d460068
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[DAG] Add support for `nneg` flag with `uitofp`
Copy `nneg` flag when building `UINT_TO_FP` from `uitofp` and use
`nneg` flag in the one place we transform `UINT_TO_FP` -> `SINT_TO_FP`
if the operand is non-negative.
Commit: 6c40d463c28e7a6843bea9f6d838cd89e586cbe8
https://github.com/llvm/llvm-project/commit/6c40d463c28e7a6843bea9f6d838cd89e586cbe8
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/uint_to_fp.ll
Log Message:
-----------
[X86] Use `nneg` flag when trying to convert `uitofp` -> `sitofp`
Closes #86694
Commit: 817c832e72f0df3efe1ddd804283c8c89b78639f
https://github.com/llvm/llvm-project/commit/817c832e72f0df3efe1ddd804283c8c89b78639f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Improve source location in binary type traits diagnostics (#88097)
This patch takes advantage of a recent NFC change that refactored
`EvaluateBinaryTypeTrait()` to accept `TypeSourceInfo` instead of
`QualType` c7db450e5c1a83ea768765dcdedfd50f3358d418.
Before:
```
test2.cpp:105:55: error: variable length arrays are not supported in '__is_layout_compatible'
105 | static_assert(!__is_layout_compatible(int[n], int[n]));
| ^
test2.cpp:125:76: error: incomplete type 'CStructIncomplete' where a complete type is required
125 | static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete));
| ^
```
After:
```
test2.cpp:105:41: error: variable length arrays are not supported in '__is_layout_compatible'
105 | static_assert(!__is_layout_compatible(int[n], int[n]));
| ^
test2.cpp:125:40: error: incomplete type 'CStructIncomplete' where a complete type is required
125 | static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete));
| ^
```
Commit: b0662a7a7d6d7a4a5339b95d3a20a53390636716
https://github.com/llvm/llvm-project/commit/b0662a7a7d6d7a4a5339b95d3a20a53390636716
Author: Congzhe <congzhe.cao at huawei.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
Log Message:
-----------
[CodeMoverUtils] Enhance CodeMoverUtils to sink an entire BB (#87857)
When moving an entire basic block after `InsertPoint`, currently we
check each instruction whether their users are dominated by
`InsertPoint`, however, this can be improved such that even a user is
not dominated by `InsertPoint`, as long as it appears as a subsequent
instruction in the same BB, it is safe to move.
This patch is similar to commit 751be2a064f119af74c7b9b1e52bc904d8aa114d
that enhanced hoisting an entire BB, and this patch enhances sinking an
entire BB. Please refer to the added functionality in test case
`llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp` that was not
supported without this patch.
Commit: ee284d2da0720dc21191d6f545504cbfcf5dcbcf
https://github.com/llvm/llvm-project/commit/ee284d2da0720dc21191d6f545504cbfcf5dcbcf
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Avoid make<GdbIndexSection>. NFC
Commit: 1fda1776e32b5582bfcfcbd8094f3c280d936cec
https://github.com/llvm/llvm-project/commit/1fda1776e32b5582bfcfcbd8094f3c280d936cec
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][chrono] Adds the sys_info class. (#85619)
Adds the sys_info class and time_zone::get_info(). The code still has a
few quirks and has not been optimized for performance yet.
The returned sys_info is compared against the output of the zdump tool
in the test giving confidence the implementation is correct.
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
Implements:
- LWGXXXX The sys_info range should be affected by save
Commit: c174d8f46546f7e0e861061256a45570f3bdea75
https://github.com/llvm/llvm-project/commit/c174d8f46546f7e0e861061256a45570f3bdea75
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++][CI] Updates Docker LLDB dependencies. (#88174)
In order to test the LLDB data formatters make is required and SWIG
needs to be updated to version 4.
As drive-by, this patch sorts the entries and removes some duplicates.
Commit: 4a93872a4f57d2f205826052150fadc36490445f
https://github.com/llvm/llvm-project/commit/4a93872a4f57d2f205826052150fadc36490445f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.h
M clang/test/Driver/gcodeview-command-line.c
A clang/test/Misc/win32-elf.c
Log Message:
-----------
Reland "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format" (#87987)
This relands #87149.
The previous commit exposed failures on some targets. The reason is only
a few targets support COFF ObjectFormatType on Windows:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/TargetParser/Triple.cpp#L835-L842
With #87149, the targets don't support COFF will report "warning:
argument unused during compilation: '-gcodeview-command-line'
[-Wunused-command-line-argument]" in the test gcodeview-command-line.c
This patch limits gcodeview-command-line.c only run on targets support
COFF.
Commit: 749620ea2c738be88f6c0fd59c7217bca6818d5f
https://github.com/llvm/llvm-project/commit/749620ea2c738be88f6c0fd59c7217bca6818d5f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[lib++][CI] Changes bootstrap build type. (#88175)
The RelWithDebInfo generates a few GB of debug info that is not used.
Instead use the normal Release build for testing.
Commit: 3d985a6f1bfcdb6e6d550003f9a1276fe47f588d
https://github.com/llvm/llvm-project/commit/3d985a6f1bfcdb6e6d550003f9a1276fe47f588d
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of Select with LMUL (#88098)
Use the Val type to estimate the instruction cost for SelectInst.
Commit: 313a33b9dff44dc2b0048484e54f9328d9a0d9db
https://github.com/llvm/llvm-project/commit/313a33b9dff44dc2b0048484e54f9328d9a0d9db
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
Log Message:
-----------
[InstCombine] Reduce nested logical operator if poison is implied (#86823)
Fixes #76623
Alive2 proof: https://alive2.llvm.org/ce/z/gX6znJ (I'm not sure how to
write a proof for such transform, maybe there are mistakes)
In most cases, `icmp(a, C1) && (other_cond && icmp(a, C2))` will be
reduced to `icmp(a, C1) & (other_cond && icmp(a, C2))`, since latter
icmp always implies the poison of the former. After reduction, it's
easier to simplify the icmp chain.
Similarly, this patch does the same thing for `(A && B) && C --> A && (B
& C)`. Maybe we could constraint such reduction only on icmps if there
is regression in benchmarks.
Commit: 469caa31e77f1da37434783f9b4f1d87fe8dff71
https://github.com/llvm/llvm-project/commit/469caa31e77f1da37434783f9b4f1d87fe8dff71
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Use vwadd.vx for splat vector with extension (#87249)
This patch allows `combineBinOp_VLToVWBinOp_VL` to handle patterns like
`(splat_vector (sext op))` or `(splat_vector (zext op))`. Then we can
use `vwadd.vx` and `vwadd.w` for such a case.
### Source code
```
define <vscale x 8 x i64> @vwadd_vx_splat_sext(<vscale x 8 x i32> %va, i32 %b) {
%sb = sext i32 %b to i64
%head = insertelement <vscale x 8 x i64> poison, i64 %sb, i32 0
%splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer
%vc = sext <vscale x 8 x i32> %va to <vscale x 8 x i64>
%ve = add <vscale x 8 x i64> %vc, %splat
ret <vscale x 8 x i64> %ve
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/sq191PsT4)
```
vwadd_vx_splat_sext:
sext.w a0, a0
vsetvli a1, zero, e64, m8, ta, ma
vmv.v.x v16, a0
vsetvli zero, zero, e32, m4, ta, ma
vwadd.wv v16, v16, v8
vmv8r.v v8, v16
ret
```
### After this patch
```
vwadd_vx_splat_sext
vsetvli a1, zero, e32, m4, ta, ma
vwadd.vx v16, v8, a0
vmv8r.v v8, v16
ret
```
Commit: 299b636a8f1c9cb2382f9dce4cdf6ec6330a79c6
https://github.com/llvm/llvm-project/commit/299b636a8f1c9cb2382f9dce4cdf6ec6330a79c6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.h
M clang/test/Driver/gcodeview-command-line.c
R clang/test/Misc/win32-elf.c
Log Message:
-----------
Revert "Reland "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format" (#87987)"
This reverts commit 4a93872a4f57d2f205826052150fadc36490445f.
Sorry, there're still buildbot failures.
Commit: 4e85e1ffcaf161736e27a24c291c1177be865976
https://github.com/llvm/llvm-project/commit/4e85e1ffcaf161736e27a24c291c1177be865976
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
[Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)
The compiler doesn't know in advance if the streaming and non-streaming
vector-lengths are different, so it should be safe to give a warning
diagnostic to warn the user about possible undefined behaviour. If the
user knows the vector lengths are equal, they can disable the warning
separately.
Commit: e50c4c83b6d3f595b0eec9c9600fb3de1147fef7
https://github.com/llvm/llvm-project/commit/e50c4c83b6d3f595b0eec9c9600fb3de1147fef7
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[AArch64][TLI] Add TLI mappings for ArmPL modf, sincos, sincospi (#83143)
ArmPL 24.04 release fixes a bug concerning these methods,
so now they can be re-introduced to TLI mappings.
Commit: b7a93bc1f230fe01f38f3648437cee74f339c5ac
https://github.com/llvm/llvm-project/commit/b7a93bc1f230fe01f38f3648437cee74f339c5ac
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Program.cpp
A clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Start implementing vector types
Map them to primtive arrays, much like complex types.
Commit: 0d17e1f0e5d706ac288ac8a62db92b8df64faf4e
https://github.com/llvm/llvm-project/commit/0d17e1f0e5d706ac288ac8a62db92b8df64faf4e
Author: hev <wangrui at loongson.cn>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
Log Message:
-----------
[LoongArch] Revert `sp` adjustment in prologue (#88110)
After commit 18c5f3c3 ("[RegisterScavenger][RISCV] Don't search for
FrameSetup instrs if we were searching from Non-FrameSetup instrs"), we
can revert the `sp` adjustment 4e2364a2 ("[LoongArch] Add emergency
spill slot for GPR for large frames") to generate better code, as the
issue with `RegScavenger` has been resolved.
Fixes #88109
Commit: cac4c14ecfcb892201ae8f4b1559909cc22082d0
https://github.com/llvm/llvm-project/commit/cac4c14ecfcb892201ae8f4b1559909cc22082d0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Replace std::tuple with struct (NFCI).
As suggested in https://github.com/llvm/llvm-project/pull/88039, replace
the tuple with a struct, to make it easier to extend.
Commit: 0e7d14d2e8ccad8ee1ec60c5c9f434553ec5c6ec
https://github.com/llvm/llvm-project/commit/0e7d14d2e8ccad8ee1ec60c5c9f434553ec5c6ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/mmx-intrinsics.ll
Log Message:
-----------
[X86] Regenerate mmx-intrinsics.ll test checks
Commit: 990c4bc95f69afb63849898b6b25b13d49d6cdd4
https://github.com/llvm/llvm-project/commit/990c4bc95f69afb63849898b6b25b13d49d6cdd4
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve2-bsl.ll
Log Message:
-----------
[AArch64][SVE2] Generate SVE2 BSL instruction in LLVM for bit-twiddling. (#83514)
Allow to fold or/and-and to BSL instuction for scalable vectors.
Commit: ec40097db28374c1226f0f7e45f18491a596778b
https://github.com/llvm/llvm-project/commit/ec40097db28374c1226f0f7e45f18491a596778b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_{ctz,clz}g
Commit: 1709eac58fee8f559cd70cfce9e7f09192dcb1bc
https://github.com/llvm/llvm-project/commit/1709eac58fee8f559cd70cfce9e7f09192dcb1bc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Integral pointers (#84159)
This turns the current `Pointer` class into a discriminated union of
`BlockPointer` and `IntPointer`. The former is what `Pointer` currently
is while the latter is just an integer value and an optional
`Descriptor*`.
The `Pointer` then has type check functions like
`isBlockPointer()`/`isIntegralPointer()`/`asBlockPointer()`/`asIntPointer()`,
which can be used to access its data.
Right now, the `IntPointer` and `BlockPointer` structs do not have any
methods of their own and everything is instead implemented in Pointer
(like it was before) and the functions now just either assert for the
right type or decide what to do based on it.
This also implements bitcasts by decaying the pointer to an integral
pointer.
`test/AST/Interp/const-eval.c` is a new test testing all kinds of stuff
related to this. It still has a few tests `#ifdef`-ed out but that
mostly depends on other unimplemented things like
`__builtin_constant_p`.
Commit: 89ba7e183e6e2c64370ed1b963e54c06352211db
https://github.com/llvm/llvm-project/commit/89ba7e183e6e2c64370ed1b963e54c06352211db
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
Log Message:
-----------
[codegen] Emit missing cleanups for stmt-expr and coro suspensions [take-2] (#85398)
Fixes https://github.com/llvm/llvm-project/issues/63818 for control flow
out of an expressions.
#### Background
A control flow could happen in the middle of an expression due to
stmt-expr and coroutine suspensions.
Due to branch-in-expr, we missed running cleanups for the temporaries
constructed in the expression before the branch.
Previously, these cleanups were only added as `EHCleanup` during the
expression and as normal expression after the full expression.
Examples of such deferred cleanups include:
`ParenList/InitList`: Cleanups for fields are performed by the
destructor of the object being constructed.
`Array init`: Cleanup for elements of an array is included in the array
cleanup.
`Lifetime-extended temporaries`: reference-binding temporaries in
braced-init are lifetime extended to the parent scope.
`Lambda capture init`: init in the lambda capture list is destroyed by
the lambda object.
---
#### In this PR
In this PR, we change some of the `EHCleanups` cleanups to
`NormalAndEHCleanups` to make sure these are emitted when we see a
branch inside an expression (through statement expressions or coroutine
suspensions).
These are supposed to be deactivated after full expression and destroyed
later as part of the destructor of the aggregate or array being
constructed. To simplify deactivating cleanups, we add two utilities as
well:
* `DeferredDeactivationCleanupStack`: A stack to remember cleanups with
deferred deactivation.
* `CleanupDeactivationScope`: RAII for deactivating cleanups added to
the above stack.
---
#### Deactivating normal cleanups
These were previously `EHCleanups` and not `Normal` and **deactivation**
of **required** `Normal` cleanups had some bugs. These specifically
include deactivating `Normal` cleanups which are not the top of
`EHStack`
[source1](https://github.com/llvm/llvm-project/blob/92b56011e6b61e7dc1628c0431ece432f282b3cb/clang/lib/CodeGen/CGCleanup.cpp#L1319),
[2](https://github.com/llvm/llvm-project/blob/92b56011e6b61e7dc1628c0431ece432f282b3cb/clang/lib/CodeGen/CGCleanup.cpp#L722-L746).
This has not been part of our test suite (maybe it was never required
before statement expressions). In this PR, we also fix the emission of
required-deactivated-normal cleanups.
Commit: a0651db490328a972185e44ff637970b3456406b
https://github.com/llvm/llvm-project/commit/a0651db490328a972185e44ff637970b3456406b
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaTemplate/alias-templates.cpp
Log Message:
-----------
[clang][Sema] Avoid guessing unexpanded packs' size in getFullyPackExpandedSize (#87768)
There has been an optimization for `SizeOfPackExprs` since c5452ed9, in
which
we overlooked a case where the template arguments were not yet
formed into a `PackExpansionType` at the token annotation stage. This
led to a problem in that a template involving such expressions may
lose its nature of being dependent, causing some false-positive
diagnostics.
Fixes https://github.com/llvm/llvm-project/issues/84220
Commit: 8d206f51497fdf1ceebd6430b2f7d31ef735d0dc
https://github.com/llvm/llvm-project/commit/8d206f51497fdf1ceebd6430b2f7d31ef735d0dc
Author: Edwin Vane <revane at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
Log Message:
-----------
[clang-tidy] Allow renaming macro arguments (#87792)
Although the identifier-naming.cpp lit test expected macro arguments not
to be renamed, the code seemed to already allow it. The code was simply
not being exercised because a SourceManager argument wasn't being
provided. With this change, renaming of macro arguments that expand to
renamable decls is permitted.
Commit: f2ade91a9fe7c222ea919748d30b74397911ecc8
https://github.com/llvm/llvm-project/commit/f2ade91a9fe7c222ea919748d30b74397911ecc8
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Operation.h
Log Message:
-----------
[mlir] Optimize getting properties on concrete ops (#88259)
This makes retrieving properties on concrete operations faster by
removing a branch when it is known that the operation must have
properties.
Commit: 94ed57dab64ccb248a342a91957f390209c5c7ce
https://github.com/llvm/llvm-project/commit/94ed57dab64ccb248a342a91957f390209c5c7ce
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
Log Message:
-----------
[PhaseOrdering] Add test for #85551.
Add test for missed hoisting of checks from std::span
https://github.com/llvm/llvm-project/issues/85551
Commit: a2bdbc6f0da2a9d0cecb23c64bd20423b3fd0340
https://github.com/llvm/llvm-project/commit/a2bdbc6f0da2a9d0cecb23c64bd20423b3fd0340
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/COFF/ICF.cpp
A lld/test/COFF/arm64x-icf.s
Log Message:
-----------
[LLD][COFF] Check machine types in ICF::equalsConstant. (#88140)
Avoid replacing replacing a chunk with one from a different type. It's
mostly a concern for ARM64X, where we don't want to merge aarch64 and
arm64ec chunks, but it may also in theory happen between arm64ec and
x86_64 chunks.
Commit: b47e439559ad03a1b32614f573aad66f145a634d
https://github.com/llvm/llvm-project/commit/b47e439559ad03a1b32614f573aad66f145a634d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
Revert "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function" (#88264)
Reverts llvm/llvm-project#87541
Commit: 1ca01958310f2956abd72ece1652c3218bcf27e1
https://github.com/llvm/llvm-project/commit/1ca01958310f2956abd72ece1652c3218bcf27e1
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
[Clang][AST][NFC] Fix printing of dependent PackIndexTypes (#88146)
Dependent `PackIndexType`s currently print the memory address of the
index `Expr*` rather than pretty printing the expression. This patch
fixes that.
Commit: 49ef12a08c4c7d7ae4765929e72fe2320a12b08c
https://github.com/llvm/llvm-project/commit/49ef12a08c4c7d7ae4765929e72fe2320a12b08c
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix complex log1p accuracy with large abs values. (#88260)
This ports https://github.com/openxla/xla/pull/10503 by @pearu. The new
implementation matches mpmath's results for most inputs, see caveats in
the linked pull request. In addition to the filecheck test here, the
accuracy was tested with XLA's complex_unary_op_test and its MLIR
emitters.
Commit: 54a9f0007cb4f19d2e9df30405c5027229f5def0
https://github.com/llvm/llvm-project/commit/54a9f0007cb4f19d2e9df30405c5027229f5def0
Author: annamthomas <anna at azul.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/pr87798.ll
Log Message:
-----------
[SCEV] Fix BinomialCoefficient Iteration to fit in W bits (#88010)
BinomialCoefficient computes the value of W-bit IV at iteration It of a loop. When W is 1, we can call multiplicative inverse on 0 which triggers an assert since 1b76120.
Since the arithmetic is supposed to wrap if It or K does not fit in W bits, do the truncation into W bits after we do the shift.
Fixes #87798
Commit: 938a73422e0b964eba16f272acdfae1d0281772c
https://github.com/llvm/llvm-project/commit/938a73422e0b964eba16f272acdfae1d0281772c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Walk over entries, not single values.
Better to walk over SLP nodes rather than single values. Matching
a value to a node is not a 1-to-1 relation, one value may be part of
several nodes and compiler may get wrong node, when trying to map it.
Currently there are no such issues detected, but they may appear in
future.
Commit: 50d368aee981738cd05f3d16f5d1cfc122c9b0ab
https://github.com/llvm/llvm-project/commit/50d368aee981738cd05f3d16f5d1cfc122c9b0ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-libs.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Relax ordering of static libraries for offloading (#87532)
Summary:
The linker wrapper attempts to maintain consistent semantics with
existing host invocations. Static libraries by default only extract if
there are non-weak symbols that remain undefined. However, we have
situations between linkers that put different meanings on ordering. The
ld.bfd linker requires static libraries to be defined after the symbols,
while `ld.lld` relaxes this rule. The linker wrapper went with the
former as it's the easier solution, however this has caused a lot of
issues as I've had to explain this rule to several people, it also make
it difficult to include things like `libc` in the OpenMP runtime because
it would sometimes be linked before or after.
This patch reworks the logic to more or less perform the following logic
for static libraries.
1. Split library / object inputs.
2. Include every object input and record its undefined symbols
3. Repeatedly try to extract static libraries to resolve these
symbols. If a file is extracted we need to check every library
again to resolve any new undefined symbols.
This allows the following to work and will cause fewer issues when
replacing HIP, which does `--whole-archive` so it's very likely the old
logic will regress.
```console
$ clang -lfoo main.c -fopenmp --offload-arch=native
```
Commit: 6b35cbee3f577d9ee55f7277affa0fe194859b25
https://github.com/llvm/llvm-project/commit/6b35cbee3f577d9ee55f7277affa0fe194859b25
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaSYCL` (#88086)
This patch moves SYCL-related `Sema` functions into new `SemaSYCL`
class, following the recent example of OpenACC and HLSL. This is a part
of the effort to split `Sema`. Additional context can be found in
#82217, #84184, #87634.
Commit: 0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
https://github.com/llvm/llvm-project/commit/0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
Log Message:
-----------
[OpenACC] Implement Default clause for Compute Constructs (#88135)
As a followup to my previous commits, this is an implementation of a
single clause, in this case the 'default' clause. This implements all
semantic analysis for it on compute clauses, and continues to leave it
rejected for all others (some as 'doesnt appertain', others as 'not
implemented' as appropriate).
This also implements and tests the TreeTransform as requested in the
previous patch.
Commit: 5ae9ffbd18fd93edbbc8efebe140aeb24cd763c2
https://github.com/llvm/llvm-project/commit/5ae9ffbd18fd93edbbc8efebe140aeb24cd763c2
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Address review comment from 88062
As pointed out by Fraser, KillSrcReg is always false at this point in
code, and having the inconcistency on whether we check the flag between
the if and else blocks is confusing.
Commit: a8f9f85ab0114deb0f6adae2b578bc39c62c19b3
https://github.com/llvm/llvm-project/commit/a8f9f85ab0114deb0f6adae2b578bc39c62c19b3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/src/interface.cpp
Log Message:
-----------
[Libomptarget][NFC] Fix unused variable warnings
Summary:
This patch fixes a few warnings that would show up while building.
Commit: 2bf48892ab0ce5d53126c7b114070bba18521501
https://github.com/llvm/llvm-project/commit/2bf48892ab0ce5d53126c7b114070bba18521501
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/HIPSupport.rst
Log Message:
-----------
[HIP] document difference with CUDA (#86838)
Commit: 6ca5a410d26262f06f954e91200eefe0cbfb7fb8
https://github.com/llvm/llvm-project/commit/6ca5a410d26262f06f954e91200eefe0cbfb7fb8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
Log Message:
-----------
[SLP]Fix PR87358: broken module, Instruction does not dominate all uses.
If the first node is a gather node with extractelement instructions,
still need to put the vector value after all instructions, not after the
very first one.
Commit: 7f1b9adfc8d86c77ee87a268b3d30e0eda8ed493
https://github.com/llvm/llvm-project/commit/7f1b9adfc8d86c77ee87a268b3d30e0eda8ed493
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add MachineCombiner to fold (sh3add Z, (add X, (slli Y, 6))) -> (sh3add (sh3add Y, Z), X). (#87884)
This improves a pattern that occurs in 531.deepsjeng_r. Reducing the
dynamic instruction count by 0.5%.
This may be possible to improve in SelectionDAG, but given the special
cases around shXadd formation, it's not obvious it can be done in a
robust way without adding multiple special cases.
I've used a GEP with 2 indices because that mostly closely resembles the
motivating case. Most of the test cases are the simplest GEP case. One
test has a logical right shift on an index which is closer to the
deepsjeng code. This requires special handling in isel to reverse a
DAGCombiner canonicalization that turns a pair of shifts into (srl (and
X, C1), C2).
Commit: f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
https://github.com/llvm/llvm-project/commit/f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[InstCombine] Add tests for non-zero/knownbits of `vector_reduce_{s,u}{min,max}`; NFC
Commit: 77d668451ad2e6370eb595c171779429e9becdf2
https://github.com/llvm/llvm-project/commit/77d668451ad2e6370eb595c171779429e9becdf2
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `isKnownNonZero`
Previously missing, proofs for all implementations:
https://alive2.llvm.org/ce/z/G8wpmG
Commit: 41c52217b003ce9435ae534251b0d0d035495262
https://github.com/llvm/llvm-project/commit/41c52217b003ce9435ae534251b0d0d035495262
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `computeKnownBits`
Previously missing. We compute by just applying the reduce function on
the knownbits of each element.
Closes #88169
Commit: a02b3c01820090d4208146b51372587251fdce61
https://github.com/llvm/llvm-project/commit/a02b3c01820090d4208146b51372587251fdce61
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for overflow detection functions is `isKnownNonZero`; NFC
Commit: f0a487d7e2085e21f3691393070f54110d889fb6
https://github.com/llvm/llvm-project/commit/f0a487d7e2085e21f3691393070f54110d889fb6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Split `isNonZero(mul)` logic to a helper; NFC
Commit: 37ca6fa1e26e86c85c544023b18695be420e80dd
https://github.com/llvm/llvm-project/commit/37ca6fa1e26e86c85c544023b18695be420e80dd
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add support for overflow detection functions is `isKnownNonZero`
Adds support for: `{s,u}{add,sub,mul}.with.overflow`
The logic is identical to the the non-overflow binops, we where just
missing the cases.
Closes #87701
Commit: 2ff82c2c6490a1478e4311f60f1ce80af0957403
https://github.com/llvm/llvm-project/commit/2ff82c2c6490a1478e4311f60f1ce80af0957403
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for improving `isKnownNonZero` of `smax`; NFC
Commit: f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
https://github.com/llvm/llvm-project/commit/f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] improve `isKnownNonZero` precision for `smax`
Instead of relying on known-bits for strictly positive, use the
`isKnownPositive` API. This will use `isKnownNonZero` which is more
accurate.
Closes #88170
Commit: 7d60232b38b66138dae1b31027d73ee5b9df5c58
https://github.com/llvm/llvm-project/commit/7d60232b38b66138dae1b31027d73ee5b9df5c58
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Parser/token-sequence.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
R flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/token-sequence.cpp
R flang/lib/Parser/token-sequence.h
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Preprocessing/show-macros1.F90
A flang/test/Preprocessing/show-macros2.F90
A flang/test/Preprocessing/show-macros3.F90
Log Message:
-----------
[flang][Frontend] Implement printing defined macros via -dM (#87627)
This should work the same way as in clang.
Commit: 52aaa8a87960a7d342c5e6b7d5af82c76c8cc45d
https://github.com/llvm/llvm-project/commit/52aaa8a87960a7d342c5e6b7d5af82c76c8cc45d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/Driver/lld-repro.c
Log Message:
-----------
[clang][test] Avoid writing to a potentially write-protected dir (#88258)
This test just checks for the stdout/stderr of clang, but it
incidentally tries to write to `a.out` in the current directory, which
may be write protected. Typically one would write `clang -o %t.o` for a
writeable dir, but since we only care about stdout/stderr, throw away
the object file and just write to /dev/null instead.
Commit: 0ad663ead1242e908a8c5005f35e72747d136a3b
https://github.com/llvm/llvm-project/commit/0ad663ead1242e908a8c5005f35e72747d136a3b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__config
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
Log Message:
-----------
[libc++] Removes Clang-16 support. (#87810)
With the release of Clang-18 we no longer officially support Clang-16.
Commit: fc3dff9b4637bb5960fe70add90cd27e6842d58b
https://github.com/llvm/llvm-project/commit/fc3dff9b4637bb5960fe70add90cd27e6842d58b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/home-is-cwd-search-paths.c
Log Message:
-----------
[clang][modules] Stop eagerly reading files with diagnostic pragmas (#87442)
This makes it so that the importer doesn't need to stat all input files
of a module that contain diagnostic pragmas, reducing file system
traffic.
Commit: 51786eb5bfc30e7eff998323a9ce433ec4620383
https://github.com/llvm/llvm-project/commit/51786eb5bfc30e7eff998323a9ce433ec4620383
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Only compute affecting module maps with implicit search (#87849)
When writing out a PCM, we compute the set of module maps that did
affect the compilation and we strip the rest to make the output
independent of them. The most common way to read a module map that is
not affecting is with implicit module map search. The other option is to
pass a bunch of unnecessary `-fmodule-map-file=<path>` arguments on the
command-line, in which case the client should probably not give those to
Clang anyway.
This makes serialization of explicit modules faster, mostly due to
reduced file system traffic.
Commit: 323d3ab2574ba9d371926bb1b5c67dbe7b2b4ec3
https://github.com/llvm/llvm-project/commit/323d3ab2574ba9d371926bb1b5c67dbe7b2b4ec3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV] Optimize undef Even vector in getWideningInterleave. (#88221)
We recently optimized the code when the Odd vector was undef to fix a
poison bug.
There are additional optimizations we can do if the even vector is
undef. With Zvbb, we can use a single vwsll. Without Zvbb, we can use a
vzext.vf2 and a vsll.
Commit: e72c949c15208ba3dd53a9cebfee02734965a678
https://github.com/llvm/llvm-project/commit/e72c949c15208ba3dd53a9cebfee02734965a678
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/overflow.ll
Log Message:
-----------
[msan] Overflow intrinsics. (#88210)
Commit: 43b2b2ebce635bec1e3c060092ea75db858ee3fd
https://github.com/llvm/llvm-project/commit/43b2b2ebce635bec1e3c060092ea75db858ee3fd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Revert "Fix complex log1p accuracy with large abs values." (#88290)
Reverts llvm/llvm-project#88260
The test fails on the GCC7 buildbot.
Commit: 48c5c70fdd3bec2929e2e903e3bf4494a65f7a92
https://github.com/llvm/llvm-project/commit/48c5c70fdd3bec2929e2e903e3bf4494a65f7a92
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
[NFC] Update SemaRef.Diag to just Diag in OpenACC implementation
I missed these two in my last patch as the two patches crossed in
review, so correct this now.
Commit: 3d468566eb395995ac54fcf90d3afb9b9f822eb3
https://github.com/llvm/llvm-project/commit/3d468566eb395995ac54fcf90d3afb9b9f822eb3
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[NFC] Remove unneeded 'maybe_unused' attributes
This was added while we only had a partial implementation of clauses, so
we don't need these anymore.
Commit: f388a3a446ef2566d73b6a73ba300738f8c2c002
https://github.com/llvm/llvm-project/commit/f388a3a446ef2566d73b6a73ba300738f8c2c002
Author: Aart Bik <ajcbik at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
Log Message:
-----------
[mlir][sparse] update doc and examples of the [dis]assemble operations (#88213)
The doc and examples of the [dis]assemble operations did not reflect all
the recent changes on order of the operands. Also clarified some of the
text.
Commit: 798e04f93769318db857b27f51020e7115e00301
https://github.com/llvm/llvm-project/commit/798e04f93769318db857b27f51020e7115e00301
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 335d5d5f47b883055e676ffe5f981469a5f5f4f6
https://github.com/llvm/llvm-project/commit/335d5d5f47b883055e676ffe5f981469a5f5f4f6
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
Log Message:
-----------
[SPIRV] Tweak parsing of base type name in builtins (#88255)
This PR is a small improvement of parsing of base type name in builtins,
allowing to understand `unsigned ...` types. The test case that fails
without the fix is attached.
Commit: 4dcf33b6c2806216dfe8c5e1e3582a45516dbc69
https://github.com/llvm/llvm-project/commit/4dcf33b6c2806216dfe8c5e1e3582a45516dbc69
Author: David Green <david.green at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64] Cleanup and GISel coverage for lrint tests. NFC
Commit: 04bf1a4090c535e3a1033ab9a8ef92068166461f
https://github.com/llvm/llvm-project/commit/04bf1a4090c535e3a1033ab9a8ef92068166461f
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
Update `LowerContractionToSMMLAPattern` to ingnore matvec (#88288)
Patterns in `LowerContractionToSMMLAPattern` are designed to handle
vector-to-matrix multiplication but not matrix-to-vector. This leads to
the following error when processing `rhs` with rank < 2:
```
iree-compile: /usr/local/google/home/kooljblack/code/iree-build/llvm-project/tools/mlir/include/mlir/IR/BuiltinTypeInterfaces.h.inc:268: int64_t mlir::detail::ShapedTypeTrait<mlir::VectorType>::getDimSize(unsigned int) const [ConcreteType = mlir::VectorType]: Assertion `idx < getRank() && "invalid index for shaped type"' failed.
```
Updates to explicitly check the rhs rank and fail cases that cannot
process.
Commit: c54afe5c33ca6159841d909fb8fe20e5d4e0069b
https://github.com/llvm/llvm-project/commit/c54afe5c33ca6159841d909fb8fe20e5d4e0069b
Author: higher-performance <113926381+higher-performance at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMapContext.cpp
Log Message:
-----------
Fix quadratic slowdown in AST matcher parent map generation (#87824)
Avoids the need to linearly re-scan all seen parent nodes to check for
duplicates, which previously caused a slowdown for ancestry checks in
Clang AST matchers.
Fixes: #86881
Commit: f27f3697108470c3e995cf3cb454641c22ec1fa9
https://github.com/llvm/llvm-project/commit/f27f3697108470c3e995cf3cb454641c22ec1fa9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
Log Message:
-----------
[RISCV] Remove interrupt handler special case from RISCVFrameLowering::determineCalleeSaves. (#88069)
This code was trying to save temporary argument registers in interrupt
handler functions that contain calls. With the exception that all FP
registers are saved including the normally callee saved registers.
If all of the callees use an FP ABI and the interrupt handler doesn't
touch the normally callee saved FP registers, we don't need to save
them.
It doesn't appear that we need to special case functions with calls. The
normal callee saved register handling will already check each of the calls
and consider a register clobbered if the call doesn't explicitly say it is preserved.
All of the test changes are from the removal of the FP callee saved
registers. There are tests for interrupt handlers with F and D extension
that use ilp32 or lp64 ABIs that are not affected by this change. They
still save the FP callee saved registers as they should.
gcc appears to have a bug where the D extension being enabled with the
ilp32f or lp64f ABI does not save the FP callee saved regs. The callee
would only save/restore the lower 32 bits and clobber the upper bits.
LLVM saves the FP callee saved regs in this case and there is an
unchanged test for it.
The unnecessary save/restore was raised in this thread
https://discourse.llvm.org/t/has-bugs-when-optimizing-save-restore-csrs-by-changing-csr-xlen-f32-interrupt/78200/1
Commit: 86842e1f724fba5abae50ce438553895e69b8141
https://github.com/llvm/llvm-project/commit/86842e1f724fba5abae50ce438553895e69b8141
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-features.c
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
Log Message:
-----------
[AMDGPU] New clang option for emitting a waitcnt instruction after each memory instruction (#79236)
This patch introduces a new command-line option for clang, namely,
amdgpu-precise-mem-op (or precise-memory in the backend). When this option is specified, a waitcnt
instruction is generated after each memory load/store instruction. The
counter values are always 0, but which counters are involved depends on
the memory instruction.
---------
Co-authored-by: Jun Wang <jun.wang7 at amd.com>
Commit: 4d80dff819d1164775d0d55fc68bffedb90ba53c
https://github.com/llvm/llvm-project/commit/4d80dff819d1164775d0d55fc68bffedb90ba53c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
Log Message:
-----------
int -> uintptr_t to silence diagnostics
'int' may not be sufficiently large to store a pointer representation
anyway, so this is also a correctness fix.
Commit: 21009f466ece9f21b18e1bb03bd74b566188bae5
https://github.com/llvm/llvm-project/commit/21009f466ece9f21b18e1bb03bd74b566188bae5
Author: martinboehme <mboehme at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Propagate locations from result objects to initializers. (#87320)
Previously, we were propagating storage locations the other way around,
i.e.
from initializers to result objects, using `RecordValue::getLoc()`. This
gave
the wrong behavior in some cases -- see the newly added or fixed tests
in this
patch.
In addition, this patch now unblocks removing the `RecordValue` class
entirely,
as we no longer need `RecordValue::getLoc()`.
With this patch, the test `TransferTest.DifferentReferenceLocInJoin`
started to
fail because the framework now always uses the same storge location for
a
`MaterializeTemporaryExpr`, meaning that the code under test no longer
set up
the desired state where a variable of reference type is mapped to two
different
storage locations in environments being joined. Rather than trying to
modify
this test to set up the test condition again, I have chosen to replace
the test
with an equivalent test in DataflowEnvironmentTest.cpp that sets up the
test
condition directly; because this test is more direct, it will also be
less
brittle in the face of future changes.
Commit: b9a3551c905573df456ee52fa1051e49fa956c65
https://github.com/llvm/llvm-project/commit/b9a3551c905573df456ee52fa1051e49fa956c65
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/unittests/Bitcode/BitReaderTest.cpp
Log Message:
-----------
[FPEnv][BitcodeReader] Correct strictfp test.
Correct a strictfp test to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to a function definition.
Test changes verified with D146845.
Commit: c1d3f39ae98535777c957aab3611d2abc97b2815
https://github.com/llvm/llvm-project/commit/c1d3f39ae98535777c957aab3611d2abc97b2815
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `shufflevector` in `isKnownNonZero`
Commit: 87528bfefbb50ed6560b9b8482fc7c9f86ca34cd
https://github.com/llvm/llvm-project/commit/87528bfefbb50ed6560b9b8482fc7c9f86ca34cd
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add support for `shufflevector` in `isKnownNonZero`
Shuffles don't modify the data, so if all elements that end up in the
destination are non-zero the result is non-zero.
Closes #87702
Commit: 8a28b9b8ec1686426a4b43c8431570eaa1da77d9
https://github.com/llvm/llvm-project/commit/8a28b9b8ec1686426a4b43c8431570eaa1da77d9
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `insertelement` in `isKnownNonZero`; NFC
Commit: 9c545a14c09051b011358854655c1f466d656e79
https://github.com/llvm/llvm-project/commit/9c545a14c09051b011358854655c1f466d656e79
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add support for `insertelement` in `isKnownNonZero`
Inserts don't modify the data, so if all elements that end up in the
destination are non-zero the result is non-zero.
Closes #87703
Commit: 195d278d502308655edb1e9ff1c6f0c9256d0d15
https://github.com/llvm/llvm-project/commit/195d278d502308655edb1e9ff1c6f0c9256d0d15
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add tests for `xor`/`disjoint or` in `getInvertibleOperands`; NFC
Commit: 0c57a2e4b4e5a6e5dda78a313fc8d8e3c91797f5
https://github.com/llvm/llvm-project/commit/0c57a2e4b4e5a6e5dda78a313fc8d8e3c91797f5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add support for `xor`/`disjoint or` in `getInvertibleOperands`
This strengthens our `isKnownNonEqual` logic with some fairly
trivial cases.
Proofs: https://alive2.llvm.org/ce/z/4pxRTj
Closes #87705
Commit: 2646790155f73d6cfb28ec0ee472056740e4658e
https://github.com/llvm/llvm-project/commit/2646790155f73d6cfb28ec0ee472056740e4658e
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add tests for `xor`/`disjoint or` in `isKnownNonZero`; NFC
Commit: 81cdd35c0c8db22bfdd1f06cb2118d17fd99fc07
https://github.com/llvm/llvm-project/commit/81cdd35c0c8db22bfdd1f06cb2118d17fd99fc07
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add support for `xor`/`disjoint or` in `isKnownNonZero`
Handles cases like `X ^ Y == X` / `X disjoint| Y == X`.
Both of these cases have identical logic to the existing `add` case,
so just converting the `add` code to a more general helper.
Proofs: https://alive2.llvm.org/ce/z/Htm7pe
Closes #87706
Commit: 2b00a73f62605fcaeaedd358ba8b55fad06571aa
https://github.com/llvm/llvm-project/commit/2b00a73f62605fcaeaedd358ba8b55fad06571aa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
Log Message:
-----------
[SLP]Buildvector for alternate instructions with non-profitable gather operands.
If the operands of the potentially alternate node are going to produce
buildvector sequences, which result in more instructions, than the
original code, then suhinstructions should be vectorized as alternate
node, better to end up with the buildvector node.
Left column - experimental, Right - reference.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 413680.00 416272.00 0.6%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12351788.00 12354844.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664901.00 664949.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664901.00 664949.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1171371.00 1171355.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1036396.00 1036284.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test 111280.00 111248.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1392113.00 1391361.00 -0.1%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1392113.00 1391361.00 -0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 281676.00 281452.00 -0.1%
test-suite :: MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes.test 3025.00 3019.00 -0.2%
test-suite :: MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig.test 6351.00 6335.00 -0.3%
Metric: SLP.NumVectorInstructions
Program SLP.NumVectorInstructions
results results0 diff
test-suite :: MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes.test 15.00 16.00 6.7%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 1703.00 1707.00 0.2%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 1703.00 1707.00 0.2%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 26241.00 26239.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 11761.00 11754.00 -0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 824.00 822.00 -0.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 5668.00 5654.00 -0.2%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 5668.00 5654.00 -0.2%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 792.00 790.00 -0.3%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 792.00 790.00 -0.3%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 1389.00 1384.00 -0.4%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 596.00 590.00 -1.0%
test-suite :: MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig.test 6.00 5.00 -16.7%
Metric: exec_time
Program exec_time
results results0 diff
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 99.14 100.00 0.9%
Other changes are not significant (less than 0.1% percent with exectime
less 5 secs).
SingleSource/Benchmarks/Adobe-C++/loop_unroll - same small patterns
remain scalar, smaller code.
External/SPEC/CFP2017rate/526.blender_r/526.blender_r - many small
changes, some extra stores gets vectorized.
External/SPEC/CINT2017speed/625.x264_s/625.x264_s
External/SPEC/CINT2017rate/525.x264_r/525.x264_r
x264 has one change in a loop body, in function ssim_end4, some code
remain scalar, resulting in less code size.
External/SPEC/CFP2017rate/511.povray_r/511.povray_r - some extra code
gets vectorized, looks like some other patterns were matched.
MultiSource/Benchmarks/7zip/7zip-benchmark - extra stores were
vectorized (looks like the graphs become profitable)
MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg - small
changes in vectorized code (some small part remain scalar).
External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r
External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s
Many changes cause by the fact that the code of one function becomes
smaller (onvertLCHabToRGB) and this functions gets inlined after that.
MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc - some small
changes here and there, some extra code is vectorized, some remain
scalar (2 x vectors)
MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes - emits 2 scalars
+ 2 insertelems instead of insert, broadcast, alt code (3 instructions,
total 5 insts)
MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig - small graph
becomes profitable and gets vectorized.
External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r
External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s
Some small graph becomes profitable and gets vectorized.
MultiSource/Benchmarks/FreeBench/pifft/pifft - no changes in final code.
Reviewers: RKSimon, dtcxzyw
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84978
Commit: 0a1317564a6b437760d96f0a227a3c910875428d
https://github.com/llvm/llvm-project/commit/0a1317564a6b437760d96f0a227a3c910875428d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__locale
M libcxx/include/__stop_token/stop_callback.h
A libcxx/include/__utility/private_constructor_tag.h
M libcxx/include/module.modulemap
M libcxx/src/CMakeLists.txt
R libcxx/src/include/tzdb/leap_second_private.h
R libcxx/src/include/tzdb/time_zone_link_private.h
M libcxx/src/locale.cpp
M libcxx/src/tzdb.cpp
A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
M libcxx/test/support/test_chrono_leap_second.h
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++] Adds a global private constructor tag. (#87920)
This removes the similar tags used in the chrono tzdb implementation.
Fixes: https://github.com/llvm/llvm-project/issues/85432
Commit: f81879c0f70ee5a1cf1d5b716dfd49d1a271cc2d
https://github.com/llvm/llvm-project/commit/f81879c0f70ee5a1cf1d5b716dfd49d1a271cc2d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/LibC.cpp
Log Message:
-----------
[Libomptarget] Add RPC-based printf implementation for OpenMP #85638
Summary:
Relanding after reverting, only applies to AMDGPU for now.
This patch adds an implementation of printf that's provided by the GPU
C library runtime. This pritnf currently implemented using the same
wrapper handling that OpenMP sets up. This will be removed once we have
proper varargs support.
This printf differs from the one CUDA offers in that it is synchronous
and uses a finite size. Additionally we support pretty much every
format specifier except the %n option.
Depends on #85331
Commit: fad14707b73d6387e6276507e1c5726e67f08cd6
https://github.com/llvm/llvm-project/commit/fad14707b73d6387e6276507e1c5726e67f08cd6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc] Add note to use `LIBC_GPU_BUILD=ON` as another form
Summary:
This is a shorthand to enable GPU support so it should be listed in the
docs.
Commit: ca6b8469c16edfe1713e9050dca3cd68bd585410
https://github.com/llvm/llvm-project/commit/ca6b8469c16edfe1713e9050dca3cd68bd585410
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
Log Message:
-----------
[ELF] Avoid unneeded config->isLE and config->wordsize. NFC
Commit: e3ef4612c18845876cda9a13c3435e102f74a3aa
https://github.com/llvm/llvm-project/commit/e3ef4612c18845876cda9a13c3435e102f74a3aa
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
Perform bitreverse using AVX512 GFNI for i32 and i64. (#81764)
Currently, the lowering operation for bitreverse using Intel AVX512 GFNI only supports byte vectors
Extend the operation to i32 and i64.
---------
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: 7549b45825a05fc24fcdbacf006461165aa042cb
https://github.com/llvm/llvm-project/commit/7549b45825a05fc24fcdbacf006461165aa042cb
Author: martinboehme <mboehme at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
Revert "[clang][dataflow] Propagate locations from result objects to initializers." (#88315)
Reverts llvm/llvm-project#87320
This is causing buildbots to fail because
`isOriginalRecordConstructor()` is now unused.
Commit: a6d1366b736cad85b3bb9fbdda340e07488d6cde
https://github.com/llvm/llvm-project/commit/a6d1366b736cad85b3bb9fbdda340e07488d6cde
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
[NFC] Remove a pair of incorrect comments from ParseOpenACC
We attempt to continue parsing, but the comment says the opposite. Just
remove the inaccurate comments in this patch.
Commit: b3792ae42a4adda5cb51d53f3d6a4b9b025b11fd
https://github.com/llvm/llvm-project/commit/b3792ae42a4adda5cb51d53f3d6a4b9b025b11fd
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP][AIX] Fix test config for AIX (#88272)
This patch fixes the test config so that it works for
`tasking/omp50_taskdep_depobj.c` which uses different flags to test with
compiler's `omp.h`.
* set test environment variable `OBJECT_MODE` to `64` if it is set
explicitly to `64` in the AIX environment. `OBJECT_MODE` is default to
`32` and is recognized by AIX compilers and toolchain. In this way, we
don't need to set `-m64` for all compiler flags for 64-bit mode
* add option `-Wl,-bmaxdata` to 32-bit `test_openmp_flags` used by
`tasking/omp50_taskdep_depobj.c`
Commit: a12836647e08c4ad203b9834ac55892fa0b9f2d3
https://github.com/llvm/llvm-project/commit/a12836647e08c4ad203b9834ac55892fa0b9f2d3
Author: David Pagan <dave.pagan at amd.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenMP.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
Log Message:
-----------
[OpenMP][CodeGen] Improved codegen for combined loop directives (#87278)
IR for 'target teams loop' is now dependent on suitability of associated
loop-nest.
If a loop-nest:
- does not contain a function call, or
- the -fopenmp-assume-no-nested-parallelism has been specified,
- or the call is to an OpenMP API AND
- does not contain nested loop bind(parallel) directives
then it can be emitted as 'target teams distribute parallel for', which
is the current default. Otherwise, it is emitted as 'target teams
distribute'.
Added debug output indicating how 'target teams loop' was emitted. Flag
is -mllvm -debug-only=target-teams-loop-codegen
Added LIT tests explicitly verifying 'target teams loop' emitted as a
parallel loop and a distribute loop.
Updated other 'loop' related tests as needed to reflect change in IR.
- These updates account for most of the changed files and
additions/deletions.
Commit: d347235bddbeba2a72d94ebe9d8f98dc675c3776
https://github.com/llvm/llvm-project/commit/d347235bddbeba2a72d94ebe9d8f98dc675c3776
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Flang] responds to Clang Tidy feedback (#87847)
Line 267: performance-unnecessary-copy-initialization
Line 592: readability-container-size-empty
Commit: 05093e243859a371f96ffa1c320a4b51579c3da7
https://github.com/llvm/llvm-project/commit/05093e243859a371f96ffa1c320a4b51579c3da7
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
Log Message:
-----------
[Spirv][HLSL] Add OpAll lowering and float vec support (#87952)
The main point of this change was to add support for HLSL's all
intrinsic.
In the process of doing that I found a few issues around creating an
`OpConstantComposite` via `buildZerosVal`.
First the current code didn't support floats so the process of adding
`buildZerosValF` meant I needed a
float version of `getOrCreateIntConstVector`. After doing so I renamed
both versions to `getOrCreateConstVector`. That meant I needed to create
a float type version of `getOrCreateIntCompositeOrNull`. Luckily the
type information was low for this function so was able to split it out
into a helpwe and rename `getOrCreateIntCompositeOrNull` to
`getOrCreateCompositeOrNull` With the exception of type handling
differences of the code and Null vs 0 Constant Op codes these functions
should be identical.
To handle scalar floats I could not use `buildConstantFP` like this PR
did:
https://github.com/llvm/llvm-project/commit/0a2aaab5aba46#diff-733a189c5a8c3211f3a04fd6e719952a3fa231eadd8a7f11e6ecf1e584d57411R1603
because that would create too many superfluous registers (that causes
problems in the validator), I had to create a float version of
`getOrCreateConstInt` which I called `getOrCreateConstFP`.
similar problems with doing it like this:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp#L1540.
`buildZerosValF` also has a use of a function `getZeroFP`. This is
because half, float, and double scalar values of 0 would collide in
`SPIRVDuplicatesTracker<Constant> CT` if you use `APFloat(0.0f)`.
`getORCreateConstFP` needed its own version of `getOrCreateConstIntReg`
which I called `getOrCreateConstFloatReg` The one difference in this
function is `getOrCreateConstFloatReg` returns a bit width so we don't
have to call `getScalarOrVectorBitWidth` twice ie when it is used again
in `getOrCreateConstFP` for `OpConstantF` `addNumImm`.
`getOrCreateConstFloatReg` needed an `assignFloatTypeToVReg` helper
which called a `getOrCreateSPIRVFloatType` helper. There was no
equivalent IntegerType::get for floats so I handled this with a switch
statement on bit widths to get the right LLVM float type.
Finally, there is the use of `bool ZeroAsNull = STI.isOpenCLEnv();` This
is partly a cosmetic change. When Zeros are treated as nulls, we don't
create `OpConstantComposite` vectors which is something we do in the
DXCs SPIRV backend. The DXC SPIRV backend also does not use
`OpConstantNull`. Finally, I needed a means to test the behavior of the
OpConstantNull and `OpConstantComposite` changes and this was one way I
could do that via the same tests.
Commit: c258f573981336cd9f87f89e59c6c2117e5d44ec
https://github.com/llvm/llvm-project/commit/c258f573981336cd9f87f89e59c6c2117e5d44ec
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
Log Message:
-----------
[ELF] Move createSyntheticSections from Writer.cpp to SyntheticSections.cpp. NFC
SyntheticSections.cpp is more appropriate. This change enables
elimination of many explicit template instantiations.
Due to `make<SymbolTableSection<ELFT>>(*strtab)` in Arch/ARM.cpp,
we do not remove explicit template instantiations for SymbolTableSection.
Commit: 8cfa72ade9f2f7df81a008efea84f833b73494b9
https://github.com/llvm/llvm-project/commit/8cfa72ade9f2f7df81a008efea84f833b73494b9
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
Log Message:
-----------
[libc] fix typo in hdr/CMakeLists
Fixes #87896
Commit: fb771fe315654231f613a5501ebd538f036c78b6
https://github.com/llvm/llvm-project/commit/fb771fe315654231f613a5501ebd538f036c78b6
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
Log Message:
-----------
[mlir] Slightly optimize bytecode op numbering (#88310)
If the bytecode encoding supports properties, then the dictionary
attribute is always the raw dictionary attribute of the operation,
regardless of what it contains. Otherwise, get the dictionary attribute
from the op: if the op does not have properties, then it returns the raw
dictionary, otherwise it returns the combined inherent and discardable
attributes.
Commit: af7c196fb8d10f58a704b5a8d142feacf2f0236d
https://github.com/llvm/llvm-project/commit/af7c196fb8d10f58a704b5a8d142feacf2f0236d
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into lldb-enumerations.h (#87409)
When the `eBroadcastBitProgressCategory` bit was originally added to
Debugger.h and SBDebugger.h, each corresponding bit was added in order
of the other bits that were previously there. Since `Debugger.h` has an
enum bit that `SBDebugger.h` does not, this meant that their offsets did
not match.
Instead of trying to keep the bit offsets in sync between the two, it's
preferable to just move SBDebugger's enum into the main enumerations
header and use the bits from there. This also requires that API tests using the bits from SBDebugger update their usage.
Commit: 2fdfea088c8d78119b74116b94bc6729ce0e3efe
https://github.com/llvm/llvm-project/commit/2fdfea088c8d78119b74116b94bc6729ce0e3efe
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU] Add v2i32 to the VS_64 types. NFCI. (#88318)
I am trying to use VOP3Inst with intrinsic taking v2i32 operand and it
fails to create patterm without it.
Commit: 9f6d08f2566a26144ea1753f80aebb1f2ecfdc63
https://github.com/llvm/llvm-project/commit/9f6d08f2566a26144ea1753f80aebb1f2ecfdc63
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
Revert "[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into lldb-enumerations.h" (#88324)
Reverts llvm/llvm-project#87409 due a missed update to the broadcast bit
causing a build failure on the x86_64 Debian buildbot.
Commit: d8f1e5d2894f7f4edc2e85e63def456c7f430f34
https://github.com/llvm/llvm-project/commit/d8f1e5d2894f7f4edc2e85e63def456c7f430f34
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Remove accumulator initialization from tcMultiply and tcFullMultiply. NFCI (#88202)
The tcMultiplyPart routine has a flag that says whether to add to the
accumulator or overwrite it. By using the overwrite mode on the first
iteration we don't need to initialize the accumulator to zero.
Note, the initialization in tcFullMultiply was only initializing the
first rhsParts of dst. tcMultiplyPart always overwrites the rhsParts+1
part that just contains the last carry. The first write to each part of
dst past rhsParts is a carry write so that's how the upper part of dst
is initialized.
Commit: a9d4ddd98a0bc495126027122fdca751b6841ceb
https://github.com/llvm/llvm-project/commit/a9d4ddd98a0bc495126027122fdca751b6841ceb
Author: Oskar Wirga <oskar.wirga at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
Log Message:
-----------
[MergeFuncs/CFI] Ensure all type metadata is propogated for CFI (#88218)
I noticed that we weren't propagating ALL type metadata that was
attached to CFI functions:
# BEFORE
```
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !dbg !62311 !type !34028 !type !34029 !type !34030
... fn merging
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !type !34028
```
# AFTER
```
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !dbg !62311 !type !34028 !type !34029 !type !34030
... fn merging
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !type !type !34028 !type !34029 !type !34030
```
This patch makes sure that the entire vector of metadata is copied over.
Commit: 8136ac1c42dcfdd070f0bcba0f06424093df22db
https://github.com/llvm/llvm-project/commit/8136ac1c42dcfdd070f0bcba0f06424093df22db
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/module/iso_c_binding.f90
A flang/test/Driver/predefined-macros-powerpc2.f90
Log Message:
-----------
[Flang] Define c_int_fast16_t and c_int_fast32_t for PowerPC. (#88292)
On Linux, PowerPC defines `int_fast16_t` and `int_fast32_t` as `long`.
Need to update the corresponding type, `c_int_fast16_t` and
`c_int_fast32_t` in `iso_c_binding` module so they are interoparable.
Commit: acb7ddc5cf2f23416f65dcdc6c7fd08850ad961d
https://github.com/llvm/llvm-project/commit/acb7ddc5cf2f23416f65dcdc6c7fd08850ad961d
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll
M llvm/test/CodeGen/WebAssembly/tls-local-exec.ll
Log Message:
-----------
[WebAssembly] Remove threadlocal.address when disabling TLS (#88209)
Remove `llvm.threadlocal.address` intrinsic usage when disabling TLS.
This fixes errors revealed by the stricter IR verification introduced in
PR #87841.
Commit: d927d1867fa760836538beef2c4531c1a0b04e24
https://github.com/llvm/llvm-project/commit/d927d1867fa760836538beef2c4531c1a0b04e24
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
A llvm/test/Transforms/lower-builtin-allow-check-remarks.ll
Log Message:
-----------
[UBSAN] Emit optimization remarks (#88304)
Commit: 6ef4450705473e5cccb025219e8980999f456b71
https://github.com/llvm/llvm-project/commit/6ef4450705473e5cccb025219e8980999f456b71
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
Log Message:
-----------
[clang] Fix -Wunused-function in CGStmtOpenMP.cpp (NFC)
llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:7959:13:
error: unused function 'emitTargetTeamsLoopCodegenStatus' [-Werror,-Wunused-function]
static void emitTargetTeamsLoopCodegenStatus(CodeGenFunction &CGF,
^
1 error generated.
Commit: 19e516fbed809af094ce195a6a5baa2e1f30f3cd
https://github.com/llvm/llvm-project/commit/19e516fbed809af094ce195a6a5baa2e1f30f3cd
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 1fda1776e32b
Commit: 402706668362fee8f9a9d29fb6d4628df4d4fc42
https://github.com/llvm/llvm-project/commit/402706668362fee8f9a9d29fb6d4628df4d4fc42
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 59e66c515a47
Commit: 233edab8765686bd44611f9f7319d3ffbc12fbab
https://github.com/llvm/llvm-project/commit/233edab8765686bd44611f9f7319d3ffbc12fbab
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/AST/Interp/BUILD.gn
Log Message:
-----------
[gn build] Port 5d7d6ad663f8
Commit: 9786a3b4cf9d050a6f87358e3295da3d32fade5c
https://github.com/llvm/llvm-project/commit/9786a3b4cf9d050a6f87358e3295da3d32fade5c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn build] Port 0a1317564a6b
Commit: be10070f91b86a6f126d2451852242bfcb2cd366
https://github.com/llvm/llvm-project/commit/be10070f91b86a6f126d2451852242bfcb2cd366
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
Revert "[Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin"
This reverts commit ccdebbae4d77d3efc236af92c22941de5d437e01.
Causes test failures in the presence of Android runtime libraries in resource-dir.
See comments on https://github.com/llvm/llvm-project/pull/87866.
Commit: fca51911d4668b3a6b79eb956327eb81fad3f40c
https://github.com/llvm/llvm-project/commit/fca51911d4668b3a6b79eb956327eb81fad3f40c
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/Analysis/SelectorExtras.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/TransAPIUses.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/SelectorLocationsKind.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Analysis/ObjCNoReturn.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[NFC][Clang] Improve const correctness for IdentifierInfo (#79365)
The IdentifierInfo isn't typically modified. Use 'const' wherever
possible.
Commit: 51f1681424f1a8ccf1e3432d71c341e799597171
https://github.com/llvm/llvm-project/commit/51f1681424f1a8ccf1e3432d71c341e799597171
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/BracesRemoverTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't merge a short block for SBS_Never (#88238)
Also fix unit tests.
Fixes #87484.
Commit: 6b46166ef2612d2a58767447b3db8f0343afb552
https://github.com/llvm/llvm-project/commit/6b46166ef2612d2a58767447b3db8f0343afb552
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
[llvm][NFC] Suppress `-Wunused-result` call to `write`
Commit 87e6f87fe7e343eb656e9b49d30cbb065c086651 adds a call to `::write()`, which may be annotated w/ `warn_unused_result`, leading to `-Wunused-result` failures.
Commit: f4509cf284ced95f31dc7eb63144b4bc47899c43
https://github.com/llvm/llvm-project/commit/f4509cf284ced95f31dc7eb63144b4bc47899c43
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/setcc.txt
A llvm/test/MC/Disassembler/X86/apx/setzucc.txt
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
A llvm/test/MC/X86/apx/setcc-att.s
A llvm/test/MC/X86/apx/setcc-intel.s
A llvm/test/MC/X86/apx/setzucc-att.s
A llvm/test/MC/X86/apx/setzucc-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[X86][MC] Support enc/dec for SETZUCC and promoted SETCC. (#86473)
apx-spec: https://cdrdv2.intel.com/v1/dl/getContent/784266
apx-syntax-recommendation:
https://cdrdv2.intel.com/v1/dl/getContent/817241
Commit: fd50151180498f0de4fe26ff21d3e3b8accc4de0
https://github.com/llvm/llvm-project/commit/fd50151180498f0de4fe26ff21d3e3b8accc4de0
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
Log Message:
-----------
[RISCV] Only support SPLAT_VECTOR for Zvfhmin when also enable the scalar extension of half fp (#88275)
Commit: 999b9e6ddb4324600a46c8f7006acec81fe3af0f
https://github.com/llvm/llvm-project/commit/999b9e6ddb4324600a46c8f7006acec81fe3af0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use vector getConstant instead of getSplatVector+getConstant. NFC
Commit: dda73336ad22bd0b5ecda17040c50fb10fcbe5fb
https://github.com/llvm/llvm-project/commit/dda73336ad22bd0b5ecda17040c50fb10fcbe5fb
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
M llvm/test/ThinLTO/X86/dot-dumper.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
[ThinLTO]Record import type in GlobalValueSummary::GVFlags (#87597)
The motivating use case is to support import the function declaration
across modules to construct call graph edges for indirect calls [1]
when importing the function definition costs too much compile time
(e.g., the function is too large has no `noinline` attribute).
1. Currently, when the compiled IR module doesn't have a function
definition but its postlink combined summary contains the function
summary or a global alias summary with this function as aliasee, the
function definition will be imported from source module by IRMover. The
implementation is in FunctionImporter::importFunctions [2]
2. In order for FunctionImporter to import a declaration of a function,
both function summary and alias summary need to carry the def / decl
state. Specifically, all existing summary fields doesn't differ across
import modules, but the def / decl state of is decided by
`<ImportModule, Function>`.
This change encodes the def/decl state in `GlobalValueSummary::GVFlags`.
In the subsequent changes
1. The indexing step `computeImportForModule` [3]
will compute the set of definitions and the set of declarations for each
module, and passing on the information to bitcode writer.
2. Bitcode writer will look up the def/decl state and sets the state
when it writes out the flag value. This is demonstrated in
https://github.com/llvm/llvm-project/pull/87600
3. Function importer will read the def/decl state when reading the
combined summary to figure out two sets of global values, and IRMover
will be updated to import the declaration (aka linkGlobalValuePrototype [4])
into the destination module.
- The next change is https://github.com/llvm/llvm-project/pull/87600
[1] mentioned in rfc https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/blob/3b337242ee165554f0017b00671381ec5b1ba855/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1608-L1764
[3] https://github.com/llvm/llvm-project/blob/3b337242ee165554f0017b00671381ec5b1ba855/llvm/lib/Transforms/IPO/FunctionImport.cpp#L856
[4] https://github.com/llvm/llvm-project/blob/3b337242ee165554f0017b00671381ec5b1ba855/llvm/lib/Linker/IRMover.cpp#L605
Commit: 75edf0c18c777d69df7cfc6462e5233649bd47d4
https://github.com/llvm/llvm-project/commit/75edf0c18c777d69df7cfc6462e5233649bd47d4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[NFC] [Serialization] Avoid accessing PendingBodies as much as possible
The 'HaveBody' parameter in isConsumerInterestedIn is only used for the function decl if it
doesn't have a body already. It should be relatively less frequent than
the call to isConsumerInterestedIn. So we can delay the computing of
`HaveBdoy` to make it more efficient.
Commit: ce75c6556fb2dd52efed0c770e9c86ae7e624787
https://github.com/llvm/llvm-project/commit/ce75c6556fb2dd52efed0c770e9c86ae7e624787
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M .github/workflows/release-lit.yml
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang/docs/HIPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/SelectorExtras.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/TransAPIUses.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/SelectorLocationsKind.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/ObjCNoReturn.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/APINotes/instancetype.m
M clang/test/APINotes/retain-count-convention.m
M clang/test/APINotes/versioned.m
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/ms.cpp
A clang/test/AST/Interp/vectors.cpp
A clang/test/AST/Interp/weak.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
A clang/test/C/C11/n1514.c
A clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
A clang/test/CXX/drs/dr605.cpp
A clang/test/CXX/drs/dr650.cpp
A clang/test/CXX/drs/dr653.cpp
A clang/test/CXX/drs/dr658.cpp
A clang/test/CXX/drs/dr661.cpp
A clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
R clang/test/ClangScanDeps/modules-extension.c
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
A clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/Driver/aarch64-fixed-x-register.c
M clang/test/Driver/amdgpu-features.c
M clang/test/Driver/cuda-external-tools.cu
M clang/test/Driver/fsanitize.c
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/lld-repro.c
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/warning-flags.c
A clang/test/Modules/home-is-cwd-search-paths.c
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
A clang/test/Sema/tentative-array-decl.c
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
M clang/test/SemaTemplate/alias-templates.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Format/BracesRemoverTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Parser/token-sequence.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
R flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/token-sequence.cpp
R flang/lib/Parser/token-sequence.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/predefined-macros-powerpc2.f90
A flang/test/Evaluate/folding32.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Parser/compiler-directives.f90
A flang/test/Preprocessing/show-macros1.F90
A flang/test/Preprocessing/show-macros2.F90
A flang/test/Preprocessing/show-macros3.F90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/intrinsics04.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve29.f90
M flang/tools/f18/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
A libc/docs/ctype.rst
M libc/docs/gpu/building.rst
M libc/docs/index.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
M libc/test/src/math/RIntTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/docgen/ctype.json
M libclc/CMakeLists.txt
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__chrono/leap_second.h
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__config
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__format/escaped_output_table.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__locale
M libcxx/include/__stop_token/stop_callback.h
A libcxx/include/__utility/private_constructor_tag.h
M libcxx/include/chrono
M libcxx/include/functional
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/functional.inc
M libcxx/src/CMakeLists.txt
R libcxx/src/include/tzdb/leap_second_private.h
R libcxx/src/include/tzdb/time_zone_link_private.h
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/locale.cpp
M libcxx/src/random.cpp
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
R libcxx/test/std/utilities/expected/expected.bad/what.noexcept.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/support/test_chrono_leap_second.h
M libcxx/utils/CMakeLists.txt
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/run-buildbot
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_feature_test_macro_components.py
A libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/libcxx/test/features.py
M lld/COFF/ICF.cpp
M lld/ELF/DWARF.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
A lld/test/COFF/arm64x-icf.s
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBQueueDocstrings.i
M lldb/bindings/interface/SBThreadDocstrings.i
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M llvm/docs/Benchmarking.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
R llvm/include/llvm/Analysis/Interval.h
R llvm/include/llvm/Analysis/IntervalIterator.h
R llvm/include/llvm/Analysis/IntervalPartition.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/Support/ToolOutputFile.h
M llvm/include/llvm/Support/raw_socket_stream.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/Interval.cpp
R llvm/lib/Analysis/IntervalPartition.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/ToolOutputFile.cpp
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
M llvm/lib/Target/M68k/M68kInstrArithmetic.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/active_lane_mask.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
A llvm/test/Analysis/LoopAccessAnalysis/positive-dependence-distance-different-access-sizes.ll
A llvm/test/Analysis/ScalarEvolution/pr87798.ll
M llvm/test/Assembler/flags.ll
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/flags.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
M llvm/test/CodeGen/AArch64/elf-globals-static.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
A llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
A llvm/test/CodeGen/AArch64/sve2-bsl.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
A llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-non-empty-but-used-interval.mir
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking-wave32.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies-order-of-phi-incomings.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd-gfx12.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd.mir
M llvm/test/CodeGen/AMDGPU/vopc_dpp.mir
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
A llvm/test/CodeGen/M68k/Arith/unary.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/CodeGen/PowerPC/ppcsoftops.ll
M llvm/test/CodeGen/PowerPC/rldimi.ll
M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cmp-folds.ll
M llvm/test/CodeGen/RISCV/rvv/combine-sats.ll
M llvm/test/CodeGen/RISCV/rvv/combine-splats.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.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-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.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/fixed-vectors-vror.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vxor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vp-fadd-and-vp-fmul.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vand-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmarith-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmulh-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-int.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i1.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i64.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-zfa.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccsu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-vp.ll
M llvm/test/CodeGen/RISCV/stack-offset.ll
M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
A llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
M llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll
M llvm/test/CodeGen/WebAssembly/tls-local-exec.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/func-sanitizer.ll
M llvm/test/CodeGen/X86/i128-fpconv-win64-strict.ll
M llvm/test/CodeGen/X86/mmx-intrinsics.ll
M llvm/test/CodeGen/X86/patchable-prologue.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/strict-fadd-combines.ll
M llvm/test/CodeGen/X86/strict-fsub-combines.ll
M llvm/test/CodeGen/X86/uint_to_fp.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
M llvm/test/MC/Disassembler/M68k/arithmetic.txt
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/setcc.txt
A llvm/test/MC/Disassembler/X86/apx/setzucc.txt
A llvm/test/MC/M68k/Arith/Classes/MxNOT.s
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
A llvm/test/MC/X86/apx/setcc-att.s
A llvm/test/MC/X86/apx/setcc-intel.s
A llvm/test/MC/X86/apx/setzucc-att.s
A llvm/test/MC/X86/apx/setzucc-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/ThinLTO/X86/dot-dumper.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/HipStdPar/unsupported-thread-local-indirect-use.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/insertelement.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/shl-demand.ll
A llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
M llvm/test/Transforms/InstSimplify/icmp.ll
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
A llvm/test/Transforms/LoopLoadElim/non-const-distance.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
A llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
A llvm/test/Transforms/MemProfContextDisambiguation/overlapping-contexts.ll
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-vecop-vectorized.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
A llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
A llvm/test/Transforms/lower-builtin-allow-check-remarks.ll
M llvm/test/Transforms/lower-builtin-allow-check.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Bitcode/BitReaderTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/Interp/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
M mlir/test/Dialect/Vector/linearize.mlir
A mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
M mlir/test/IR/affine-walk.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/python/dialects/transform_structured_ext.py
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/LibC.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/test/lit.cfg
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/Support/GICHelper.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.6-beta.1
Compare: https://github.com/llvm/llvm-project/compare/c56e1f6a2ea9...ce75c6556fb2
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