[all-commits] [llvm/llvm-project] 70e61f: [clang][Interp][NFC] Rename InitPtr{, Pop} to Finis...
Corbin Robeck via All-commits
all-commits at lists.llvm.org
Fri Mar 1 00:31:41 PST 2024
Branch: refs/heads/users/crobeck/remove-renamedInGFX9-bit
Home: https://github.com/llvm/llvm-project
Commit: 70e61f5bbbb0958bebedffb1be285fdefb0e2f0a
https://github.com/llvm/llvm-project/commit/70e61f5bbbb0958bebedffb1be285fdefb0e2f0a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
Log Message:
-----------
[clang][Interp][NFC] Rename InitPtr{,Pop} to FinishInit{,Pop}
The old name clashes with the Init opcode.
Commit: 48bc9022b49cc452bd871c4942e5a059d226c9eb
https://github.com/llvm/llvm-project/commit/48bc9022b49cc452bd871c4942e5a059d226c9eb
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll
Log Message:
-----------
[MemProf] Fix the stack updating handling of pruned contexts (#81322)
Fix a bug in the handling of cases where a callsite's stack ids
partially overlap with the pruned context during matching of
calls to the graph contructed from the profiled contexts. This fix makes
the code match the comments.
Commit: 822142ffdfbe93f213c2c6b3f2aec7fe5f0af072
https://github.com/llvm/llvm-project/commit/822142ffdfbe93f213c2c6b3f2aec7fe5f0af072
Author: Joachim <jenke at itc.rwth-aachen.de>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M openmp/libompd/src/CMakeLists.txt
M openmp/libompd/src/omp-icv.cpp
M openmp/runtime/src/kmp.h
Log Message:
-----------
[OpenMP][OMPD] libompd must not link libomp (#83119)
Fixes a regression introduced in 91ccd8248.
The code for libompd includes kmp.h for enum kmp_sched. The dependency
to hwloc is not necessary. Avoid the dependency by skipping the
definitions in kmp.h using types from hwloc.h.
Fixes #80750
Commit: 55783bd0f9cfc30aa93c718919dab5419d86a2c6
https://github.com/llvm/llvm-project/commit/55783bd0f9cfc30aa93c718919dab5419d86a2c6
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
Log Message:
-----------
[HIP] fix host min/max in header (#82956)
CUDA defines min/max functions for host in global namespace.
HIP header needs to define them too to be compatible.
Currently only min/max(int, int) is defined. This causes
wrong result for arguments that are out of range for int.
This patch defines host min/max functions to be compatible
with CUDA.
Also allows users to define
`__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__` to disable
host max/min in global namespace.
min/max functions with mixed signed/unsigned integer
parameters are not defined unless
`__HIP_DEFINE_MIXED_HOST_MIN_MAX__` is defined.
Fixes: SWDEV-446564
Commit: d612d593eff4af7976250023bbff34d2c10f7526
https://github.com/llvm/llvm-project/commit/d612d593eff4af7976250023bbff34d2c10f7526
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix local lvalue compound literals
Same fix we had for global ones: leave a pointer on the stack.
Commit: 4cba5957e6ffdbeb44174d32da892ad09b3eed88
https://github.com/llvm/llvm-project/commit/4cba5957e6ffdbeb44174d32da892ad09b3eed88
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Set the LLVM data layout when lowering to ROCDL LLVM (#74501)
In order to ensure operations lower correctly (especially
memref.addrspacecast, which relies on the data layout benig set
correctly then dealing with dynamic memrefs) and to prevent compilation
issues later down the line, set the `llvm.data_layout` attribute on GPU
modules when lowering their contents to a ROCDL / AMDGPU target.
If there's a good way to test the embedded string to prevent it from
going out of sync with the LLVM TargetMachine, I'd appreciate hearing
about it. (Or, alternatively, if there's a place I could farctor the
string out to).
Commit: b70f42a430723e00d76cc99d348e4f2fec221cf1
https://github.com/llvm/llvm-project/commit/b70f42a430723e00d76cc99d348e4f2fec221cf1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
A clang/test/AST/Interp/spaceship.cpp
Log Message:
-----------
[clang][Interp] Handle PseudoObjectExprs
Evaluate all the semantic expressions.
Commit: 8b56d9ef4d946f772e6b7a8d508f34b586f684a0
https://github.com/llvm/llvm-project/commit/8b56d9ef4d946f772e6b7a8d508f34b586f684a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/tools/llvm-objcopy/CommonOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Improve help messages (#82830)
https://reviews.llvm.org/D63820 added
llvm/docs/CommandGuide/llvm-objcopy.rst with clearer semantics, e.g.
```
Read a list of names from the file <filename> and mark defined symbols with those names as global in the output
instead of the help message
Read a list of symbols from <filename> and marks them global" (omits "defined")
Rename sections called <old> to <new> in the output
instead of the help message
Rename a section from old to new (multiple sections may be named <old>
```
Sync the help messages to incorporate the CommandGuide improvement.
While here, switch to the conventional imperative sentences for a few
options. Additionally, mark some options as grp_coff or grp_macho.
Commit: 8a87f763a6841832e71bcd24dea45eac8d2dbee1
https://github.com/llvm/llvm-project/commit/8a87f763a6841832e71bcd24dea45eac8d2dbee1
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
Aim debugserver workaround more precisely. (#83099)
Commit: b98e6a5ced8328fdefa9a519ae98052a29462e23
https://github.com/llvm/llvm-project/commit/b98e6a5ced8328fdefa9a519ae98052a29462e23
Author: Elvina Yakubova <elvinayakubova at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/exclusive-instrument.s
Log Message:
-----------
[BOLT][AArch64] Skip BBs only instead of functions (#81989)
After [this
](https://github.com/llvm/llvm-project/commit/846eb76761c858cbfc75700bf68445e0e3ade48e)
commit we noticed that the size of fdata file decreased a lot. That's
why the better and more precise way will be to skip basic blocks with
exclusive instructions only instead of the whole function
Commit: 183b6b56f2602ea171502f9f2843c2c1caca2919
https://github.com/llvm/llvm-project/commit/183b6b56f2602ea171502f9f2843c2c1caca2919
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Ignore unnamed bitfields when checking init
Unnamed bitfields need to be ignored here.
Commit: ed35ad18ae7b5e61c24b63c22028ee0d1ba10e19
https://github.com/llvm/llvm-project/commit/ed35ad18ae7b5e61c24b63c22028ee0d1ba10e19
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[RemoveDIs][DebugInfo] Add DPValue checks to the verifier, prepare DPValue for parsing support (#79810)
As part of the RemoveDIs project, this patch adds support for checking
DPValues in the verifier. Although this is not strictly parsing-related,
and we currently automatically convert back to the old debug info format
immediately after parsing, we are approaching the point where the we can
operate end-to-end in the new debug info format, at which point it is
appropriate that we can actually validate modules in the new format.
This patch also contains some changes that aren't strictly
parsing-related, but are necessary class refactors for parsing support,
and are used in the verifier checks (i.e. changing the DILocalVariable
field to be a tracking MD reference, and adding a Verifier check to
confirm that it is a DILocalVariable).
Commit: a6b4e29c77ceb49e16bda38cfc4eddc2c4c76c0b
https://github.com/llvm/llvm-project/commit/a6b4e29c77ceb49e16bda38cfc4eddc2c4c76c0b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/test/src/math/smoke/CMakeLists.txt
Log Message:
-----------
[libc] Re-enable several GPU math smoke tests (#83147)
Summary:
These were originally disabled after some changes caused them to
regress. It seems that whatever broke them the first time a few months
ago has been fixed elsewhere and they now work again. Re-enable all the
ones that work. There are still a few that we need to look into, but
this is a good start.
Commit: c1c2c928f935ba142e4ee7804dd3ff0ebf0ce4c7
https://github.com/llvm/llvm-project/commit/c1c2c928f935ba142e4ee7804dd3ff0ebf0ce4c7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
Log Message:
-----------
[flang][cuda][NFC] Add test for attributes on procedure (#83044)
Similar to #82844. Test that CUDA attributes on procedure are correctly
imported.
Commit: b50bcc7ffb6ad6caa4c141a22915ab59f725b7ae
https://github.com/llvm/llvm-project/commit/b50bcc7ffb6ad6caa4c141a22915ab59f725b7ae
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libcxx/modules/modules.json.in
Log Message:
-----------
[libc++][modules] Fixes naming inconsistency. (#83036)
The modules used is-standard-library and is-std-library. The latter is
the name used in the SG15 proposal,
Fixes: https://github.com/llvm/llvm-project/issues/82879
Commit: aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c
https://github.com/llvm/llvm-project/commit/aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/math-macros.h
M libc/spec/stdc.td
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ilogb.cpp
M libc/src/math/generic/ilogbf.cpp
A libc/src/math/generic/ilogbf128.cpp
M libc/src/math/generic/ilogbl.cpp
A libc/src/math/generic/llogb.cpp
A libc/src/math/generic/llogbf.cpp
A libc/src/math/generic/llogbf128.cpp
A libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/logbf.cpp
A libc/src/math/generic/logbf128.cpp
A libc/src/math/ilogbf128.h
A libc/src/math/llogb.h
A libc/src/math/llogbf.h
A libc/src/math/llogbf128.h
A libc/src/math/llogbl.h
A libc/src/math/logbf128.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ilogb_test.cpp
A libc/test/src/math/smoke/ilogbf128_test.cpp
M libc/test/src/math/smoke/ilogbf_test.cpp
M libc/test/src/math/smoke/ilogbl_test.cpp
A libc/test/src/math/smoke/llogb_test.cpp
A libc/test/src/math/smoke/llogbf128_test.cpp
A libc/test/src/math/smoke/llogbf_test.cpp
A libc/test/src/math/smoke/llogbl_test.cpp
A libc/test/src/math/smoke/logbf128_test.cpp
Log Message:
-----------
[libc][math][c23] Add C23 math functions ilogbf128, logbf128, and llogb(f|l|f128). (#82144)
Commit: d29261074cd18383f4d3c84e740c66de738cb61f
https://github.com/llvm/llvm-project/commit/d29261074cd18383f4d3c84e740c66de738cb61f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/src/math/CMakeLists.txt
A libc/src/math/amdgpu/CMakeLists.txt
A libc/src/math/amdgpu/acos.cpp
A libc/src/math/amdgpu/acosf.cpp
A libc/src/math/amdgpu/acosh.cpp
A libc/src/math/amdgpu/acoshf.cpp
A libc/src/math/amdgpu/asin.cpp
A libc/src/math/amdgpu/asinf.cpp
A libc/src/math/amdgpu/asinh.cpp
A libc/src/math/amdgpu/asinhf.cpp
A libc/src/math/amdgpu/atan.cpp
A libc/src/math/amdgpu/atan2.cpp
A libc/src/math/amdgpu/atan2f.cpp
A libc/src/math/amdgpu/atanf.cpp
A libc/src/math/amdgpu/atanh.cpp
A libc/src/math/amdgpu/atanhf.cpp
A libc/src/math/amdgpu/ceil.cpp
A libc/src/math/amdgpu/ceilf.cpp
A libc/src/math/amdgpu/copysign.cpp
A libc/src/math/amdgpu/copysignf.cpp
A libc/src/math/amdgpu/cos.cpp
A libc/src/math/amdgpu/cosf.cpp
A libc/src/math/amdgpu/cosh.cpp
A libc/src/math/amdgpu/coshf.cpp
A libc/src/math/amdgpu/declarations.h
A libc/src/math/amdgpu/erf.cpp
A libc/src/math/amdgpu/erff.cpp
A libc/src/math/amdgpu/exp.cpp
A libc/src/math/amdgpu/exp10.cpp
A libc/src/math/amdgpu/exp10f.cpp
A libc/src/math/amdgpu/exp2.cpp
A libc/src/math/amdgpu/exp2f.cpp
A libc/src/math/amdgpu/expf.cpp
A libc/src/math/amdgpu/expm1.cpp
A libc/src/math/amdgpu/expm1f.cpp
A libc/src/math/amdgpu/fabs.cpp
A libc/src/math/amdgpu/fabsf.cpp
A libc/src/math/amdgpu/fdim.cpp
A libc/src/math/amdgpu/fdimf.cpp
A libc/src/math/amdgpu/floor.cpp
A libc/src/math/amdgpu/floorf.cpp
A libc/src/math/amdgpu/fma.cpp
A libc/src/math/amdgpu/fmaf.cpp
A libc/src/math/amdgpu/fmax.cpp
A libc/src/math/amdgpu/fmaxf.cpp
A libc/src/math/amdgpu/fmin.cpp
A libc/src/math/amdgpu/fminf.cpp
A libc/src/math/amdgpu/fmod.cpp
A libc/src/math/amdgpu/fmodf.cpp
A libc/src/math/amdgpu/frexp.cpp
A libc/src/math/amdgpu/frexpf.cpp
A libc/src/math/amdgpu/hypot.cpp
A libc/src/math/amdgpu/hypotf.cpp
A libc/src/math/amdgpu/ilogb.cpp
A libc/src/math/amdgpu/ilogbf.cpp
A libc/src/math/amdgpu/ldexp.cpp
A libc/src/math/amdgpu/ldexpf.cpp
A libc/src/math/amdgpu/llrint.cpp
A libc/src/math/amdgpu/llrintf.cpp
A libc/src/math/amdgpu/llround.cpp
A libc/src/math/amdgpu/llroundf.cpp
A libc/src/math/amdgpu/log.cpp
A libc/src/math/amdgpu/log10.cpp
A libc/src/math/amdgpu/log10f.cpp
A libc/src/math/amdgpu/log1p.cpp
A libc/src/math/amdgpu/log1pf.cpp
A libc/src/math/amdgpu/log2.cpp
A libc/src/math/amdgpu/log2f.cpp
A libc/src/math/amdgpu/logb.cpp
A libc/src/math/amdgpu/logbf.cpp
A libc/src/math/amdgpu/logf.cpp
A libc/src/math/amdgpu/lrint.cpp
A libc/src/math/amdgpu/lrintf.cpp
A libc/src/math/amdgpu/lround.cpp
A libc/src/math/amdgpu/lroundf.cpp
A libc/src/math/amdgpu/modf.cpp
A libc/src/math/amdgpu/modff.cpp
A libc/src/math/amdgpu/nearbyint.cpp
A libc/src/math/amdgpu/nearbyintf.cpp
A libc/src/math/amdgpu/nextafter.cpp
A libc/src/math/amdgpu/nextafterf.cpp
A libc/src/math/amdgpu/platform.h
A libc/src/math/amdgpu/pow.cpp
A libc/src/math/amdgpu/powf.cpp
A libc/src/math/amdgpu/remainder.cpp
A libc/src/math/amdgpu/remainderf.cpp
A libc/src/math/amdgpu/remquo.cpp
A libc/src/math/amdgpu/remquof.cpp
A libc/src/math/amdgpu/rint.cpp
A libc/src/math/amdgpu/rintf.cpp
A libc/src/math/amdgpu/round.cpp
A libc/src/math/amdgpu/roundf.cpp
A libc/src/math/amdgpu/scalbn.cpp
A libc/src/math/amdgpu/scalbnf.cpp
A libc/src/math/amdgpu/sin.cpp
A libc/src/math/amdgpu/sincos.cpp
A libc/src/math/amdgpu/sincosf.cpp
A libc/src/math/amdgpu/sinf.cpp
A libc/src/math/amdgpu/sinh.cpp
A libc/src/math/amdgpu/sinhf.cpp
A libc/src/math/amdgpu/sqrt.cpp
A libc/src/math/amdgpu/sqrtf.cpp
A libc/src/math/amdgpu/tan.cpp
A libc/src/math/amdgpu/tanf.cpp
A libc/src/math/amdgpu/tanh.cpp
A libc/src/math/amdgpu/tanhf.cpp
A libc/src/math/amdgpu/tgamma.cpp
A libc/src/math/amdgpu/tgammaf.cpp
A libc/src/math/amdgpu/trunc.cpp
A libc/src/math/amdgpu/truncf.cpp
R libc/src/math/gpu/CMakeLists.txt
R libc/src/math/gpu/ceil.cpp
R libc/src/math/gpu/ceilf.cpp
R libc/src/math/gpu/copysign.cpp
R libc/src/math/gpu/copysignf.cpp
R libc/src/math/gpu/fabs.cpp
R libc/src/math/gpu/fabsf.cpp
R libc/src/math/gpu/floor.cpp
R libc/src/math/gpu/floorf.cpp
R libc/src/math/gpu/fma.cpp
R libc/src/math/gpu/fmaf.cpp
R libc/src/math/gpu/fmax.cpp
R libc/src/math/gpu/fmaxf.cpp
R libc/src/math/gpu/fmin.cpp
R libc/src/math/gpu/fminf.cpp
R libc/src/math/gpu/fmod.cpp
R libc/src/math/gpu/fmodf.cpp
R libc/src/math/gpu/llround.cpp
R libc/src/math/gpu/llroundf.cpp
R libc/src/math/gpu/lround.cpp
R libc/src/math/gpu/lroundf.cpp
R libc/src/math/gpu/modf.cpp
R libc/src/math/gpu/modff.cpp
R libc/src/math/gpu/nearbyint.cpp
R libc/src/math/gpu/nearbyintf.cpp
R libc/src/math/gpu/remainder.cpp
R libc/src/math/gpu/remainderf.cpp
R libc/src/math/gpu/rint.cpp
R libc/src/math/gpu/rintf.cpp
R libc/src/math/gpu/round.cpp
R libc/src/math/gpu/roundf.cpp
R libc/src/math/gpu/sinh.cpp
R libc/src/math/gpu/sqrt.cpp
R libc/src/math/gpu/sqrtf.cpp
R libc/src/math/gpu/tan.cpp
R libc/src/math/gpu/tanh.cpp
R libc/src/math/gpu/trunc.cpp
R libc/src/math/gpu/truncf.cpp
R libc/src/math/gpu/vendor/CMakeLists.txt
R libc/src/math/gpu/vendor/acos.cpp
R libc/src/math/gpu/vendor/acosf.cpp
R libc/src/math/gpu/vendor/acosh.cpp
R libc/src/math/gpu/vendor/acoshf.cpp
R libc/src/math/gpu/vendor/amdgpu/amdgpu.h
R libc/src/math/gpu/vendor/amdgpu/declarations.h
R libc/src/math/gpu/vendor/amdgpu/platform.h
R libc/src/math/gpu/vendor/asin.cpp
R libc/src/math/gpu/vendor/asinf.cpp
R libc/src/math/gpu/vendor/asinh.cpp
R libc/src/math/gpu/vendor/asinhf.cpp
R libc/src/math/gpu/vendor/atan.cpp
R libc/src/math/gpu/vendor/atan2.cpp
R libc/src/math/gpu/vendor/atan2f.cpp
R libc/src/math/gpu/vendor/atanf.cpp
R libc/src/math/gpu/vendor/atanh.cpp
R libc/src/math/gpu/vendor/atanhf.cpp
R libc/src/math/gpu/vendor/common.h
R libc/src/math/gpu/vendor/cos.cpp
R libc/src/math/gpu/vendor/cosf.cpp
R libc/src/math/gpu/vendor/cosh.cpp
R libc/src/math/gpu/vendor/coshf.cpp
R libc/src/math/gpu/vendor/erf.cpp
R libc/src/math/gpu/vendor/erff.cpp
R libc/src/math/gpu/vendor/exp.cpp
R libc/src/math/gpu/vendor/exp10.cpp
R libc/src/math/gpu/vendor/exp10f.cpp
R libc/src/math/gpu/vendor/exp2.cpp
R libc/src/math/gpu/vendor/exp2f.cpp
R libc/src/math/gpu/vendor/expf.cpp
R libc/src/math/gpu/vendor/expm1.cpp
R libc/src/math/gpu/vendor/expm1f.cpp
R libc/src/math/gpu/vendor/fdim.cpp
R libc/src/math/gpu/vendor/fdimf.cpp
R libc/src/math/gpu/vendor/frexp.cpp
R libc/src/math/gpu/vendor/frexpf.cpp
R libc/src/math/gpu/vendor/hypot.cpp
R libc/src/math/gpu/vendor/hypotf.cpp
R libc/src/math/gpu/vendor/ilogb.cpp
R libc/src/math/gpu/vendor/ilogbf.cpp
R libc/src/math/gpu/vendor/ldexp.cpp
R libc/src/math/gpu/vendor/ldexpf.cpp
R libc/src/math/gpu/vendor/llrint.cpp
R libc/src/math/gpu/vendor/llrintf.cpp
R libc/src/math/gpu/vendor/log.cpp
R libc/src/math/gpu/vendor/log10.cpp
R libc/src/math/gpu/vendor/log10f.cpp
R libc/src/math/gpu/vendor/log1p.cpp
R libc/src/math/gpu/vendor/log1pf.cpp
R libc/src/math/gpu/vendor/log2.cpp
R libc/src/math/gpu/vendor/log2f.cpp
R libc/src/math/gpu/vendor/logb.cpp
R libc/src/math/gpu/vendor/logbf.cpp
R libc/src/math/gpu/vendor/logf.cpp
R libc/src/math/gpu/vendor/lrint.cpp
R libc/src/math/gpu/vendor/lrintf.cpp
R libc/src/math/gpu/vendor/nextafter.cpp
R libc/src/math/gpu/vendor/nextafterf.cpp
R libc/src/math/gpu/vendor/nvptx/declarations.h
R libc/src/math/gpu/vendor/nvptx/nvptx.h
R libc/src/math/gpu/vendor/pow.cpp
R libc/src/math/gpu/vendor/powf.cpp
R libc/src/math/gpu/vendor/remquo.cpp
R libc/src/math/gpu/vendor/remquof.cpp
R libc/src/math/gpu/vendor/scalbn.cpp
R libc/src/math/gpu/vendor/scalbnf.cpp
R libc/src/math/gpu/vendor/sin.cpp
R libc/src/math/gpu/vendor/sincos.cpp
R libc/src/math/gpu/vendor/sincosf.cpp
R libc/src/math/gpu/vendor/sinf.cpp
R libc/src/math/gpu/vendor/sinh.cpp
R libc/src/math/gpu/vendor/sinhf.cpp
R libc/src/math/gpu/vendor/tan.cpp
R libc/src/math/gpu/vendor/tanf.cpp
R libc/src/math/gpu/vendor/tanh.cpp
R libc/src/math/gpu/vendor/tanhf.cpp
R libc/src/math/gpu/vendor/tgamma.cpp
R libc/src/math/gpu/vendor/tgammaf.cpp
A libc/src/math/nvptx/CMakeLists.txt
A libc/src/math/nvptx/acos.cpp
A libc/src/math/nvptx/acosf.cpp
A libc/src/math/nvptx/acosh.cpp
A libc/src/math/nvptx/acoshf.cpp
A libc/src/math/nvptx/asin.cpp
A libc/src/math/nvptx/asinf.cpp
A libc/src/math/nvptx/asinh.cpp
A libc/src/math/nvptx/asinhf.cpp
A libc/src/math/nvptx/atan.cpp
A libc/src/math/nvptx/atan2.cpp
A libc/src/math/nvptx/atan2f.cpp
A libc/src/math/nvptx/atanf.cpp
A libc/src/math/nvptx/atanh.cpp
A libc/src/math/nvptx/atanhf.cpp
A libc/src/math/nvptx/ceil.cpp
A libc/src/math/nvptx/ceilf.cpp
A libc/src/math/nvptx/copysign.cpp
A libc/src/math/nvptx/copysignf.cpp
A libc/src/math/nvptx/cos.cpp
A libc/src/math/nvptx/cosf.cpp
A libc/src/math/nvptx/cosh.cpp
A libc/src/math/nvptx/coshf.cpp
A libc/src/math/nvptx/declarations.h
A libc/src/math/nvptx/erf.cpp
A libc/src/math/nvptx/erff.cpp
A libc/src/math/nvptx/exp.cpp
A libc/src/math/nvptx/exp10.cpp
A libc/src/math/nvptx/exp10f.cpp
A libc/src/math/nvptx/exp2.cpp
A libc/src/math/nvptx/exp2f.cpp
A libc/src/math/nvptx/expf.cpp
A libc/src/math/nvptx/expm1.cpp
A libc/src/math/nvptx/expm1f.cpp
A libc/src/math/nvptx/fabs.cpp
A libc/src/math/nvptx/fabsf.cpp
A libc/src/math/nvptx/fdim.cpp
A libc/src/math/nvptx/fdimf.cpp
A libc/src/math/nvptx/floor.cpp
A libc/src/math/nvptx/floorf.cpp
A libc/src/math/nvptx/fma.cpp
A libc/src/math/nvptx/fmaf.cpp
A libc/src/math/nvptx/fmax.cpp
A libc/src/math/nvptx/fmaxf.cpp
A libc/src/math/nvptx/fmin.cpp
A libc/src/math/nvptx/fminf.cpp
A libc/src/math/nvptx/fmod.cpp
A libc/src/math/nvptx/fmodf.cpp
A libc/src/math/nvptx/frexp.cpp
A libc/src/math/nvptx/frexpf.cpp
A libc/src/math/nvptx/hypot.cpp
A libc/src/math/nvptx/hypotf.cpp
A libc/src/math/nvptx/ilogb.cpp
A libc/src/math/nvptx/ilogbf.cpp
A libc/src/math/nvptx/ldexp.cpp
A libc/src/math/nvptx/ldexpf.cpp
A libc/src/math/nvptx/llrint.cpp
A libc/src/math/nvptx/llrintf.cpp
A libc/src/math/nvptx/llround.cpp
A libc/src/math/nvptx/llroundf.cpp
A libc/src/math/nvptx/log.cpp
A libc/src/math/nvptx/log10.cpp
A libc/src/math/nvptx/log10f.cpp
A libc/src/math/nvptx/log1p.cpp
A libc/src/math/nvptx/log1pf.cpp
A libc/src/math/nvptx/log2.cpp
A libc/src/math/nvptx/log2f.cpp
A libc/src/math/nvptx/logb.cpp
A libc/src/math/nvptx/logbf.cpp
A libc/src/math/nvptx/logf.cpp
A libc/src/math/nvptx/lrint.cpp
A libc/src/math/nvptx/lrintf.cpp
A libc/src/math/nvptx/lround.cpp
A libc/src/math/nvptx/lroundf.cpp
A libc/src/math/nvptx/modf.cpp
A libc/src/math/nvptx/modff.cpp
A libc/src/math/nvptx/nearbyint.cpp
A libc/src/math/nvptx/nearbyintf.cpp
A libc/src/math/nvptx/nextafter.cpp
A libc/src/math/nvptx/nextafterf.cpp
A libc/src/math/nvptx/nvptx.h
A libc/src/math/nvptx/pow.cpp
A libc/src/math/nvptx/powf.cpp
A libc/src/math/nvptx/remainder.cpp
A libc/src/math/nvptx/remainderf.cpp
A libc/src/math/nvptx/remquo.cpp
A libc/src/math/nvptx/remquof.cpp
A libc/src/math/nvptx/rint.cpp
A libc/src/math/nvptx/rintf.cpp
A libc/src/math/nvptx/round.cpp
A libc/src/math/nvptx/roundf.cpp
A libc/src/math/nvptx/scalbn.cpp
A libc/src/math/nvptx/scalbnf.cpp
A libc/src/math/nvptx/sin.cpp
A libc/src/math/nvptx/sincos.cpp
A libc/src/math/nvptx/sincosf.cpp
A libc/src/math/nvptx/sinf.cpp
A libc/src/math/nvptx/sinh.cpp
A libc/src/math/nvptx/sinhf.cpp
A libc/src/math/nvptx/sqrt.cpp
A libc/src/math/nvptx/sqrtf.cpp
A libc/src/math/nvptx/tan.cpp
A libc/src/math/nvptx/tanf.cpp
A libc/src/math/nvptx/tanh.cpp
A libc/src/math/nvptx/tanhf.cpp
A libc/src/math/nvptx/tgamma.cpp
A libc/src/math/nvptx/tgammaf.cpp
A libc/src/math/nvptx/trunc.cpp
A libc/src/math/nvptx/truncf.cpp
Log Message:
-----------
[libc] Clean up GPU math implementations (#83133)
Summary:
The math directory likes to do architecture specific implementations of
these math functions. For the GPU case it was complicated by the fact
that both NVPTX and AMDGPU had to go through the same code paths. Since
reworking the GPU target this is no longer the case and we can simply
use the same scheme. This patch moves all the old code into two separate
directories. This likely results in a net increase in code, but it's
easier to reason with.
Commit: ae94354721d546eb20fc64384bfdaeb87a08564d
https://github.com/llvm/llvm-project/commit/ae94354721d546eb20fc64384bfdaeb87a08564d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LLVM][LangRef] Remove bogus ':' from vector constant text.
Commit: 9d9c01243038487402c366787f749349b76473ba
https://github.com/llvm/llvm-project/commit/9d9c01243038487402c366787f749349b76473ba
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M flang/runtime/Float128Math/CMakeLists.txt
M flang/runtime/Float128Math/math-entries.h
Log Message:
-----------
[flang][runtime] Added F128 wrappers for LDBL_MANT_DIG == 113 targets. (#83102)
We can use 'long double' variants of the math functions in this case.
I used the callees from STD namespace, except for the Bessel's
functions.
The new code can be enabled with -DFLANG_RUNTIME_F128_MATH_LIB=libm.
Support for complex data types is pending.
Commit: c95febcb4008c40a2b514bd6e2b56e0aa17457a3
https://github.com/llvm/llvm-project/commit/c95febcb4008c40a2b514bd6e2b56e0aa17457a3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerBITREVERSE - add handling for all legal 128/256/512-bit vector types, not just vXi8
Move the BITREVERSE(BSWAP(X)) expansion into LowerBITREVERSE to help simplify #81764
Commit: f7cf1f6236ee299d65c2b33429c1d3b729f54c32
https://github.com/llvm/llvm-project/commit/f7cf1f6236ee299d65c2b33429c1d3b729f54c32
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[CodeGen][MISched] dumpSched direction depends on field in DAG.
This is a precommit to supporting post reg-alloc bottom up scheduling.
We'd like to have post-ra scheduling direction that can be different from
pre-ra direction. The current dumpSchedule function is changed in this
patch to support the fact that the post-ra and pre-ra directions will
depend on different command line options.
Commit: 9106b58ce4e8dada167eec50178a9e154342e4ba
https://github.com/llvm/llvm-project/commit/9106b58ce4e8dada167eec50178a9e154342e4ba
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
A llvm/test/CodeGen/RISCV/misched-postra-direction.mir
Log Message:
-----------
[CodeGen][MISched] Add misched post-regalloc bottom-up scheduling
There is the possibility that the bottom-up direction will lead to
performance improvements on certain targets, as this is certainly the case for
the pre-regalloc GenericScheduler. This patch will give people the
opportunity to experiment for their sub-targets. However, this patch
keeps the top-down approach as the default for the PostGenericScheduler
since that is what subtargets expect today.
Commit: 770694539bde0f1b706c70d87dd70777c94f178f
https://github.com/llvm/llvm-project/commit/770694539bde0f1b706c70d87dd70777c94f178f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/src/math/amdgpu/fmax.cpp
M libc/src/math/amdgpu/fmaxf.cpp
M libc/src/math/amdgpu/fmin.cpp
M libc/src/math/amdgpu/fminf.cpp
M libc/src/math/nvptx/fmax.cpp
M libc/src/math/nvptx/fmaxf.cpp
M libc/src/math/nvptx/fmin.cpp
M libc/src/math/nvptx/fminf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
Log Message:
-----------
[libc] Work around incorrect fmin/fmax results for +/-x (#83158)
Summary:
The IEEE 754 standard as of the 2019 revision states that for fmin -0.0
is always less than 0.0 and for fmax 0.0 is always greater than 0.0.
These are currently not respected by the builtin value and thus cause
the tests to fail. This patch works around it in the implementation for
now by explicitly modifying the sign bit.
Commit: f4fad827ca2060ebf31b7e26b5ff6604bd18015b
https://github.com/llvm/llvm-project/commit/f4fad827ca2060ebf31b7e26b5ff6604bd18015b
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/test/Target/LLVMIR/erase-dangling-constants.mlir
Log Message:
-----------
[NFC] Add REQUIRES: asserts to limit the test to debug only. (#83145)
Commit: 335ac4108dda907e152ac22e03b53c30860157a8
https://github.com/llvm/llvm-project/commit/335ac4108dda907e152ac22e03b53c30860157a8
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/allow-shlib-undefined.s
M lld/test/ELF/unresolved-symbols.s
M lld/test/ELF/wrap-shlib-undefined.s
Log Message:
-----------
Improve readability of "undefined reference" message (#82671)
The current message implies a command line flag caused an undefined
reference. This of course is wrong and causes confusion. The message now
more accurately reflects the true state of affairs.
Commit: 12df1cfdd130d8d2648881b62061153a2732bee4
https://github.com/llvm/llvm-project/commit/12df1cfdd130d8d2648881b62061153a2732bee4
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[LLVM] Remove bogus whitespace from AArch64TargetParser.h
Commit: 0ef66fcc858cc8abb978d83d48b3e7a8b23742c9
https://github.com/llvm/llvm-project/commit/0ef66fcc858cc8abb978d83d48b3e7a8b23742c9
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/Options.h
M lldb/source/Commands/CommandObjectBreakpoint.cpp
Log Message:
-----------
[lldb] Use CreateOptionParsingError in CommandObjectBreakpoint (#83086)
This updates the remaining SetOptionValue methods in
CommandObjectBreakpoint to use CreateOptionParsingError.
I found a few minor bugs that were fixed during this refactor (e.g.
using the wrong flag in an error message). That is one of the benefits
of centralizing error message creation.
I also found some option parsing code that is written incorrectly. I do
not make an attempt to update those here because this PR is primarily
about changing existing error handling code, not adding new error
handling code.
Commit: abc693fb4051dfb3a49ba2dcdbc2d164c53f2a51
https://github.com/llvm/llvm-project/commit/abc693fb4051dfb3a49ba2dcdbc2d164c53f2a51
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
Log Message:
-----------
[AArch64] Skip over shadow space for ARM64EC entry thunk variadic calls (#80994)
When in an entry thunk the x64 SP is passed in x4 but this cannot be
directly passed through since x64 varargs calls have a 32 byte shadow
store at SP followed by the in-stack parameters. ARM64EC varargs calls
on the other hand expect x4 to point to the first in-stack parameter.
Commit: 2d704f4bf2edb0f9343dac818ab4d29442be9968
https://github.com/llvm/llvm-project/commit/2d704f4bf2edb0f9343dac818ab4d29442be9968
Author: jimingham <jingham at apple.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectHelp.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectQuit.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectThreadUtil.cpp
M lldb/source/Commands/CommandObjectTrace.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
Start to clean up the process of defining command arguments. (#83097)
Partly, there's just a lot of unnecessary boiler plate. It's also
possible to define combinations of arguments that make no sense (e.g.
eArgRepeatPlus followed by eArgRepeatPlain...) but these are never
checked since we just push_back directly into the argument definitions.
This commit is step 1 of this cleanup - do the obvious stuff. In it, all
the simple homogenous argument lists and the breakpoint/watchpoint
ID/Range types, are set with common functions. This is an NFC change, it
just centralizes boiler plate. There's no checking yet because you can't
get a single argument wrong.
The end goal is that all argument definition goes through functions and
m_arguments is hidden so that you can't define inconsistent argument
sets.
Commit: 7b11e2ec39ae01f53d53250551e207583bd51e80
https://github.com/llvm/llvm-project/commit/7b11e2ec39ae01f53d53250551e207583bd51e80
Author: AMS21 <AMS21.github at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 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] Fix `cppcoreguidelines-missing-std-forward` false positive for deleted functions (#83055)
Improved check by no longer giving false positives for deleted functions.
Commit: 563f414e049dc06dcb955f565fcff3c663982ee4
https://github.com/llvm/llvm-project/commit/563f414e049dc06dcb955f565fcff3c663982ee4
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][AMDGPU] Set uniform-work-group-size=true by default (#79077)
GPU kernels generated via typical MLIR mechanisms make the assumption
that all workgroups are of uniform size, and so, as in OpenMP, it is
appropriate to set the "uniform-work-group-size"="true" attribute on
these functions by default. This commit makes that choice.
In the event it is needed, this commit adds
`rocdl.uniform_work_group_size` as an attribute to be set on LLVM
functions that can be used to override the default.
In addition, add proper failure messages to translation
Commit: e427e934f677567f8184ff900cb4cbdb8cf21a21
https://github.com/llvm/llvm-project/commit/e427e934f677567f8184ff900cb4cbdb8cf21a21
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
[lldb][dap] Avoid concurrent `HandleCommand` calls (#83162)
The `EventThreadFunction` can end up calling `HandleCommand`
concurrently with the main request processing thread. The underlying API
does not appear to be thread safe, so add a narrowly scoped mutex lock
to prevent calling it in this place from more than one thread.
Fixes #81686. Prior to this, TestDAP_launch.py is 4% flaky. After, it
passes in 1000 runs.
Commit: f44c3faccaa4bcc9b8b7739a76a52d328fbb8d91
https://github.com/llvm/llvm-project/commit/f44c3faccaa4bcc9b8b7739a76a52d328fbb8d91
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
R llvm/test/CodeGen/Hexagon/post_inc_store.mir
R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
Log Message:
-----------
Revert "[Hexagon] Optimize post-increment load and stores in loops. (… (#83151)
…#82418)"
This reverts commit d62ca8def395ac165f253fdde1d93725394a4d53.
Commit: 13fd4bf4e53391aab3cdfd922e9ceb4ad1225d1e
https://github.com/llvm/llvm-project/commit/13fd4bf4e53391aab3cdfd922e9ceb4ad1225d1e
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M llvm/docs/CommandGuide/llvm-ar.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Object/Archive.h
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (#82888)
Commit: 8e3b60540c81354b321018a47bf159ca9b52d776
https://github.com/llvm/llvm-project/commit/8e3b60540c81354b321018a47bf159ca9b52d776
Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/config/config.json
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/fuzzing/stdio/CMakeLists.txt
A libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter_atlas.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
A libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_config.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add fixed point support to printf (#82707)
This patch adds the r, R, k, and K conversion specifiers to printf, with
accompanying tests. They are guarded behind the
LIBC_COPT_PRINTF_DISABLE_FIXED_POINT flag as well as automatic fixed
point support detection.
Commit: 16e74fd48988ac95551d0f64e1b36f78a82a89a2
https://github.com/llvm/llvm-project/commit/16e74fd48988ac95551d0f64e1b36f78a82a89a2
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
M compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-write-buffer-internal.c
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Instrumentation/InstrProfiling/coverage.ll
M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/Transforms/PGOProfile/comdat_internal.ll
M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
A llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/tools/llvm-profdata/binary-ids-padding.test
M llvm/test/tools/llvm-profdata/large-binary-id-size.test
M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
M llvm/test/tools/llvm-profdata/raw-two-profiles.test
Log Message:
-----------
Reland "[TypeProf][InstrPGO] Introduce raw and instr profile format change for type profiling." (#82711)
New change on top of [reviewed
patch](https://github.com/llvm/llvm-project/pull/81691) are [in commits
after this
one](https://github.com/llvm/llvm-project/pull/82711/commits/d0757f46b3e3865b5f7c552bc0744309a363e0ac).
Previous commits are restored from the remote branch with timestamps.
1. Fix build breakage for non-ELF platforms, by defining the missing
functions {`__llvm_profile_begin_vtables`, `__llvm_profile_end_vtables`,
`__llvm_profile_begin_vtabnames `, `__llvm_profile_end_vtabnames`}
everywhere.
* Tested on mac laptop (for darwins) and Windows. Specifically,
functions in `InstrProfilingPlatformWindows.c` returns `NULL` to make it
more explicit that type prof isn't supported; see comments for the
reason.
* For the rest (AIX, other), mostly follow existing examples (like this
[one](https://github.com/llvm/llvm-project/commit/f95b2f1acf1171abb0d00089fd4c9238753847e3))
2. Rename `__llvm_prf_vtabnames` -> `__llvm_prf_vns` for shorter section
name, and make returned pointers
[const](https://github.com/llvm/llvm-project/pull/82711/commits/a825d2a4ec00f07772a373091a702f149c3b0c34#diff-4de780ce726d76b7abc9d3353aef95013e7b21e7bda01be8940cc6574fb0b5ffR120-R121)
**Original Description**
* Raw profile format
- Header: records the byte size of compressed vtable names, and the
number of profiled vtable entries (call it `VTableProfData`). Header
also records padded bytes of each section.
- Payload: adds a section for compressed vtable names, and a section to
store `VTableProfData`. Both sections are padded so the size is a
multiple of 8.
* Indexed profile format
- Header: records the byte offset of compressed vtable names.
- Payload: adds a section to store compressed vtable names. This section
is used by `llvm-profdata` to show the list of vtables profiled for an
instrumented site.
[The originally reviewed
patch](https://github.com/llvm/llvm-project/pull/66825) will have
profile reader/write change and llvm-profdata change.
- To ensure this PR has all the necessary profile format change along
with profile version bump, created a copy of the originally reviewed
patch in https://github.com/llvm/llvm-project/pull/80761. The copy
doesn't have profile format change, but it has the set of tests which
covers type profile generation, profile read and profile merge. Tests
pass there.
rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600
---------
Co-authored-by: modiking <modiking213 at gmail.com>
Commit: 40ba1f60e9f4b186d71272d4bc23b5af6204244d
https://github.com/llvm/llvm-project/commit/40ba1f60e9f4b186d71272d4bc23b5af6204244d
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/FormatString.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/PrintfFormatString.cpp
A clang/test/Sema/format-fixed-point.c
Log Message:
-----------
[clang] Update -Wformat warnings for fixed-point format specifiers (#82855)
ISO/IEC TR 18037 defines %r, %R, %k, and %K for fixed point format
specifiers. -Wformat should not warn on these when they are provided.
Commit: 19181f24e516ce1cb58cd5ba27515eb968ae22d9
https://github.com/llvm/llvm-project/commit/19181f24e516ce1cb58cd5ba27515eb968ae22d9
Author: Alex Richardson <alexrichardson at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
Log Message:
-----------
[compiler-rt] Add missing include to sanitizer_stackdepot_test.cpp
Without this change I am seeing build failures due to missing
std::next_permutation since my standard library does implicitly pull
in <algorithm> anymore.
Commit: 9ca8db352d22444feabd859380252f13826a8aff
https://github.com/llvm/llvm-project/commit/9ca8db352d22444feabd859380252f13826a8aff
Author: Micah Weston <micahsweston at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Support/BlockFrequency.h
M llvm/lib/Analysis/BlockFrequencyInfo.cpp
M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/Support/BlockFrequency.cpp
M llvm/test/tools/llvm-objdump/X86/elf-pgoanalysismap.yaml
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-pgo-analysis-map.test
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP] Adds pretty printing of BFI and BPI for PGO Analysis Map in tools. (#82292)
Primary change is to add a flag `--pretty-pgo-analysis-map` to
llvm-readobj and llvm-objdump that prints block frequencies and branch
probabilities in the same manner as BFI and BPI respectively. This can
be helpful if you are manually inspecting the outputs from the tools.
In order to print, I moved the `printBlockFreqImpl` function from
Analysis to Support and renamed it to `printRelativeBlockFreq`.
Commit: d23ef9ef3685eb42ebf719bc28cfe2e4651932fc
https://github.com/llvm/llvm-project/commit/d23ef9ef3685eb42ebf719bc28cfe2e4651932fc
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
A clang/test/SemaCXX/gh53815.cpp
Log Message:
-----------
[Clang] [Sema] Handle placeholders in '.*' expressions (#83103)
When analysing whether we should handle a binary expression as an
overloaded operator call or a builtin operator, we were calling
`checkPlaceholderForOverload()`, which takes care of any placeholders
that are not overload sets—which would usually make sense since those
need to be handled as part of overload resolution.
Unfortunately, we were also doing that for `.*`, which is not
overloadable, and then proceeding to create a builtin operator anyway,
which would crash if the RHS happened to be an unresolved overload set
(due hitting an assertion in `CreateBuiltinBinOp()`—specifically, in one
of its callees—in the `.*` case that makes sure its arguments aren’t
placeholders).
This pr instead makes it so we check for *all* placeholders early if the
operator is `.*`.
It’s worth noting that,
1. In the `.*` case, we now additionally also check for *any*
placeholders (not just non-overload-sets) in the LHS; this shouldn’t
make a difference, however—at least I couldn’t think of a way to trigger
the assertion with an overload set as the LHS of `.*`; it is worth
noting that the assertion in question would also complain if the LHS
happened to be of placeholder type, though.
2. There is another case in which we also don’t perform overload
resolution—namely `=` if the LHS is not of class or enumeration type
after handling non-overload-set placeholders—as in the `.*` case, but
similarly to 1., I first couldn’t think of a way of getting this case to
crash, and secondly, `CreateBuiltinBinOp()` doesn’t seem to care about
placeholders in the LHS or RHS in the `=` case (from what I can tell,
it, or rather one of its callees, only checks that the LHS is not a
pseudo-object type, but those will have already been handled by the call
to `checkPlaceholderForOverload()` by the time we get to this function),
so I don’t think this case suffers from the same problem.
This fixes #53815.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: b3189b13b274a3411f939574aa573a7656bf372b
https://github.com/llvm/llvm-project/commit/b3189b13b274a3411f939574aa573a7656bf372b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] CUF kernel loop directive (#82836)
This patch introduces a new operation to represent the CUDA Fortran
kernel loop directive. This operation is modeled as a LoopLikeOp
operation in a similar way to acc.loop.
The CUFKernelDoConstruct parse tree node is also placed correctly in the
PFTBuilder to be available in PFT evaluations.
Lowering from the flang parse-tree to MLIR is also done.
Commit: f42e321b9fb54300c4450e699cd3cc453e994b58
https://github.com/llvm/llvm-project/commit/f42e321b9fb54300c4450e699cd3cc453e994b58
Author: David Green <david.green at arm.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Use FMOVDr for clearing upper bits (#83107)
This adds some tablegen patterns for generating FMOVDr from concat(X,
zeroes), as the FMOV will implicitly zero the upper bits of the
register. An extra AArch64MIPeepholeOpt is needed to make sure we can
remove the FMOV in the same way we would remove the insert code.
Commit: fd4204464905be198b158a0f30e5c06cc4ce3686
https://github.com/llvm/llvm-project/commit/fd4204464905be198b158a0f30e5c06cc4ce3686
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/time/CMakeLists.txt
Log Message:
-----------
[libc] Re-Enable GPU tests and fix math exception handling (#83172)
Summary:
A lot of these tests failed previously and were disabled. However we
have fixed some things since then and many of these seem to pass.
Additionally, the last remaining math tests that failed seemed to be due
to the exception handling. For now we just set it to be 'errno'.
These pass locally when tested on a gfx1030, gfx90a, and sm_89
architecture. Hopefully these pass correctly on the sm_60 bot as I've
had things fail on that one only before.
Commit: a76c524adc57220253b34e166f59ed19634e28f5
https://github.com/llvm/llvm-project/commit/a76c524adc57220253b34e166f59ed19634e28f5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port f44c3faccaa4
Commit: 0d1f95760b07a31293ccc82086306833326b70a4
https://github.com/llvm/llvm-project/commit/0d1f95760b07a31293ccc82086306833326b70a4
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/test/Dialect/SparseTensor/codegen.mlir
Log Message:
-----------
[mlir][sparse] support type conversion from batched sparse tensors to… (#83163)
… memrefs.
Commit: d2a9df2c8ffd21fd52fbd8199a191d10078f41af
https://github.com/llvm/llvm-project/commit/d2a9df2c8ffd21fd52fbd8199a191d10078f41af
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/test/CodeGen/tbaa-struct.cpp
Log Message:
-----------
[TBAA] Handle bitfields when generating !tbaa.struct metadata. (#82922)
At the moment, clang generates what I believe are incorrect !tbaa.struct
fields for named bitfields. At the moment, the base type size is used
for named bifields (e.g. sizeof(int)) instead of the bifield width per
field. This results in overalpping fields in !tbaa.struct metadata.
This causes incorrect results when extracting individual copied fields
from !tbaa.struct as in added in dc85719d5.
This patch fixes that by skipping by combining adjacent bitfields
in fields with correct sizes.
Fixes https://github.com/llvm/llvm-project/issues/82586
Commit: 0e0bee26e7f33c065eebef9a674b2f19bb156414
https://github.com/llvm/llvm-project/commit/0e0bee26e7f33c065eebef9a674b2f19bb156414
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M openmp/runtime/src/kmp_runtime.cpp
A openmp/runtime/test/barrier/llvm-issue-80664.c
Log Message:
-----------
[OpenMP] Fix distributed barrier hang for OMP_WAIT_POLICY=passive (#83058)
The resume thread logic inside __kmp_free_team() is faulty. Only
checking b_go for sleep status doesn't wake up distributed barrier.
Change to generic check for th_sleep_loc and calling
__kmp_null_resume_wrapper().
Fixes: #80664
Commit: e5ed7b6e2fd368b722b6359556cd0125881e7638
https://github.com/llvm/llvm-project/commit/e5ed7b6e2fd368b722b6359556cd0125881e7638
Author: rohit-rao <rohitrao at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/include/clang/Basic/TargetOSMacros.def
M clang/test/Driver/fdefine-target-os-macros.c
Log Message:
-----------
[clang] Extend define-target-os-macros to support XROS. (#82833)
Updates the extension feature `define-target-os-macros` to support the
recently-added XROS target (TARGET_OS_VISION).
Commit: 1d1186de34c55149be336068bf312e8f755dca37
https://github.com/llvm/llvm-project/commit/1d1186de34c55149be336068bf312e8f755dca37
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
A llvm/test/tools/llvm-exegesis/X86/latency/loop-register.s
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp
Log Message:
-----------
[llvm-exegesis] Add loop-register snippet annotation (#82873)
This patch adds a LLVM-EXEGESIS-LOOP-REGISTER snippet annotation which
allows a user to specify the register to use for the loop counter in the
loop repetition mode. This allows for executing snippets that don't work
with the default value (currently R8 on X86).
Commit: b0bae445176d30a3fa577d30c21f36dad61003b8
https://github.com/llvm/llvm-project/commit/b0bae445176d30a3fa577d30c21f36dad61003b8
Author: rohit-rao <rohitrao at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/test/MachO/lc-build-version.s
M lld/test/MachO/platform-version.s
Log Message:
-----------
[lld] Adds support for xros. (#83031)
Commit: 3250330997cf214293a20a1d532b617d72bafb09
https://github.com/llvm/llvm-project/commit/3250330997cf214293a20a1d532b617d72bafb09
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/do-not-instrument-globals-windows.ll
Log Message:
-----------
[asan] Disable instrumentation for available_externally global with COFF (#81109)
For COFF, available_externally global will be instrumented because of
the lack of filtering, and will trigger the Verifier pass assertion and
crash the compilation. This patch will filter out the
available_externally global for COFF.
For non-COFF, `!G->hasExactDefinition()` in line 1954 will filter out
the available_externally globals.
There is a related bug reported in
https://bugs.llvm.org/show_bug.cgi?id=47950 /
https://github.com/llvm/llvm-project/issues/47294. I tried the
reproducer posted on the page and this will fix the problem.
Reproducer:
```
#include <locale>
void grouping_impl() {
std::use_facet<std::numpunct<char>>(std::locale());
}
// clang -fsanitize=address -D_DLL -std=c++14 -c format.cc
```
Commit: 5e31e82698d9f1d3f1dd881c87b8c5399d790772
https://github.com/llvm/llvm-project/commit/5e31e82698d9f1d3f1dd881c87b8c5399d790772
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Use locally configured llvm-lit for standalone builds (#83178)
When building a standalone build with
`-DLLVM_CMAKE_DIR=$HOME/output/llvm-install
-DCOMPILER_RT_INCLUDE_TESTS=ON`, the current code will attempt to use
`LLVM_DEFAULT_EXTERNAL_LIT` which is set to
`$HOME/output/llvm-install/bin/llvm-lit` inside `LLVMConfig.cmake` even
though it is not actually installed. If we are adding the llvm-lit
subdirectory, we can use `get_llvm_lit_path()` immediately afterwards to
set LLVM_EXTERNAL_LIT so that subsequent calls within
`add_lit_testsuite()` use llvm-lit from the current build directory
instead of the nonexistant one.
Commit: c6fa71cdd0b85a8edb612e326ea275eb23aab032
https://github.com/llvm/llvm-project/commit/c6fa71cdd0b85a8edb612e326ea275eb23aab032
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc][NFC] Add `-Wno-multi-gpu` everywhere for the GPU build (#83173)
Summary:
This warning is intended to indicate if `-march=native` returns
different values in a single compilation sense. As it stands we don't
care and it absolutely spams the test output if you run it on a machine
with more than one GPU like any cluster machine. Disable these warnings
everywhere we compile.
Commit: f7a99664681390f4bb0211a52f0d89c70aa96762
https://github.com/llvm/llvm-project/commit/f7a99664681390f4bb0211a52f0d89c70aa96762
Author: Janeczko Jakub <kuba at ev1.pl>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/Value.h
Log Message:
-----------
Fix typo in mlir::Value doxygen comment (#83150)
Fix #82900
Commit: d82e93e7f129d9e8b72570efdf4a15d6ec3d4336
https://github.com/llvm/llvm-project/commit/d82e93e7f129d9e8b72570efdf4a15d6ec3d4336
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir][sparse] add merger support on Batch LevelType. (#83186)
Commit: 06bcd9da1670b1d62e08b9fdd58b3a64368da87b
https://github.com/llvm/llvm-project/commit/06bcd9da1670b1d62e08b9fdd58b3a64368da87b
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/stdbit.rst
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_has_single_bit_uc.cpp
A libc/src/stdbit/stdc_has_single_bit_uc.h
A libc/src/stdbit/stdc_has_single_bit_ui.cpp
A libc/src/stdbit/stdc_has_single_bit_ui.h
A libc/src/stdbit/stdc_has_single_bit_ul.cpp
A libc/src/stdbit/stdc_has_single_bit_ul.h
A libc/src/stdbit/stdc_has_single_bit_ull.cpp
A libc/src/stdbit/stdc_has_single_bit_ull.h
A libc/src/stdbit/stdc_has_single_bit_us.cpp
A libc/src/stdbit/stdc_has_single_bit_us.h
M libc/test/include/stdbit_test.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
A libc/test/src/stdbit/stdc_has_single_bit_ui_test.cpp
A libc/test/src/stdbit/stdc_has_single_bit_ul_test.cpp
A libc/test/src/stdbit/stdc_has_single_bit_ull_test.cpp
A libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
Log Message:
-----------
[libc][stdbit] implement stdc_has_single_bit (C23) (#83168)
Commit: 70a7b1e8df7222557cadec4e6d007850ce64f8ed
https://github.com/llvm/llvm-project/commit/70a7b1e8df7222557cadec4e6d007850ce64f8ed
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
R mlir/test/Target/LLVMIR/erase-dangling-constants.mlir
Log Message:
-----------
Remove test since no test on --debug output. (#83189)
Commit: d4cdb516eee49ecaf36380af4d8f923cc475e1d7
https://github.com/llvm/llvm-project/commit/d4cdb516eee49ecaf36380af4d8f923cc475e1d7
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/CMakeLists.txt
M llvm/lib/Target/WebAssembly/WebAssembly.h
A llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
Log Message:
-----------
[WebAssembly] Add RefTypeMem2Local pass (#81965)
This adds `WebAssemblyRefTypeMem2Local` pass, which changes the address
spaces of reference type `alloca`s to `addrspace(1)`. This in turn
changes the address spaces of all `load` and `store` instructions that
use the `alloca`s.
`addrspace(1)` is `WASM_ADDRESS_SPACE_VAR`, and loads and stores to this
address space become `local.get`s and `local.set`s, thanks to the Wasm
local IR support added in
https://github.com/llvm/llvm-project/commit/82f92e35c6464e23859c29422956caaceb623967.
In a follow-up PR, I am planning to replace the usage of mem2reg pass
with this to solve the reference type `alloca` problems described in
#81575.
Commit: 5964f4bcf012deb8b8dadcc403644c754a6b15e0
https://github.com/llvm/llvm-project/commit/5964f4bcf012deb8b8dadcc403644c754a6b15e0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Log Message:
-----------
[gn build] Port d4cdb516eee4
Commit: 3761ad01e125e3b38ed2d6f40b3cbcbac13611a5
https://github.com/llvm/llvm-project/commit/3761ad01e125e3b38ed2d6f40b3cbcbac13611a5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__atomic/aliases.h
M libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__config
Log Message:
-----------
[libc++] Remove _LIBCPP_ATOMIC_ONLY_USE_BUILTINS (#82000)
As discussed in #76647, _LIBCPP_ATOMIC_ONLY_USE_BUILTINS is a
questionable configuration option. It makes our implementation of
std::atomic even more complicated than it already is for a limited
benefit.
Indeed, the original goal of that setting was to decouple libc++ from
libraries like compiler-rt and libatomic in Freestanding mode. We didn't
have a clear understanding of goals and non-goals of Freestanding back
then, but nowadays we do have a better understanding that removing all
dependencies of libc++ in Freestanding is a non-goal. We should still be
able to depend on builtins like those defined in compiler-rt for
implementing our atomic operations in Freestanding. Freestanding means
that there is no underlying operating system, not that there is no
toolchain available.
This patch removes the configuration option. This should have a very
limited fallout since that configuration was only enabled with
-ffreestanding, and libc++ basically doesn't work out of the box on
Freestanding platforms today.
The benefits are a slightly simpler implementation of std::atomic,
getting rid of one of the ABI-incompatible representations of
std::atomic, and clearing the way for proper Freestanding support to
eventually land in the library.
Fixes #81286
Commit: 78647116d85b30c9b8b31a4690758c33f50c0550
https://github.com/llvm/llvm-project/commit/78647116d85b30c9b8b31a4690758c33f50c0550
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/test/profile/instrprof-basic.c
Log Message:
-----------
[nfc][compiler-rt]Remove round-up in __llvm_profile_get_num_data (#83194)
- Update instrprof-basic.c as a regression test.
Commit: 001e18c816736602e3ad1c5dc6259143455610ea
https://github.com/llvm/llvm-project/commit/001e18c816736602e3ad1c5dc6259143455610ea
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[NFC] clang-format SROA.cpp
Commit: a3748d60ff18f612cd26a0b4ca7f05f2fbef264d
https://github.com/llvm/llvm-project/commit/a3748d60ff18f612cd26a0b4ca7f05f2fbef264d
Author: Iman Hosseini <hosseini.iman at yahoo.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/docs/Dialects/GPU.md
Log Message:
-----------
[MLIR] Update GPU.md: add gpu kernel outlining to doc example. (#83141)
gpu-kernel-outlining is needed for this example to work.
Commit: 9d0acb872a5063f570366cd0e94b069d286cc71f
https://github.com/llvm/llvm-project/commit/9d0acb872a5063f570366cd0e94b069d286cc71f
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add support for trunci to narrow type emulation (#82565)
This PR add support for `arith.trunci` to vector narrow type emulation for iX -> i4 truncations, for X >= 8. For now, the pattern only works for 1D vectors and is based on `vector.shuffle` ops. We would need `vector.deinterleave` to add n-D vector support.
Commit: 0e84e2748b40eb757a5c52a983c87dd4f25a1587
https://github.com/llvm/llvm-project/commit/0e84e2748b40eb757a5c52a983c87dd4f25a1587
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
A bolt/test/runtime/X86/instrument-wrong-target.s
R bolt/test/runtime/instrument-wrong-target.s
Log Message:
-----------
[BOLT] Move test under X86 target. NFCI (#83202)
instrument-wrong-target.s test requires X86 host. Move it under
runtime/X86.
Commit: 04e8653f189bf3d65680c7fb3b3033ad82903ee9
https://github.com/llvm/llvm-project/commit/04e8653f189bf3d65680c7fb3b3033ad82903ee9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M libc/benchmarks/automemcpy/lib/CMakeLists.txt
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/compiler_features/check_fixed_point.cpp
M libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
M libc/include/llvm-libc-types/float128.h
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/fixed_point/sqrt.h
M libc/src/__support/macros/properties/float.h
M libc/src/stdfix/abshk.h
M libc/src/stdfix/abshr.h
M libc/src/stdfix/absk.h
M libc/src/stdfix/abslk.h
M libc/src/stdfix/abslr.h
M libc/src/stdfix/absr.h
M libc/src/stdfix/roundhk.h
M libc/src/stdfix/roundhr.h
M libc/src/stdfix/roundk.h
M libc/src/stdfix/roundlk.h
M libc/src/stdfix/roundlr.h
M libc/src/stdfix/roundr.h
M libc/src/stdfix/rounduhk.h
M libc/src/stdfix/rounduhr.h
M libc/src/stdfix/rounduk.h
M libc/src/stdfix/roundulk.h
M libc/src/stdfix/roundulr.h
M libc/src/stdfix/roundur.h
M libc/src/stdfix/sqrtuhk.h
M libc/src/stdfix/sqrtuhr.h
M libc/src/stdfix/sqrtuk.h
M libc/src/stdfix/sqrtulr.h
M libc/src/stdfix/sqrtur.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/epoll_pwait2.h
M libc/src/sys/epoll/epoll_wait.h
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/include/stdbit_test.cpp
M libc/test/include/stdckdint_test.cpp
M libc/test/integration/startup/CMakeLists.txt
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/__support/fixed_point/fx_bits_test.cpp
M libc/test/src/math/differential_testing/CMakeLists.txt
M libc/utils/LibcTableGenUtil/CMakeLists.txt
M libc/utils/gpu/loader/Loader.h
Log Message:
-----------
[libc] Add "include/" to the LLVM include directories (#83199)
Summary:
Recent changes added an include path in the float128 type that used the
internal `libc` path to find the macro. This doesn't work once it's
installed because we need to search from the root of the install dir.
This patch adds "include/" to the include path so that our inclusion
of installed headers always match the internal use.
Commit: d699d9d609a24d80809df15efe47ac539da90e93
https://github.com/llvm/llvm-project/commit/d699d9d609a24d80809df15efe47ac539da90e93
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M flang/include/flang/Common/float128.h
M flang/include/flang/Runtime/reduction.h
M flang/runtime/Float128Math/cabs.cpp
M flang/runtime/Float128Math/math-entries.h
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/product.cpp
M flang/runtime/sum.cpp
Log Message:
-----------
[flang][runtime] Support SUM/PRODUCT/DOT_PRODUCT reductions for REAL(16). (#83169)
The reductions implementations rely on trivial operations that
are supported by the build compiler runtime, so they can be enabled
whenever the build compiler provides 128-bit float support.
std::conj used by DOT_PRODUCT is a template implementation
in most environments, so it should not introduce a dependency
on any 128-bit float support library. I am not goind to
test it in all the build environments before merging.
If it fails for someone, I will deal with it.
Commit: 062cfada643c1aa48a1bb81894e2920d390fe8cf
https://github.com/llvm/llvm-project/commit/062cfada643c1aa48a1bb81894e2920d390fe8cf
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/ctor_dtor.c
Log Message:
-----------
[builtins] Disable COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY by default (#83201)
Most of GCC's Linux targets have a link spec
`%{!static|static-pie:--eh-frame-hdr}` that doesn't pass --eh-frame-hdr
for `-static` links. `-static` links are supposed to utilize
`__register_frame_info` (called by `crtbeginT.o`, not by crtbegin.o or
crtbeginS.o) as a replacement.
compiler-rt crtbegin (not used with GCC) has some ehframe code, which is
not utilized because Clang driver unconditionally passes --eh-frame-hdr
for Linux targets, even for -static. In addition, LLVM libunwind
implements `__register_frame_info` as an empty stub.
Furthermore, in a non-static link, the `__register_frame_info`
references can cause an undesired weak dynamic symbol.
For now, just disable the config by default.
Commit: 8506a63bf7cbe593c0707f995fbd0b8f820d0d62
https://github.com/llvm/llvm-project/commit/8506a63bf7cbe593c0707f995fbd0b8f820d0d62
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
M llvm/test/CodeGen/WebAssembly/multivalue.ll
M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
Log Message:
-----------
Revert "[WebAssembly] Disable multivalue emission temporarily (#82714)"
This reverts commit 6e6bf9f81756ba6655b4eea8dc45469a47f89b39.
It turned out the multivalue feature had active outside users and it
could cause some disruptions to them, so I'd like to investigate more
about the workarounds before doing this.
Commit: f20ea05f3b2218a7103612e5e367398b0b27bb27
https://github.com/llvm/llvm-project/commit/f20ea05f3b2218a7103612e5e367398b0b27bb27
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M flang/include/flang/Common/float128.h
M flang/runtime/complex-reduction.c
Log Message:
-----------
[flang][runtime] Fixed aarach buildbots after #83169.
Commit: bcbce807d76a30388b366d14051c5f80e9724dab
https://github.com/llvm/llvm-project/commit/bcbce807d76a30388b366d14051c5f80e9724dab
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
Log Message:
-----------
Revert "[HIP] fix host min/max in header (#82956)"
This reverts commit 55783bd0f9cfc30aa93c718919dab5419d86a2c6.
Due to regressions in hipCUB.
hipCUB/hipcub/include/hipcub/backend/rocprim/device/device_spmv.hpp:142:33: error: call to 'min' is ambiguous
https://github.com/ROCm/hipCUB/blob/develop/hipcub/include/hipcub/backend/rocprim/device/device_spmv.hpp#L142
The ambuguity seems due to missing min(int, unsigned int).
Previously, there is only min(int, int). After the change,
there are min(int, int) and min(unsigned int, unsigned int),
therefore there is ambiguity.
Commit: dba2dd2c487d7bed7ad3b76a67fdfce464f0edbf
https://github.com/llvm/llvm-project/commit/dba2dd2c487d7bed7ad3b76a67fdfce464f0edbf
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/split-debug.c
Log Message:
-----------
Revert "[CLANG][DWARF] Do not emit -ggnu-pubnames for split dwarf version 5." (#83214)
Reverts llvm/llvm-project#82840
Commit: e9e7aeadaf0ce9d66ff352856fd2d1005b0f7d74
https://github.com/llvm/llvm-project/commit/e9e7aeadaf0ce9d66ff352856fd2d1005b0f7d74
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/basic-block-address-map.c
Log Message:
-----------
[Driver] Allow -fbasic-block-address-map for AArch64 ELF (#82662)
Emitting the basic block address map with
`-fbasic-block-sections=labels` is allowed for AArch64 ELF since
7eaf94fefa1250fc8a46982cea8ce99abacae11f. Allow doing so with
`-fbasic-block-address-map`.
Commit: 50136ca11f62050b34876a920fcd87d2aefccfdb
https://github.com/llvm/llvm-project/commit/50136ca11f62050b34876a920fcd87d2aefccfdb
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
[DirectX][NFC] Rename ShaderFlag to SHADER_FEATURE_FLAG. (#82700)
This is preparation for add ShaderFlag in DXIL.
For #57925
Commit: cf1c97b2d29c51d6c2e79454f6ec3d1f8f98e672
https://github.com/llvm/llvm-project/commit/cf1c97b2d29c51d6c2e79454f6ec3d1f8f98e672
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
Log Message:
-----------
[AMDGPU] Do not attempt to fallback to default mutations (#83208)
IGLP itself will be in SavedMutations via mutations added during
Scheduler creation, thus falling back results in reapplying IGLP.
In PostRA scheduling, if we have multiple regions with IGLP
instructions, then we may have infinite loop.
Disable the feature for now.
Commit: 91d23370cd4608f84f5209e445579a3b24ae3545
https://github.com/llvm/llvm-project/commit/91d23370cd4608f84f5209e445579a3b24ae3545
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.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/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
Log Message:
-----------
[RISCV] Use a tail agnostic vslideup if possible for scalable insert_subvector (#83146)
If we know that an insert_subvector inserting a fixed subvector will
overwrite the entire tail of the vector, we use a tail agnostic
vslideup. This was added in https://reviews.llvm.org/D147347, but we can
do the same thing for scalable vectors too.
The `Policy` variable is defined in a slightly weird place but this is
to mirror the fixed length subvector code path as closely as possible. I
think we may be able to deduplicate them in future.
Commit: 1f2a1a72ae6615ce80fcd6f1185d1cde607377d2
https://github.com/llvm/llvm-project/commit/1f2a1a72ae6615ce80fcd6f1185d1cde607377d2
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M flang/include/flang/Common/float128.h
M flang/runtime/Float128Math/cabs.cpp
M flang/runtime/Float128Math/math-entries.h
Log Message:
-----------
[flang][runtime] Fixed flang+Werror buildbots after #83169.
Commit: 7c206c7812408f152baffa3c73f765b7d9ffdf18
https://github.com/llvm/llvm-project/commit/7c206c7812408f152baffa3c73f765b7d9ffdf18
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Refactor interface for instruction labels. NFCI (#83209)
To avoid accidentally setting the label twice for the same instruction,
which can lead to a "lost" label, introduce getOrSetInstLabel()
function. Rename existing functions to getInstLabel()/setInstLabel() to
make it explicit that they operate on instruction labels. Add an
assertion in setInstLabel() that the instruction did not have a prior
label set.
Commit: 9d56be010cf30054313f5b3fea82331491c58cdb
https://github.com/llvm/llvm-project/commit/9d56be010cf30054313f5b3fea82331491c58cdb
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-private.mlir
Log Message:
-----------
[MLIR][OpenMP] Support basic materialization for `omp.private` ops (#81715)
Adds basic support for materializing delayed privatization. So far, the
restrictions on the implementation are:
- Only `private` clauses are supported (`firstprivate` support will be
added in a later PR).
Commit: 87c0260f45e5a02cb07722d089dae3f0f84c7b3d
https://github.com/llvm/llvm-project/commit/87c0260f45e5a02cb07722d089dae3f0f84c7b3d
Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
M mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
Log Message:
-----------
[AMDGPU] Add parameterization for optimized shared memory variables (#82508)
- This PR adds parameterization for shared memory variables that are
used for optimization: `sharedMemoryLineSizeBytes` and
`defaultVectorSizeBits.`
- The default values are set to 128 for both variables since it gives
zero bank conflicts.
Commit: c2b952926fe8707527cf1b8bab211dc4c7ab9aee
https://github.com/llvm/llvm-project/commit/c2b952926fe8707527cf1b8bab211dc4c7ab9aee
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Fix n-d transfer write distribution (#83215)
Currently n-d transfer write distribution can be inconsistent with
distribution of reductions if a value has multiple users, one of which
is a transfer_write with a non-standard distribution map, and the other
of which is a vector.reduction.
We may want to consider removing the distribution map functionality in
the future for this reason.
Commit: 267beb10f2812107734a1cd2172b46e928af76b7
https://github.com/llvm/llvm-project/commit/267beb10f2812107734a1cd2172b46e928af76b7
Author: mlevesquedion <mlevesquedion at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/docs/PatternRewriter.md
Log Message:
-----------
[MLIR] Fix a few links to passes in the documentation (#83221)
I double checked the links by building [the
website](https://github.com/llvm/mlir-www):
```
$ mlir-www-helper.sh --install-docs ../llvm-project website
$ cd website && hugo serve
```
Commit: 4d04a40adb68f284350831911a658715134c66d8
https://github.com/llvm/llvm-project/commit/4d04a40adb68f284350831911a658715134c66d8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow a variable declaration in a trivial function. (#82291)
Commit: 8eea478f57e79b6fad065d023355907bc2098206
https://github.com/llvm/llvm-project/commit/8eea478f57e79b6fad065d023355907bc2098206
Author: Ryan Prichard <rprichard at google.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[ItaniumDemangle] reject A-F in FP literals (#83061)
Sync this change to the copy of ItaniumDemangle.h in "llvm":
https://github.com/llvm/llvm-project/pull/82864
The Itanium C++ ABI specifies that FP literals are encoded using a
lowercase hexadecimal string. Previously, libc++abi allowed uppercase
A-F characters but decoded them by subtracting 'a' from them, producing
negative digit values. It is especially confusing to accept an 'E' digit
because 'E' marks the end of the FP literal.
Commit: 28c29fbec3057692a7985819d799a9e5d47eb2d1
https://github.com/llvm/llvm-project/commit/28c29fbec3057692a7985819d799a9e5d47eb2d1
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
Log Message:
-----------
[RISCV] Add exact VLEN RUNs for insert_subvector and concat_vector tests. NFC
Also update the RUNs in the extract_subvector tests to be consistent.
Using the term VLS/VLA here as it's more succinct than KNOWNVLEN/UNKNOWNVLEN.
Commit: f81d5e549f0e02e1bfc5ccaf6341ad35d4ea8e98
https://github.com/llvm/llvm-project/commit/f81d5e549f0e02e1bfc5ccaf6341ad35d4ea8e98
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
A flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
Log Message:
-----------
[flang] Handle OPTIONAL polymorphic captured in internal procedures (#82042)
The current code was doing an unconditional `fir.store %optional_box to
%host_link` which caused a crash when %optional_box is absent because is
is attempting to copy a descriptor from a null address.
Add code to conditionally do the copy at runtime.
The polymorphic array case with lower bounds can be handled with the
array case that already deals with descriptor argument with a few
modifications, just use that.
Commit: 9617da88ab961145047076c45bb2bb1ac4513634
https://github.com/llvm/llvm-project/commit/9617da88ab961145047076c45bb2bb1ac4513634
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
Log Message:
-----------
[RISCV] Use a ta vslideup if inserting over end of InterSubVT (#83230)
The description in #83146 is slightly inaccurate: it relaxes a tail
undisturbed vslideup to tail agnostic if we are inserting over the
entire tail of the vector **and** we didn't shrink the LMUL of the
vector being inserted into.
This handles the case where we did shrink down the LMUL via InterSubVT
by checking if we inserted over the entire tail of InterSubVT, the
actual type that we're performing the vslideup on, not VecVT.
Commit: 2b545108ffcb188b69d1a5e37081494d231e1456
https://github.com/llvm/llvm-project/commit/2b545108ffcb188b69d1a5e37081494d231e1456
Author: David Green <david.green at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Log Message:
-----------
[GlobalISel] Add a TargetLowering variable to IRTranslator. NFC (#83009)
This prevents us from getting the variable multiple times.
Commit: a4fff36b6cf64d0afa965a8ef4927145c5558124
https://github.com/llvm/llvm-project/commit/a4fff36b6cf64d0afa965a8ef4927145c5558124
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[bazel] Add "include/" for libc includes
for 04e8653f189bf3d65680c7fb3b3033ad82903ee9 #83199
Commit: 619ee20b3911f9a481a75a64704c80aef16af9d0
https://github.com/llvm/llvm-project/commit/619ee20b3911f9a481a75a64704c80aef16af9d0
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/examples/CMakeLists.txt
A mlir/examples/transform-opt/CMakeLists.txt
A mlir/examples/transform-opt/README.md
A mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/test/CMakeLists.txt
A mlir/test/Examples/transform-opt/empty.mlir
A mlir/test/Examples/transform-opt/external-decl.mlir
A mlir/test/Examples/transform-opt/external-def.mlir
A mlir/test/Examples/transform-opt/pass.mlir
A mlir/test/Examples/transform-opt/self-contained.mlir
A mlir/test/Examples/transform-opt/syntax-error.mlir
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] add an example of using transform dialect standalone (#82623)
Transform dialect interpreter is designed to be usable outside of the
pass pipeline, as the main program transformation driver, e.g., for
languages with explicit schedules. Provide an example of such usage with
a couple of tests.
Commit: 49c399c2d113df1654b09c9b5afa38924829a8fe
https://github.com/llvm/llvm-project/commit/49c399c2d113df1654b09c9b5afa38924829a8fe
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Toplevel destructors may fail
We used to run them, but not check if they failed. If they do,
the expression is invalid, even if we already have a result.
I do have a suspicion that we need to manually call destroyLocals()
in more places (everywhere basically?), but I'll wait with that
until I have a reproducer at hand.
Commit: 9f99eda1208787364b1a381b2d4e146fc4868cd5
https://github.com/llvm/llvm-project/commit/9f99eda1208787364b1a381b2d4e146fc4868cd5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test to verify=expected,both style
Commit: 1d61709f7718d2dc2aee1c27d02043a748e8e6d7
https://github.com/llvm/llvm-project/commit/1d61709f7718d2dc2aee1c27d02043a748e8e6d7
Author: Jean Perier <jperier at nvidia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/lib/Lower/HostAssociations.cpp
Log Message:
-----------
[flang] fix warning after #82042
Commit: 26b8be201e2d15867bb327a8008fffb3e34d42a5
https://github.com/llvm/llvm-project/commit/26b8be201e2d15867bb327a8008fffb3e34d42a5
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
A flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
A flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
A flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
A flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
A flang/test/Lower/OpenMP/delayed-privatization-private.f90
A flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
Log Message:
-----------
[flang][OpenMP][MLIR] Basic support for delayed privatization code-gen (#81833)
Adds basic support for emitting delayed privatizers from flang. So far,
only types of symbols are supported (i.e. scalars), support for more
complicated types will be added later. This also makes sure that
reduction and delayed privatization work properly together by merging
the
body-gen callbacks for both in case both clauses are present on the
parallel construct.
Commit: 6008cd40b7bbdc66555550c2e38648d5ce99cc78
https://github.com/llvm/llvm-project/commit/6008cd40b7bbdc66555550c2e38648d5ce99cc78
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Assert when accessing erased ops (#83132)
The dialect conversion maintains sets of "ignored" and "replaced" ops.
This change simplifies the two sets, such that all nested ops are
included. (This was previously not the case and sometimes only the
parent op was included.)
This change allows for more aggressive assertions to prevent incorrect
rewriter API usage. E.g., accessing ops/blocks/regions within an erased
op.
A concrete example: I have seen conversion patterns in downstream
projects where an op is replaced with a new op, and the region of the
old op is afterwards inlined into the newly created op. This is invalid
rewriter API usage: ops that were replaced/erased should not be
accessed. Nested ops will be considered "ignored", even if they are
moved to a different region after the region's parent op was erased
(which is illegal API usage). Instead, create a new op, inline the
regions, then replace the old op with the new op.
Commit: 6e41d60a717132fadac74abe61ac6a9b1ca98778
https://github.com/llvm/llvm-project/commit/6e41d60a717132fadac74abe61ac6a9b1ca98778
Author: David Green <david.green at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
Log Message:
-----------
[SelectionDAG] Change computeAliasing signature from optional<uint64> to LocationSize. (#83017)
This is another smaller step of #70452, changing the signature of
computeAliasing() from optional<uint64_t> to LocationSize, and follow-up
changes in DAGCombiner::mayAlias(). There are some test change due to
the previous AA->isNoAlias call incorrectly using an unknown size
(~UINT64_T(0)). This should then be improved again in #70452 when the
types are known to be scalable.
Commit: ba692301f1697183d1665cc0f410d4235b3036db
https://github.com/llvm/llvm-project/commit/ba692301f1697183d1665cc0f410d4235b3036db
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/store.ll
Log Message:
-----------
[AArch64][GlobalISel] Pre-Commit Test for G_STORE v4s8 (#82498)
Commit: 3fa91021257ec89ccbfa8aae80312700c2de9d11
https://github.com/llvm/llvm-project/commit/3fa91021257ec89ccbfa8aae80312700c2de9d11
Author: jkorous-apple <jkorous at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage][NFC] clang-format UnsafeBufferUsage.cpp (#82027)
Commit: 5468f8841353cd56350a6ebe6898d2563e5c34b0
https://github.com/llvm/llvm-project/commit/5468f8841353cd56350a6ebe6898d2563e5c34b0
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/Transforms/Passes.td
M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
M mlir/test/Dialect/Transform/include/test-interpreter-external-concurrent-source.mlir
M mlir/test/Dialect/Transform/include/test-interpreter-external-source.mlir
M mlir/test/Dialect/Transform/multi-arg-top-level-ops.mlir
M mlir/test/Dialect/Transform/multi-arg-top-level-params.mlir
M mlir/test/Dialect/Transform/multi-arg-top-level-values.mlir
M mlir/test/Dialect/Transform/test-interpreter-debug.mlir
M mlir/test/Dialect/Transform/test-interpreter-external-concurrent.mlir
M mlir/test/Dialect/Transform/test-interpreter-external.mlir
M mlir/test/Dialect/Transform/test-interpreter.mlir
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/Dialect/Transform/test-pattern-application.mlir
M mlir/test/Dialect/Transform/test-pdl-extension.mlir
M mlir/test/Dialect/Transform/transform-state-extension.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-contraction.mlir
Log Message:
-----------
[mlir] update remaining transform tests to main pass (#81279)
Use the main transform interpreter pass instead of the test pass. The
only tests that are not updated are specific to the operation of the
test pass.
Commit: 686ec7c2e9638d5b96d922886827a532d339856d
https://github.com/llvm/llvm-project/commit/686ec7c2e9638d5b96d922886827a532d339856d
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/store.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize G_STORE for v4s8 vector (#82498)
Lowers `G_STORE v4s8, ptr` into
`s32 = G_BITCAST v4s8`
`G_STORE s32, ptr`
Commit: 41427b0e8eeed9891d4e98ea9ac6a812682fd507
https://github.com/llvm/llvm-project/commit/41427b0e8eeed9891d4e98ea9ac6a812682fd507
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
Log Message:
-----------
[AArch64] Disable FastISel/GlobalISel for ZT0 state (#82768)
For __arm_new("zt0") we need to have special setup code in the prologue.
For calls that don't preserve zt0, we need to emit code preserve ZT0
around the call.
This is only emitted by SelectionDAG ISel at the moment.
Commit: fd336c33b6c94ab1f4cfd7e13ce4ab0e6ddda92e
https://github.com/llvm/llvm-project/commit/fd336c33b6c94ab1f4cfd7e13ce4ab0e6ddda92e
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/load.ll
Log Message:
-----------
[AArch64][GlobalISel] Pre-Commit Test for Legalize G_LOAD v4i8 (#82989)
Commit: 37daff028fcec27f2be1bb990df77e19c0244ccf
https://github.com/llvm/llvm-project/commit/37daff028fcec27f2be1bb990df77e19c0244ccf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/setcc-lowering.ll
Log Message:
-----------
[X86] setcc-lowering.ll - regenerate with AVX2 test coverage
Added while triaging a regression from #82290
Commit: ffe7049b543adb9739261d28a60d4a47a00aa2e0
https://github.com/llvm/llvm-project/commit/ffe7049b543adb9739261d28a60d4a47a00aa2e0
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
M clang/test/Analysis/Inputs/system-header-simulator-for-valist.h
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-invalidate.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] StreamChecker: Model getc, vfscanf, putc, vfprintf (#82476)
Model `getc` and `putc` as equivalent to `fgetc` and `fputc` respectively.
Model `vfscanf` and `vfprintf` as `fscanf` and `fprintf`, except that
`vfscanf` can not invalidate the parameters due to the indirection via a
`va_list`. Nevertheless, we can still track EOF and errors as for `fscanf`.
Commit: fe97a59a7be51dfc7e92619536963051604d155a
https://github.com/llvm/llvm-project/commit/fe97a59a7be51dfc7e92619536963051604d155a
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/tools/dump_ast_matchers.py
M clang/include/clang/ASTMatchers/ASTMatchers.h
Log Message:
-----------
[clang] remove (clang::)ast_matchers:: namespace from AST matcher args for docs (#81437)
When parsing the ASTMatchers.h file, a matcher could specify an argument
that is a matcher using the not needed namespace
`(clang::)ast_matchers::`.
Change the argument parsing in dump_ast_matchers.py to remove those
namespaces such that when parameters with these namespaces slip through,
the namespaces will be not be shown in the matchers reference, like it
is done with the `internal` namespace.
Additionally, remove the not needed namespaces from arguments in
ASTMatchers.h.
Commit: 3d454d2895820cd1e6caa92f1e82ba468b5b5f09
https://github.com/llvm/llvm-project/commit/3d454d2895820cd1e6caa92f1e82ba468b5b5f09
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/Support/TypeSize.h
M llvm/unittests/Support/TypeSizeTest.cpp
Log Message:
-----------
[LLVM][TypeSize] Remove default constructor. (#82810)
Commit: 2703f7ec4fb603a7c38288409c9ac919a47cca2a
https://github.com/llvm/llvm-project/commit/2703f7ec4fb603a7c38288409c9ac919a47cca2a
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[flang] Fix linker error for debug builds. (#83250)
PR #81833 introduced some changes to broke some debug builds. This
happened due to an indirectly included file referencing an `operator <<`
function which is defined in a `.cpp` file that not linked with `tco`
and `fir-opt`.
Commit: 6287b7b9e9b729afde4aef7d41609d9b4efaecda
https://github.com/llvm/llvm-project/commit/6287b7b9e9b729afde4aef7d41609d9b4efaecda
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/kshift.ll
M llvm/test/CodeGen/X86/pr46455.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - extract 256-bit comparisons if only one subvector is required
If only one subvector extraction will be necessary (i.e. because the other is constant etc.) then extract the source operands and perform as a 128-bit comparison
Ideally DAGCombiner's narrowExtractedVectorBinOp would handle this but its tricky to confirm when a target opcode can be safely extracted and performed as a different vector type
Partially improves an outstanding regression in #82290
Commit: 0a54b36d5e6d941e25c60520a7317d75355aeae5
https://github.com/llvm/llvm-project/commit/0a54b36d5e6d941e25c60520a7317d75355aeae5
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/X86/x86-32-intrcc.ll
M llvm/test/CodeGen/X86/x86-64-intrcc-uintr.ll
M llvm/test/CodeGen/X86/x86-64-intrcc.ll
Log Message:
-----------
[X86] Resolve FIXME: Create cld only when needed (#82415)
Only use cld when we also have rep instructions, are calling a function, or contain inline asm.
Commit: 07d8a457ad8bb9a14974b9cb47072746c7f5e489
https://github.com/llvm/llvm-project/commit/07d8a457ad8bb9a14974b9cb47072746c7f5e489
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/ELF/set-symbol-visibility.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --set-symbol-visibility and --set-symbols-visibility options (#80872)
Add options --set-symbol-visibility and --set-symbols-visibility to
manually change the visibility of symbols.
There is already an option to set the visibility of newly added symbols
via --add-symbol and --new-symbol-visibility. This option will allow to
change the visibility of already existing symbols.
Commit: 27b297bf21b6637047c1ac403f983351b9a3fc64
https://github.com/llvm/llvm-project/commit/27b297bf21b6637047c1ac403f983351b9a3fc64
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in CGCall.cpp (NFC)
llvm-project/clang/lib/CodeGen/CGCall.cpp:3226:24:
error: unused variable 'StructSize' [-Werror,-Wunused-variable]
llvm::TypeSize StructSize = CGM.getDataLayout().getTypeAllocSize(STy);
^
llvm-project/clang/lib/CodeGen/CGCall.cpp:3227:24:
error: unused variable 'PtrElementSize' [-Werror,-Wunused-variable]
llvm::TypeSize PtrElementSize =
^
llvm-project/clang/lib/CodeGen/CGCall.cpp:5313:24:
error: unused variable 'SrcTypeSize' [-Werror,-Wunused-variable]
llvm::TypeSize SrcTypeSize =
^
llvm-project/clang/lib/CodeGen/CGCall.cpp:5315:24:
error: unused variable 'DstTypeSize' [-Werror,-Wunused-variable]
llvm::TypeSize DstTypeSize = CGM.getDataLayout().getTypeAllocSize(STy);
^
4 errors generated.
Commit: 1f74f5f48bc9e1091602163ac925c807d70706e1
https://github.com/llvm/llvm-project/commit/1f74f5f48bc9e1091602163ac925c807d70706e1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
Log Message:
-----------
[flang] Fix flang build after #83132 (#83253)
This fix is a temporary workaround. `LowerHLFIRIntrinsics.cpp` should be
using the greedy pattern rewriter or a manual IR traversal. All patterns
in this file are rewrite patterns. The test failure was caused by
`replaceAllUsesWith`, which is not supported by the dialect conversion;
additional asserts were added recently to prevent incorrect API usage.
These trigger now.
Alternatively, turning the patterns into conversion patterns and
specifying a type converter may work.
Failing test case:
`Fortran/gfortran/regression/gfortran-regression-compile-regression__inline_matmul_14_f90.test`
Commit: 570bc5d291f92e19f6264262b02ddff1a2f2e09b
https://github.com/llvm/llvm-project/commit/570bc5d291f92e19f6264262b02ddff1a2f2e09b
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
M clang/test/Analysis/Inputs/system-header-simulator-for-valist.h
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-invalidate.c
M clang/test/Analysis/stream.c
Log Message:
-----------
Revert "[clang][analyzer] StreamChecker: Model getc, vfscanf, putc, vfprintf (#82476)"
This reverts commit ffe7049b543adb9739261d28a60d4a47a00aa2e0.
This commit breaks on e.g. arm:
Example:
https://lab.llvm.org/buildbot/#/builders/245/builds/21177/steps/5/logs/FAIL__Clang__stream_c
```
******************** TEST 'Clang :: Analysis/stream.c' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/19/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,alpha.unix.Stream,debug.ExprInspection -verify /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/19/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,alpha.unix.Stream,debug.ExprInspection -verify /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c
error: 'expected-warning' diagnostics expected but not seen:
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 147: Stream pointer might be NULL
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 153: Stream pointer might be NULL
error: 'expected-warning' diagnostics seen but not expected:
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 148: Stream pointer might be NULL [alpha.unix.Stream]
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 154: Stream pointer might be NULL [alpha.unix.Stream]
4 errors generated.
--
********************
```
Commit: 8a5d51b039c52c3e429390966670b0ab21cf257c
https://github.com/llvm/llvm-project/commit/8a5d51b039c52c3e429390966670b0ab21cf257c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/zext-for-per-formula-reasoning.ll
Log Message:
-----------
[ConstraintElim] Use default depth for most calls of isNonNegative.
Helps to improve resuls in some cases, while being overall neutral with
respect to compile-time,
https://llvm-compile-time-tracker.com/compare.php?from=2c9b6c1b36b8185299de083c3058e0c1e7760442&to=5984b1649dc12741308089de235647cf036df95f&stat=instructions:u
Commit: 15d9d0fa8f55936625882a28759f0ec0033cb6de
https://github.com/llvm/llvm-project/commit/15d9d0fa8f55936625882a28759f0ec0033cb6de
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
A llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Also print final VPlan directly before codegen/execute. (#82269)
Some optimizations are apply after UF and VF have been chosen. This
patch adds an extra print of the final VPlan just before
codegen/execution.
In the future, there will be additional transforms that are applied
later (interleaving for example).
PR: https://github.com/llvm/llvm-project/pull/82269
Commit: 0e42289236d44408e50a710dace629ebad2812b6
https://github.com/llvm/llvm-project/commit/0e42289236d44408e50a710dace629ebad2812b6
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
Log Message:
-----------
[flang] Fix build failure (NFC)
llvm-project/flang/include/flang/Lower/SymbolMap.h:52:1:
error: 'SymbolBox' defined as a struct here but previously declared as a class;
this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
struct SymbolBox : public fir::details::matcher<SymbolBox> {
^
llvm-project/flang/include/flang/Lower/AbstractConverter.h:56:1: note: did you mean struct here?
class SymbolBox;
^~~~~
struct
Commit: 926a19bf0b7ea0aa34f2685534b5f4a339f8b409
https://github.com/llvm/llvm-project/commit/926a19bf0b7ea0aa34f2685534b5f4a339f8b409
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Remove `SplitBlockRewrite` (#82777)
When splitting a block during a dialect conversion, a
`SplitBlockRewrite` object is stored in the dialect conversion state.
This commit removes `SplitBlockRewrite`. Instead, a combination of
`CreateBlockRewrite` and multiple `MoveOperationRewrite` is used.
This change simplifies the internal state of the dialect conversion and
is also needed to properly support listeners.
`RewriteBase::splitBlock` is now no longer virtual. All necessary
information for committing/rolling back a split block rewrite can be
deduced from `Listener::notifyBlockInserted` and
`Listener::notifyOperationInserted` (which is also called when moving an
operation).
Commit: a2efb68906ec2bf7b55b464060c3713e395e68e5
https://github.com/llvm/llvm-project/commit/a2efb68906ec2bf7b55b464060c3713e395e68e5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/cxx11.cpp
Log Message:
-----------
[clang][Interp] Remove now faulty assertion
We can call getBase() for pointers where Base != Offset as well,
for example when we've added a constant to the Offset.
Commit: 915fce040271c77df1ff9b2c8797c441cec0d18d
https://github.com/llvm/llvm-project/commit/915fce040271c77df1ff9b2c8797c441cec0d18d
Author: Rishabh Bali <rishabhsbali at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
Log Message:
-----------
[mlir][affine] Enable ConvertAffineToStandard pass to handle affine.delinearize_index Op. (#82189)
This PR, aims to enable the `ConvertAffineToStandard` to handle
`affine.dilinearize_index` Operation.
Fixes #78458
Commit: 06f775a82f6f562f8de75053f62c9c0dbeaa67d2
https://github.com/llvm/llvm-project/commit/06f775a82f6f562f8de75053f62c9c0dbeaa67d2
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
M flang/test/Lower/HLFIR/bindc_internal_proc.f90
M flang/test/Lower/HLFIR/internal-procedures-2.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/Intrinsics/random.f90
M flang/test/Lower/Intrinsics/ubound01.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/PowerPC/ppc-vector-types.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/dummy-arguments.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/global-initialization.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/module-and-internal-proc.f90
M flang/test/Lower/parent-component.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/program-units-fir-mangling.f90
Log Message:
-----------
[flang] Give internal linkage to internal procedures (#81929)
Internal procedures cannot be called directly from outside the host
procedure, so there is no point giving them external linkage. The only
reason flang did is because it is the default in MLIR.
Giving external linkage to them:
- prevents deleting them when not used/inlined by LLVM
- causes bugs with shared libraries (at least on linux x86-64) because
the call to the internal function could lead to a dynamic loader call
that would overwrite r10 register (the static chain pointer) due to
system calls and did not restore (it seems it does not expect r10 to be
used for PLT calls).
This patch gives internal linkage to internal procedures:
Note: the llvm.linkage attribute name cannot be obtained via a
getLinkageAttrName since it is not the same name as the one used in the
LLVM dialect. It is just a placeholder defined in
mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp until the func dialect
gets a real linkage model. So simply avoid hard coding it too many times
in lowering.
Commit: e39e30e95237bee53346acf16d197de8fdf4825e
https://github.com/llvm/llvm-project/commit/e39e30e95237bee53346acf16d197de8fdf4825e
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
Log Message:
-----------
[mlir][llvm] Fix access group translation (#83257)
This commit fixes the translation of access group metadata to LLVM IR.
Previously, it did not use a temporary metadata node to model the
placeholder of the self-referencing access group nodes. This is
dangerous since, the translation may produce a metadata list with a null
entry that is later on changed changed with a self reference. At the
same time, for example the debug info translation may create the same
uniqued node, which after setting the self-reference the suddenly
references the access group metadata. The commit avoids such breakages.
Commit: ce0687e2df59ff6681c5800f076716f4665c5ec3
https://github.com/llvm/llvm-project/commit/ce0687e2df59ff6681c5800f076716f4665c5ec3
Author: Niwin Anto <niwinantop at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
Log Message:
-----------
[LV] Add test for tail fold by masking with external IV users. (#82329)
Test case for https://github.com/llvm/llvm-project/issues/76069
Commit: a845ea3878f18878b6bbc91ff5fee2dd51a794f3
https://github.com/llvm/llvm-project/commit/a845ea3878f18878b6bbc91ff5fee2dd51a794f3
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
Log Message:
-----------
[AMDGPU] Fix SDWA 'preserve' transformation for instructions in different basic blocks. (#82406)
This fixes crash when operand sources for V_OR instruction reside in
different basic blocks.
Commit: 5f2097dbeda0dfb21bc9dec27f4c8ff2ad42cef2
https://github.com/llvm/llvm-project/commit/5f2097dbeda0dfb21bc9dec27f4c8ff2ad42cef2
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/CMakeLists.txt
M mlir/include/mlir/Config/mlir-config.h.cmake
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir] Expose MLIR_CUDA_CONVERSIONS_ENABLED in mlir-config.h. (#83004)
That macro was not defined in some cases and thus yielded warnings if
compiled with `-Wundef`. In particular, they were not defined in the
BUILD files, so the GPU targets were broken when built with Bazel. This
commit exposes mentioned CMake variable through mlir-config.h and uses
the macro that is introduced with the same name. This replaces the macro
MLIR_CUDA_CONVERSIONS_ENABLED, which the CMake files previously defined
manually.
Commit: bb0ff1541092b54f81296350ce0e8a397673a105
https://github.com/llvm/llvm-project/commit/bb0ff1541092b54f81296350ce0e8a397673a105
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
Log Message:
-----------
[flang] fix one more compilation issue on aarch64. (#83258)
I used `class` instead of `struct` for `SymbolMap`.
Commit: 8e51b22ce21b01ae0be8267c5da3703ffd3b2c5b
https://github.com/llvm/llvm-project/commit/8e51b22ce21b01ae0be8267c5da3703ffd3b2c5b
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/load.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize G_LOAD for v4s8 Vector (#82989)
Lowers `v4s8 = G_LOAD %ptr ptr` into
`s32 = G_LOAD %ptr ptr`
`v4s8 = G_BITCAST s32`
Commit: 9e1432069555d70e1f0148742e565b31d3ba8695
https://github.com/llvm/llvm-project/commit/9e1432069555d70e1f0148742e565b31d3ba8695
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix breakage from 915fce040271c77df1ff9b2c8797c441cec0d18d.
That commit (from #82189) introduces a new dependency but does not
declare it in the BUILD files.
Commit: a8364c9e17b46ec339e97cc00877c58a7bdf6089
https://github.com/llvm/llvm-project/commit/a8364c9e17b46ec339e97cc00877c58a7bdf6089
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
Log Message:
-----------
[mlir] Fix shared builds. NFC
Commit: c89d51112d329a4a37ff6dbcda7002853847c8a3
https://github.com/llvm/llvm-project/commit/c89d51112d329a4a37ff6dbcda7002853847c8a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Use It->second.first for BWSz, NFC.
Commit: 680c780a367bfe1c0cdf786250fd7f565ef6d23d
https://github.com/llvm/llvm-project/commit/680c780a367bfe1c0cdf786250fd7f565ef6d23d
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/AMDGPU/gfx1011_err.s
M llvm/test/MC/AMDGPU/gfx1030_err.s
M llvm/test/MC/AMDGPU/gfx10_err_pos.s
M llvm/test/MC/AMDGPU/gfx940_asm_features.s
M llvm/test/MC/AMDGPU/gfx940_err.s
M llvm/test/MC/AMDGPU/sopk-err.s
M llvm/test/MC/AMDGPU/sopk.s
Log Message:
-----------
[AMDGPU][AsmParser] Support structured HWREG operands. (#82805)
Symbolic values are to be supported separately.
Commit: fdd60c7b961cd7beb2aaa4c5d0c559c34bbfafe8
https://github.com/llvm/llvm-project/commit/fdd60c7b961cd7beb2aaa4c5d0c559c34bbfafe8
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC]Preselect folding style while chosing the max VF, NFC.
Selects the tail-folding style while choosing the max vector
factor and storing it in the data member rather than calculating it each
time upon getTailFoldingStyle call.
Part of https://github.com/llvm/llvm-project/pull/76172
Reviewers: ayalz, fhahn
Reviewed By: fhahn
Pull Request: https://github.com/llvm/llvm-project/pull/81885
Commit: cb6c0f1d28c0d1915d1ca9a198254e3828af2384
https://github.com/llvm/llvm-project/commit/cb6c0f1d28c0d1915d1ca9a198254e3828af2384
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/cxx11.cpp
Log Message:
-----------
[clang][Interp] Ignore ArrayDecay ops for null pointers
Just don't do anything and let later operations handle the diagnostics.
Commit: 3e35ba53e20dbbd3ccc191d71ed75d52dc36ec59
https://github.com/llvm/llvm-project/commit/3e35ba53e20dbbd3ccc191d71ed75d52dc36ec59
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
A llvm/test/CodeGen/AMDGPU/wait-before-stores-with-scope_sys.ll
A llvm/test/CodeGen/AMDGPU/wait-before-stores-with-scope_sys.mir
Log Message:
-----------
AMDGPU/GFX12: Insert waitcnts before stores with scope_sys (#82996)
Insert waitcnts for loads and atomics before stores with system scope.
Scope is field in instruction encoding and corresponds to desired
coherence level in cache hierarchy.
Intrinsic stores can set scope in cache policy operand.
If volatile keyword is used on generic stores memory legalizer will set
scope to system. Generic stores, by default, get lowest scope level.
Waitcnts are not required if it is guaranteed that memory is cached.
For example vulkan shaders can guarantee this.
TODO: implement flag for frontends to give us a hint not to insert
waits.
Expecting vulkan flag to be implemented as vulkan:private MMRA.
Commit: 6067129fbe8944d5bd39dc1bc2331ce5ed6ecee8
https://github.com/llvm/llvm-project/commit/6067129fbe8944d5bd39dc1bc2331ce5ed6ecee8
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
Revert "[mlir][vector] Add a pattern to fuse extract(constant_mask) (#81057)" (#83275)
This reverts commit 5cdb8c0c8854d08ac7ca131ce3e8d78a32eb6716.
This pattern is producing incorrect IR. For example,
```mlir
func.func @extract_subvector_from_constant_mask() -> vector<16xi1> {
%mask = vector.constant_mask [2, 3] : vector<16x16xi1>
%extract = vector.extract %mask[8] : vector<16xi1> from vector<16x16xi1>
return %extract : vector<16xi1>
}
```
Canonicalizes to
```mlir
func.func @extract_subvector_from_constant_mask() -> vector<16xi1> {
%0 = vector.constant_mask [3] : vector<16xi1>
return %0 : vector<16xi1>
}
```
Where it should be a zero mask because the extraction index (8) is
greater than the constant mask size along that dim (2).
Commit: 80cff273906b200eed2f779913f49a64cad8c0c6
https://github.com/llvm/llvm-project/commit/80cff273906b200eed2f779913f49a64cad8c0c6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC]Fix a misprint, NFC.
Commit: 4623c114fb51e48b5cbb352adecb60d76077cb0a
https://github.com/llvm/llvm-project/commit/4623c114fb51e48b5cbb352adecb60d76077cb0a
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transforms.mlir
Log Message:
-----------
[mlir][Vector] Support vector.insert in bubbling bitcast patterns (#82843)
This PR is adds support for `vector.insert` to the patterns that bubble up and down `vector.bitcat` ops across `vector.extract/extract_slice/insert_slice` ops.
Commit: 3fac0562f8bdf193f039945eb40c51a5e6c24de1
https://github.com/llvm/llvm-project/commit/3fac0562f8bdf193f039945eb40c51a5e6c24de1
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Reset trip count when replacing ExpandSCEV recipe.
Otherwise accessing the trip count may accesses freed memory.
Fixes https://lab.llvm.org/buildbot/#/builders/74/builds/26239 and
others.
Commit: 64422cf826354ee1d586c2484ec72d66db898e75
https://github.com/llvm/llvm-project/commit/64422cf826354ee1d586c2484ec72d66db898e75
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
A flang/test/Integration/OpenMP/copyprivate.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[llvm][mlir][OMPIRBuilder] Translate omp.single's copyprivate (#80488)
Use the new copyprivate list from omp.single to emit calls to
__kmpc_copyprivate, during the creation of the single operation
in OMPIRBuilder.
This is patch 4 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128
Commit: cd344a4c20e295d49f8163ec9a0656c1061a6e42
https://github.com/llvm/llvm-project/commit/cd344a4c20e295d49f8163ec9a0656c1061a6e42
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/repl/clang/TestClangREPL.py
Log Message:
-----------
[LLDB] Fix completion of space-only lines in the REPL on Linux (#83203)
https://github.com/modularml/mojo/issues/1796 discovered that if you try
to complete a space-only line in the REPL on Linux, LLDB crashes. I
suspect that editline doesn't behave the same way on linux and on
darwin, because I can't replicate this on darwin.
Adding a boundary check in the completion code prevents the crash from
happening.
Commit: 26402777ebf4eb3d8f3d5a45943b451c740b2d76
https://github.com/llvm/llvm-project/commit/26402777ebf4eb3d8f3d5a45943b451c740b2d76
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
Log Message:
-----------
[AArch64] Optimized generated assembly for bool to svbool_t conversions (#83001)
In certain cases Legalizer was generating `AND(WHILELO, SPLAT 1)` instruction pattern, when `WHILELO` would be sufficient.
Commit: 634b0243b8f7acc85af4f16b70e91d86ded4dc83
https://github.com/llvm/llvm-project/commit/634b0243b8f7acc85af4f16b70e91d86ded4dc83
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
M llvm/test/MC/ARM/thumbv8m.s
A llvm/test/MC/ARM/vlstm-vlldm-8.1m.s
A llvm/test/MC/ARM/vlstm-vlldm-8m.s
A llvm/test/MC/ARM/vlstm-vlldm-diag.s
A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.1.main.txt
A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.main.txt
M llvm/unittests/Target/ARM/MachineInstrTest.cpp
Log Message:
-----------
[llvm][arm] add T1 and T2 assembly options for vlldm and vlstm (#83116)
T1 allows for an optional registers list, the register list must be {d0-d15}.
T2 defines a mandatory register list, the register list must be {d0-d31}.
The requirements for T1/T2 are as follows:
T1 T2
Require: v8-M.Main, v8.1-M.Main,
secure state secure state
16 D Regs valid valid
32 D Regs UNDEFINED valid
No D Regs NOP NOP
Commit: 28162b7832b87c85faedfca661e47d60e74337e9
https://github.com/llvm/llvm-project/commit/28162b7832b87c85faedfca661e47d60e74337e9
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/test/Integration/OpenMP/copyprivate.f90
Log Message:
-----------
[flang][OpenMP] Fix copyprivate test on ppc64le
Commit: 95e036956f0a610027907df9a8f99d1f3c3b4cf5
https://github.com/llvm/llvm-project/commit/95e036956f0a610027907df9a8f99d1f3c3b4cf5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Note UB when converting Inf to integer
The F.isFinite() check here was introduced back when the first
floating point implementation was pushed, but I don't think it's
necessary and it fixes the attached test case.
Commit: b6f4dd9ee8cd4aa2c41622d75790df9341d9e043
https://github.com/llvm/llvm-project/commit/b6f4dd9ee8cd4aa2c41622d75790df9341d9e043
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
A mlir/test/Dialect/Linalg/flatten-elementwise.mlir
Log Message:
-----------
[mlir][transform] Implement `FlattenElementwiseLinalgOp` transform op (#81431)
A `transform.structured.flatten_elementwise` op is implemented for
flattening the iteration space and (applicable) operands/results to a
single dimension.
Commit: 15b6908afa9b74ae62821ff44179d659277eef69
https://github.com/llvm/llvm-project/commit/15b6908afa9b74ae62821ff44179d659277eef69
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/fmaintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/prfchwintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/tmmintrin.h
Log Message:
-----------
[Headers][X86] Make brief descriptions briefer (#82422)
In Sony's document processing, the first "paragraph" of the description
is duplicated into a Brief Description section. Add paragraph breaks to make
those brief descriptions less verbose.
In fmaintrin.h we were including the \code blocks, which are
inappropriate for a brief description. While I was in there, change
\code to \code{.operation} which the Intel document processing wants.
Commit: 9da9b5f86750fc5286a89cc75f5f731affec7dfa
https://github.com/llvm/llvm-project/commit/9da9b5f86750fc5286a89cc75f5f731affec7dfa
Author: Michael Jones <michaelrj at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libc/docs/dev/undefined_behavior.rst
Log Message:
-----------
[libc][docs] Document policy for non-standard func (#83212)
As encountered with <sys/queue.h>, we need a policy for how to handle
implementing functions that users need, but has no specific standard. In
that case, we should treat existing implementations as the standard and
try to match their behavior as best as possible.
Commit: 46bd65a0509fefdf50d44f63640a7b8bd8ad0d14
https://github.com/llvm/llvm-project/commit/46bd65a0509fefdf50d44f63640a7b8bd8ad0d14
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][LinAlg] Vectorize reverse-like ops using vector.gather ops. (#83205)
The reverse op is treated as a VectorMemoryAccessKind::Contiguous load.
It is contiguous slice, but we'll need to compute indices differently
and apply a reverse at vector level. It takes non-trivial efforts for
the approach. The revision flips the case to use vector.gather.
Otherwise there are functionality issues. E.g., the below example loaded
`2, 3, 4` (which is a bug), but what we want is `2, 1, 0`.
Before vectorization:
```mlir
func.func @vectorize_reverse_like_tensor_extract(%arg0: tensor<1x2x3xf32>, %arg1: tensor<1x1x3xf32>, %arg2: index) -> tensor<1x1x3xf32> {
%c1 = arith.constant 1 : index
%c0 = arith.constant 0 : index
%c2 = arith.constant 2 : index
%0 = linalg.generic {indexing_maps = [#map], iterator_types = ["parallel", "parallel", "parallel"]} outs(%arg1 : tensor<1x1x3xf32>) {
^bb0(%out: f32):
%1 = linalg.index 1 : index
%2 = linalg.index 0 : index
%3 = affine.apply #map1(%1, %2, %arg2)
%4 = linalg.index 2 : index
%5 = arith.subi %c2, %4 : index
%extracted = tensor.extract %arg0[%c0, %3, %5] : tensor<1x2x3xf32>
linalg.yield %extracted : f32
} -> tensor<1x1x3xf32>
return %0 : tensor<1x1x3xf32>
}
```
Partial IR after vectorization:
```
%5 = vector.constant_mask [1, 1, 3] : vector<1x1x4xi1>
%6 = vector.broadcast %arg0 : index to vector<1x1x4xindex>
%7 = vector.shape_cast %6 : vector<1x1x4xindex> to vector<4xindex>
%8 = vector.extractelement %7[%c0_i32 : i32] : vector<4xindex>
%9 = vector.transfer_read %3[%c0, %8, %c2], %cst, %5 {in_bounds = [true, true, true]} : tensor<1x2x3xf32>, vector<1x1x4xf32>
```
Commit: ad43ea3328dad844c245caf93509c2facba1ec32
https://github.com/llvm/llvm-project/commit/ad43ea3328dad844c245caf93509c2facba1ec32
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
A llvm/test/TableGen/HwModeEncodeDecode3.td
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenHwModes.h
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Add support for DefaultMode in per-HwMode encode/decode. (#83029)
Currently the decoder and encoder emitters will crash if DefaultMode is
used within an EncodingByHwMode. As can be done today for
RegInfoByHwMode and ValueTypeByHwMode, this patch adds support for this
usage in EncodingByHwMode:
let EncodingInfos =
EncodingByHwMode<[ModeA, DefaultMode], [EncA, EncDefault]>;
Commit: c6cbf81c84b00ab0107a09f5b2d0183458a367b8
https://github.com/llvm/llvm-project/commit/c6cbf81c84b00ab0107a09f5b2d0183458a367b8
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/include/clang/InstallAPI/Context.h
A clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/HeaderFile.h
A clang/include/clang/InstallAPI/Visitor.h
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/Frontend.cpp
A clang/lib/InstallAPI/Visitor.cpp
M clang/test/InstallAPI/basic.test
A clang/test/InstallAPI/variables.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Hookup Input files & basic ASTVisitor (#82552)
This patch takes in json files as input to determine that header files
to process, and in which order, to pass along for CC1 invocations. This
patch also includes an ASTVisitor to collect simple global variables.
Commit: b42b7c8a123863d86db9abc8b6a1340b920f6573
https://github.com/llvm/llvm-project/commit/b42b7c8a123863d86db9abc8b6a1340b920f6573
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
Log Message:
-----------
[clang] Refactor target attribute mangling. (#81893)
Before this patch all of the 'target', 'target_version' and
'target_clones' attributes were sharing a common mangling logic across
different targets. However we would like to differenciate this logic,
therefore I have moved the default path to ABIInfo and provided
overrides for AArch64. This way we can resolve feature aliases without
affecting the name mangling. The PR #80540 demonstrates a motivating
case.
Commit: f9b079972c234c90df4b28990d5b2e51184e0b64
https://github.com/llvm/llvm-project/commit/f9b079972c234c90df4b28990d5b2e51184e0b64
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
Log Message:
-----------
[gn build] Port c6cbf81c84b0
Commit: 6101cf3164d77cfa4e2df75bf5262da9a2fb3d0a
https://github.com/llvm/llvm-project/commit/6101cf3164d77cfa4e2df75bf5262da9a2fb3d0a
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] add missing link to clangAST
Appeases bots.
Commit: 1c211bc76e8b6a3261c62e5b6c2b75b7b90386b0
https://github.com/llvm/llvm-project/commit/1c211bc76e8b6a3261c62e5b6c2b75b7b90386b0
Author: Nilanjana Basu <n_basu at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/interleave_IC.ll
Log Message:
-----------
[LV] Remove unused configuration option (#82955)
Recent set of changes (PR #67725) in loop interleaving algorithm caused removal of the loop trip count threshold for allowing interleaving. Therefore configuration option interleave-small-loop-scalar-reduction is no longer needed.
Commit: c1b8c6cf41df4a148e7a89c3a3c7e8049b0a47af
https://github.com/llvm/llvm-project/commit/c1b8c6cf41df4a148e7a89c3a3c7e8049b0a47af
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-compare-results-i16.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-multi-tile-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/arrays-of-scalable-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-print-str.mlir
Log Message:
-----------
[mlir][vector][print] do not append newline to printing pure strings (#83213)
Since the vector.print str provides no punctuation control, it is
slightly more flexible to let the client of this operation decide
whether there should be a trailing newline. This allows for printing
like
vector.print str "nse = "
vector.print %nse : index
as
nse = 42
Commit: baf6725b38491222f40a3c40bd27e57b0dd7f1f9
https://github.com/llvm/llvm-project/commit/baf6725b38491222f40a3c40bd27e57b0dd7f1f9
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M flang/include/flang/Runtime/reduction.h
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/runtime/Float128Math/CMakeLists.txt
M flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/norm2.cpp
M flang/runtime/extrema.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/tools.h
M flang/test/Lower/Intrinsics/norm2.f90
Log Message:
-----------
[flang][runtime] Support NORM2 for REAL(16) with FortranFloat128Math lib. (#83219)
Changed the lowering to call Norm2DimReal16 for REAL(16).
Added the corresponding entry point to FortranFloat128Math,
which required some restructuring in the related templates.
Commit: 6244dfef5cd45f1395c66abbe061c6a7eb002676
https://github.com/llvm/llvm-project/commit/6244dfef5cd45f1395c66abbe061c6a7eb002676
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DIContext.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
llvm-dwarfdump --verify aggregated output to JSON file (#81762)
In order to make tooling around dwarf health easier, I've added an `--verify-json` option to `llvm-dwarfdump --verify` that will spit out error summary data with counts to a JSON file.
I've added the same capability to `llvm-gsymutil` in a [different PR.](https://github.com/llvm/llvm-project/pull/81763)
The format of the json is:
``` json
{
"error-categories": {
"<first category description>": {"count": 1234},
"<next category description>": {"count":4321}
},
"error-count": 5555
}
```
for a clean run:
``` json
{
"error-categories": {},
"error-count": 0
}
```
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: b4bc19e2e6b7d0de9cb5f0578269085a76e99d3f
https://github.com/llvm/llvm-project/commit/b4bc19e2e6b7d0de9cb5f0578269085a76e99d3f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
Log Message:
-----------
[X86] Add tests showing failure to demand only the sign bit of a sitofp/uitofp node
sitofp - if we only demand the signbit, then we can try to use the source integer
uitofp - signbit is guaranteed to be zero
Noticed while reviewing #82290
Commit: 782147e82ab3e2d0e22f729ea4e54eeed7b3cb96
https://github.com/llvm/llvm-project/commit/782147e82ab3e2d0e22f729ea4e54eeed7b3cb96
Author: Patrick Dougherty <patrick.dougherty.0208 at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/CMake.rst
Log Message:
-----------
[CMake][LIT] Add option to run lit testsuites in parallel (#82899)
Currently `add_lit_target` sets the `USES_TERMINAL` CMake option. When
using Ninja, this forces all lit testsuite targets into the
single-threaded `console` pool.
This PR adds a new option `LLVM_PARALLEL_LIT` which drops the
`USES_TERMINAL` flag, allowing Ninja to run them in parallel.
The default setting (`LLVM_PARALLEL_LIT=OFF`) retains the existing
behavior of serial testsuite execution.
Commit: 2eb63982e88b9ed8336158d35884b1a1d04a0f78
https://github.com/llvm/llvm-project/commit/2eb63982e88b9ed8336158d35884b1a1d04a0f78
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/phi-and-select.ll
M llvm/test/Transforms/SROA/phi-gep.ll
Log Message:
-----------
[SROA] Unfold gep of index phi (#83087)
If a gep has only one phi as one of its operands and the remaining
indexes are constant, we can unfold `gep ptr, (phi idx1, idx2)` to `phi
((gep ptr, idx1), (gep ptr, idx2))`.
Take care not to unfold recursive phis.
Followup to #80983.
Commit: 9c7cde64e6556f8a04dc4a14cbfb2b277d5ab4d9
https://github.com/llvm/llvm-project/commit/9c7cde64e6556f8a04dc4a14cbfb2b277d5ab4d9
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/mlir-cpu-runner/expand-arith-ops.mlir
Log Message:
-----------
Fix the lowering of `arith.truncf : f32 to bf16`. (#83180)
This lowering was not correctly handling the case where saturation of
the mantissa results in an increase of the exponent value. The new code
borrows, with credit, the idea from
https://github.com/pytorch/pytorch/blob/e1502c0cdbfd17548c612f25d5a65b1e4b86224d/c10/util/BFloat16.h#L60-L79
and adds comments to explain the magic trick going on here and why it's
correct. Hat tip to its original author, whom I believe to be
@Maratyszcza.
A testcase was also requiring a tie to be broken upwards in a case where
"to nearest-even" required going downward. The fact that it used to pass
suggests that there was another bug in the old code.
Commit: 777ac46ddbc318b5d5820d278a2e4dc2213699d8
https://github.com/llvm/llvm-project/commit/777ac46ddbc318b5d5820d278a2e4dc2213699d8
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[llvm] Remove pipeline checks for optsize for DFAJumpThreadingPass
The pass itself checks whether to apply the optimization based on the
minsize attribute, so there isn't much functional benefit to preventing
the pass from being added. Gating the pass gets added to the pass
pipeline complicates the interaction with -enable-dfa-jump-thread, as
well.
Reviewers: aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/83318
Commit: 21c7bc51e9ed2402a3a2f7a88d63cc8f5c2e303c
https://github.com/llvm/llvm-project/commit/21c7bc51e9ed2402a3a2f7a88d63cc8f5c2e303c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libcxx/include/__utility/integer_sequence.h
R libcxx/test/std/utilities/intseq/intseq.make/make_integer_seq_fallback.pass.cpp
R libcxx/test/std/utilities/intseq/intseq.make/make_integer_seq_fallback.verify.cpp
Log Message:
-----------
[libc++] Use __integer_pack to implement integer_sequence on GCC (#82983)
This significantly simplifies the implementation.
Commit: b81bb0e1d0acc3db64557ed699ccba751b8b511a
https://github.com/llvm/llvm-project/commit/b81bb0e1d0acc3db64557ed699ccba751b8b511a
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Target/Cpp/logical_operators.mlir
Log Message:
-----------
[mlir][EmitC] Add logical operators (#83123)
This adds operations for the logical operators AND, NOT and OR.
Commit: 2cacc7a61095577ff42177373d46c8cb8df0cb1f
https://github.com/llvm/llvm-project/commit/2cacc7a61095577ff42177373d46c8cb8df0cb1f
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Deduplicate watchpoints starting at the same address on SetDataBreakpointsRequest. (#83192)
If a SetDataBreakpointsRequest contains a list data breakpoints which
have duplicate starting addresses, the current behaviour is returning
`{verified: true}` to both watchpoints with duplicated starting
addresses. This confuses the client and what actually happens in lldb is
the second one overwrite the first one.
This fixes it by letting the last watchpoint at given address have
`{verified: true}` and all previous watchpoints at the same address
should have `{verfied: false}` at response.
Commit: 1a7776abe6ca01996e8050dcdc8350d686a5749f
https://github.com/llvm/llvm-project/commit/1a7776abe6ca01996e8050dcdc8350d686a5749f
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_common.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
Reland "[scudo] Store more blocks in each TransferBatch" (#83078) (#83081)
This reverts commit 056d62be38c5db3d8332ac300c4ff29214126697.
Fixed the number of bytes copied in moveNToArray()
Commit: 153003416696c2464d296594dac5a36a5a60bac5
https://github.com/llvm/llvm-project/commit/153003416696c2464d296594dac5a36a5a60bac5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libcxx/include/__atomic/aliases.h
M libcxx/include/__config
M libcxx/include/__thread/support/pthread.h
M libcxx/include/atomic
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Remove unnecessary includes from <atomic> (#82880)
This reduces the include time of `<atomic>` from 135ms to 88ms.
Commit: b339c88120429df738d198d7535bc59f65f11edb
https://github.com/llvm/llvm-project/commit/b339c88120429df738d198d7535bc59f65f11edb
Author: David Green <david.green at arm.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/aes.ll
Log Message:
-----------
[AArch64] Add some base aes intrinsic tests. NFC
Including commutative tests.
Commit: d37affb06f2709ee46a86568a77ae6fea7fb4424
https://github.com/llvm/llvm-project/commit/d37affb06f2709ee46a86568a77ae6fea7fb4424
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
Log Message:
-----------
[mlir][sparse] add a sparse_tensor.print operation (#83321)
This operation is mainly used for testing and debugging purposes but
provides a very convenient way to quickly inspect the contents of a
sparse tensor (all components over all stored levels).
Example:
[ [ 1, 0, 2, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 3, 4, 0, 5, 0, 0 ]
when stored sparse as DCSC prints as
---- Sparse Tensor ----
nse = 5
pos[0] : ( 0, 4, )
crd[0] : ( 0, 2, 3, 5, )
pos[1] : ( 0, 1, 3, 4, 5, )
crd[1] : ( 0, 0, 3, 3, 3, )
values : ( 1, 2, 3, 4, 5, )
----
Commit: d1f04443b14f3cfc565656fb14d283f729d95344
https://github.com/llvm/llvm-project/commit/d1f04443b14f3cfc565656fb14d283f729d95344
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Port clangInstallAPI changes #82293 and #82552
Commit: 330793c91d08e6ac60334e4813746db898b9407e
https://github.com/llvm/llvm-project/commit/330793c91d08e6ac60334e4813746db898b9407e
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libc/include/__llvm-libc-common.h
M libc/include/llvm-libc-macros/containerof-macro.h
M libc/include/llvm-libc-macros/fcntl-macros.h
M libc/include/llvm-libc-macros/features-macros.h
M libc/include/llvm-libc-macros/fenv-macros.h
M libc/include/llvm-libc-macros/file-seek-macros.h
M libc/include/llvm-libc-macros/float-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/gpu/time-macros.h
M libc/include/llvm-libc-macros/inttypes-macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/include/llvm-libc-macros/linux/sched-macros.h
M libc/include/llvm-libc-macros/linux/signal-macros.h
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/include/llvm-libc-macros/linux/sys-random-macros.h
M libc/include/llvm-libc-macros/linux/sys-resource-macros.h
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/llvm-libc-macros/linux/sys-stat-macros.h
M libc/include/llvm-libc-macros/linux/sys-time-macros.h
M libc/include/llvm-libc-macros/linux/sys-wait-macros.h
M libc/include/llvm-libc-macros/linux/termios-macros.h
M libc/include/llvm-libc-macros/linux/time-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/null-macro.h
M libc/include/llvm-libc-macros/offsetof-macro.h
M libc/include/llvm-libc-macros/sched-macros.h
M libc/include/llvm-libc-macros/signal-macros.h
M libc/include/llvm-libc-macros/stdckdint-macros.h
M libc/include/llvm-libc-macros/stdfix-macros.h
M libc/include/llvm-libc-macros/stdio-macros.h
M libc/include/llvm-libc-macros/stdlib-macros.h
M libc/include/llvm-libc-macros/sys-auxv-macros.h
M libc/include/llvm-libc-macros/sys-ioctl-macros.h
M libc/include/llvm-libc-macros/sys-mman-macros.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-macros/sys-random-macros.h
M libc/include/llvm-libc-macros/sys-resource-macros.h
M libc/include/llvm-libc-macros/sys-select-macros.h
M libc/include/llvm-libc-macros/sys-socket-macros.h
M libc/include/llvm-libc-macros/sys-stat-macros.h
M libc/include/llvm-libc-macros/sys-time-macros.h
M libc/include/llvm-libc-macros/sys-wait-macros.h
M libc/include/llvm-libc-macros/termios-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-macros/unistd-macros.h
M libc/include/llvm-libc-macros/wchar-macros.h
M libc/include/llvm-libc-types/ACTION.h
M libc/include/llvm-libc-types/DIR.h
M libc/include/llvm-libc-types/ENTRY.h
M libc/include/llvm-libc-types/FILE.h
M libc/include/llvm-libc-types/__atexithandler_t.h
M libc/include/llvm-libc-types/__atfork_callback_t.h
M libc/include/llvm-libc-types/__bsearchcompare_t.h
M libc/include/llvm-libc-types/__call_once_func_t.h
M libc/include/llvm-libc-types/__exec_argv_t.h
M libc/include/llvm-libc-types/__exec_envp_t.h
M libc/include/llvm-libc-types/__futex_word.h
M libc/include/llvm-libc-types/__getoptargv_t.h
M libc/include/llvm-libc-types/__mutex_type.h
M libc/include/llvm-libc-types/__pthread_once_func_t.h
M libc/include/llvm-libc-types/__pthread_start_t.h
M libc/include/llvm-libc-types/__pthread_tss_dtor_t.h
M libc/include/llvm-libc-types/__qsortcompare_t.h
M libc/include/llvm-libc-types/__qsortrcompare_t.h
M libc/include/llvm-libc-types/__sighandler_t.h
M libc/include/llvm-libc-types/__thread_type.h
M libc/include/llvm-libc-types/blkcnt_t.h
M libc/include/llvm-libc-types/blksize_t.h
M libc/include/llvm-libc-types/cc_t.h
M libc/include/llvm-libc-types/clock_t.h
M libc/include/llvm-libc-types/clockid_t.h
M libc/include/llvm-libc-types/cnd_t.h
M libc/include/llvm-libc-types/cookie_io_functions_t.h
M libc/include/llvm-libc-types/cpu_set_t.h
M libc/include/llvm-libc-types/dev_t.h
M libc/include/llvm-libc-types/div_t.h
M libc/include/llvm-libc-types/double_t.h
M libc/include/llvm-libc-types/fd_set.h
M libc/include/llvm-libc-types/fenv_t.h
M libc/include/llvm-libc-types/fexcept_t.h
M libc/include/llvm-libc-types/float128.h
M libc/include/llvm-libc-types/float_t.h
M libc/include/llvm-libc-types/gid_t.h
M libc/include/llvm-libc-types/ino_t.h
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/llvm-libc-types/ldiv_t.h
M libc/include/llvm-libc-types/lldiv_t.h
M libc/include/llvm-libc-types/mode_t.h
M libc/include/llvm-libc-types/mtx_t.h
M libc/include/llvm-libc-types/nlink_t.h
M libc/include/llvm-libc-types/off64_t.h
M libc/include/llvm-libc-types/off_t.h
M libc/include/llvm-libc-types/once_flag.h
M libc/include/llvm-libc-types/pid_t.h
M libc/include/llvm-libc-types/posix_spawn_file_actions_t.h
M libc/include/llvm-libc-types/posix_spawnattr_t.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/llvm-libc-types/pthread_key_t.h
M libc/include/llvm-libc-types/pthread_mutex_t.h
M libc/include/llvm-libc-types/pthread_mutexattr_t.h
M libc/include/llvm-libc-types/pthread_once_t.h
M libc/include/llvm-libc-types/pthread_t.h
M libc/include/llvm-libc-types/rlim_t.h
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/llvm-libc-types/sa_family_t.h
M libc/include/llvm-libc-types/sig_atomic_t.h
M libc/include/llvm-libc-types/siginfo_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/size_t.h
M libc/include/llvm-libc-types/socklen_t.h
M libc/include/llvm-libc-types/speed_t.h
M libc/include/llvm-libc-types/ssize_t.h
M libc/include/llvm-libc-types/stack_t.h
M libc/include/llvm-libc-types/struct_dirent.h
M libc/include/llvm-libc-types/struct_epoll_data.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/llvm-libc-types/struct_hsearch_data.h
M libc/include/llvm-libc-types/struct_rlimit.h
M libc/include/llvm-libc-types/struct_rusage.h
M libc/include/llvm-libc-types/struct_sched_param.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/struct_sockaddr_un.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/struct_tm.h
M libc/include/llvm-libc-types/struct_utsname.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/tcflag_t.h
M libc/include/llvm-libc-types/test_rpc_opcodes_t.h
M libc/include/llvm-libc-types/thrd_start_t.h
M libc/include/llvm-libc-types/thrd_t.h
M libc/include/llvm-libc-types/time_t.h
M libc/include/llvm-libc-types/tss_dtor_t.h
M libc/include/llvm-libc-types/tss_t.h
M libc/include/llvm-libc-types/uid_t.h
M libc/include/llvm-libc-types/union_sigval.h
M libc/include/llvm-libc-types/wchar_t.h
M libc/include/llvm-libc-types/wint_t.h
M libc/include/sys/queue.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/FPUtil/fpbits_str.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/gpu/io.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/__support/StringUtil/message_mapper.h
M libc/src/__support/StringUtil/platform_errors.h
M libc/src/__support/StringUtil/platform_signals.h
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
M libc/src/__support/StringUtil/tables/linux_extension_signals.h
M libc/src/__support/StringUtil/tables/linux_platform_errors.h
M libc/src/__support/StringUtil/tables/linux_platform_signals.h
M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
M libc/src/__support/StringUtil/tables/posix_errors.h
M libc/src/__support/StringUtil/tables/posix_signals.h
M libc/src/__support/StringUtil/tables/signal_table.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/__support/StringUtil/tables/stdc_signals.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/memory_size.h
M libc/src/__support/threads/gpu/mutex.h
M libc/src/assert/assert.h
M libc/src/gpu/rpc_host_call.h
M libc/src/math/amdgpu/declarations.h
M libc/src/math/amdgpu/platform.h
M libc/src/math/copysignf128.h
M libc/src/math/generic/exp_utils.h
M libc/src/math/nvptx/declarations.h
M libc/src/math/nvptx/nvptx.h
M libc/src/search/hsearch/global.h
M libc/src/string/memory_utils/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/riscv/inline_memmove.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/FPExceptMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/UnitTest/PlatformDefs.h
M libc/test/UnitTest/RoundingModeUtils.h
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/spawn/test_binary_properties.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/RandUtils.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/differential_testing/Timer.h
M libc/test/src/math/in_float_range_test_helper.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/time/TmHelper.h
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc] fix clang-tidy llvm-header-guard warnings (#82679)
Towards the goal of getting `ninja libc-lint` back to green, fix the numerous
instances of:
warning: header guard does not follow preferred style [llvm-header-guard]
This is because many of our header guards start with `__LLVM` rather than
`LLVM`.
To filter just these warnings:
$ ninja -k2000 libc-lint 2>&1 | grep llvm-header-guard
To automatically apply fixits:
$ find libc/src libc/include libc/test -name \*.h | \
xargs -n1 -I {} clang-tidy {} -p build/compile_commands.json \
-checks='-*,llvm-header-guard' --fix --quiet
Some manual cleanup is still necessary as headers that were missing header
guards outright will have them inserted before the license block (we prefer
them after).
Commit: 249cf356ef21d0b6ed0d1fa962f3fc5a9e3fcc9e
https://github.com/llvm/llvm-project/commit/249cf356ef21d0b6ed0d1fa962f3fc5a9e3fcc9e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
M lldb/use_lldb_suite_root.py
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
Log Message:
-----------
[lldb][test][NFC] Add option to exclude third_party packages (#83191)
The goal here is to remove the third_party/Python/module tree, which
LLDB tests only use to `import pexpect`. This package is available on
`pip`, and I believe should not be hard to obtain.
However, in case it isn't easily available, deleting the tree right now
could cause disruption. This introduces a
`LLDB_TEST_USE_VENDOR_PACKAGES` cmake param that can be enabled, and the
tests will continue loading that tree. By default, it is enabled,
meaning there's really no change here. A followup change will disable it
by default once all known build bots are updated to include this
package. When disabled, an eager cmake check runs that makes sure
`pexpect` is available before waiting for the test to fail in an obscure
way.
Later, this option will go away, and when it does, we can delete the
tree too. Ideally this is not disruptive, and we can remove it in a week
or two.
Commit: 5b91647e3f82c9747c42c3239b7d7f3ade4542a7
https://github.com/llvm/llvm-project/commit/5b91647e3f82c9747c42c3239b7d7f3ade4542a7
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AArch64/cfi-bad-nesting-darwin.s
Log Message:
-----------
Allow .alt_entry symbols to pass the .cfi nesting check (#82268)
A symbol with an `N_ALT_ENTRY` attribute may be defined in the middle of
a subsection, so it is reasonable to opt them out of the
`.cfi_{start,end}proc` nesting check.
Fixes: https://github.com/llvm/llvm-project/issues/82261
Commit: 4df364bc93af49ae413ec1ae8328f34ac70730c4
https://github.com/llvm/llvm-project/commit/4df364bc93af49ae413ec1ae8328f34ac70730c4
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libc/src/assert/assert.h
Log Message:
-----------
[libc] remove header guard for assert.h (#83334)
It's meant to be included multiple times! Maybe use a NOLINT rule to
suppress
clang-tidy's llvm-header-guard lint warning.
Commit: caca8d33a9d5e6fe75980c4ae1cb13de2e460590
https://github.com/llvm/llvm-project/commit/caca8d33a9d5e6fe75980c4ae1cb13de2e460590
Author: Joe Nash <Sisyph at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/utils/vim/syntax/mir.vim
Log Message:
-----------
[vim] Fix command already exists on opening multiple mir buffers (#82410)
When using the vim syntax for mir, an error occurs in nvim when opening
multiple .mir buffers. delcommand HiLink in the mir syntax file to avoid
the issue.
To reproduce:
Open an .mir file, for example
llvm/test/Codegen/X86/expand-post-ra-pseudo.mir
Open another mir file from within nvim, for example peephole.mir
```
Error detected while processing function 335[30]..<SNR>43_callback[25]..function 335[30]..<SNR>43_callback:
line 23:
Vim(command):E174: Command already exists: add ! to replace it: HiLink hi def link <args>
```
Commit: 1977404d20ab29ff78a58d8c0f1f4c5e7aef6b16
https://github.com/llvm/llvm-project/commit/1977404d20ab29ff78a58d8c0f1f4c5e7aef6b16
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Respect LLVM per-target install directories (#83282)
Summary:
One recurring problem we have with the OpenMP libraries is that they are
potentially conflicting with ones found on the system, this occurs when
there are two copies and one is used for linking that it not attached to
the correspoding clang compiler. LLVM already uses target specific
directories for this, like with libc++, which are always searched first.
This patch changes the install directory to be
`lib/x86_64-unknown-linux-gnu` for example.
Notable changes would be that users will need to change their
LD_LIBRARY_PATH settings optionally, or use default rt-rpath options.
This should fix problems were users are linking the wrong versions of
static libraries
Commit: 68f0edfa359fde3fb4f5ec391a4afe96f3905aaf
https://github.com/llvm/llvm-project/commit/68f0edfa359fde3fb4f5ec391a4afe96f3905aaf
Author: Petr Hosek <phosek at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
Log Message:
-----------
[libc] Include assert.h on baremetal targets (#83324)
Many baremetal applications use asserts.
Commit: 8394ec9ff1d58b361961e3a8990d0e080ba6c7f2
https://github.com/llvm/llvm-project/commit/8394ec9ff1d58b361961e3a8990d0e080ba6c7f2
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
Log Message:
-----------
[mlir][sparse] add a few more cases to sparse_tensor.print test (#83338)
Commit: 14faf0d4aa841aafd0d1982391114bc35fda7e59
https://github.com/llvm/llvm-project/commit/14faf0d4aa841aafd0d1982391114bc35fda7e59
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/InstallAPI/Visitor.cpp
M llvm/include/llvm/TextAPI/RecordsSlice.h
Log Message:
-----------
[TextAPI][InstallAPI] Fix documentation typos, NFC
Commit: dc456ce4f2ad6ebe883c301758d8eb95fcd16a0a
https://github.com/llvm/llvm-project/commit/dc456ce4f2ad6ebe883c301758d8eb95fcd16a0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port 249cf356ef21
Commit: e3b93a16201d96745a2c64523801a2b1eb43b4c0
https://github.com/llvm/llvm-project/commit/e3b93a16201d96745a2c64523801a2b1eb43b4c0
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix bug in pack and unpack op canonicalization for folding dynamic dims (#82539)
This PR fixes a bug in the inference of pack and unpack static shapes
that should be using an inverse permutation.
Commit: fc8d48106387b8b79531902788ef93571f924da7
https://github.com/llvm/llvm-project/commit/fc8d48106387b8b79531902788ef93571f924da7
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins.c
M clang/test/Sema/builtin-popcountg.c
Log Message:
-----------
[clang] Fix __builtin_popcountg not matching GCC (#83313)
Our implementation previously accepted signed arguments and performed
integer promotion on the argument. GCC's implementation requires an
unsigned argument and does not perform integer promotion on it.
Commit: 6f8d826b746242802a2368cac26896dfebd6f5a1
https://github.com/llvm/llvm-project/commit/6f8d826b746242802a2368cac26896dfebd6f5a1
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libc/.clang-tidy
M libc/src/__support/FPUtil/FPBits.h
M libc/src/string/memory_utils/aarch64/inline_bcmp.h
M libc/src/string/memory_utils/aarch64/inline_memcmp.h
M libc/src/string/memory_utils/generic/aligned_access.h
M libc/src/string/memory_utils/generic/byte_per_byte.h
M libc/src/string/memory_utils/op_aarch64.h
M libc/src/string/memory_utils/op_builtin.h
M libc/src/string/memory_utils/op_generic.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_bcmp.h
M libc/src/string/memory_utils/x86_64/inline_memcmp.h
Log Message:
-----------
[libc] fix readability-identifier-naming.ConstexprFunctionCase (#83345)
Codify that we use lower_case for
readability-identifier-naming.ConstexprFunctionCase and then fix the 11
violations (rather than codify UPPER_CASE and have to fix the 170 violations).
Commit: 8dfa1d878d015dd7f466d6eadbaca6c46fc8d7a9
https://github.com/llvm/llvm-project/commit/8dfa1d878d015dd7f466d6eadbaca6c46fc8d7a9
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
Log Message:
-----------
[mlir][sparse] add roundtrip and invalid tests for sparse_tensor.print (#83349)
Commit: e7a303e3cf7f205184c9d9d878791661260f9852
https://github.com/llvm/llvm-project/commit/e7a303e3cf7f205184c9d9d878791661260f9852
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Remove unused getIndexedStridedLoadVP/getIndexedStridedStoreVP functions. NFC (#82847)
These appear to have been copied from getIndexedLoadVP/getIndexedStoreVP
which in turn were copied from the non-VP versions.
Commit: c345198c7a68cb76e82dbc04d0e91476cb0edc70
https://github.com/llvm/llvm-project/commit/c345198c7a68cb76e82dbc04d0e91476cb0edc70
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Add a command line option to disable cost per use for compressed registers. (#83320)
I've seen cases where the cost per use increase the number of spills.
Disabling improves the codegen for #79918.
I propose adding this option to allow easier experimentation.
Commit: ff07c9b701dc6372f82d989d01768051e848b30d
https://github.com/llvm/llvm-project/commit/ff07c9b701dc6372f82d989d01768051e848b30d
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/test/Driver/darwin-header-search-libcxx.cpp
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Driver/no-canonical-prefixes.c
M clang/test/Driver/program-path-priority.c
M clang/test/Driver/rocm-detect.hip
M clang/tools/driver/driver.cpp
Log Message:
-----------
[Driver] Unify InstalledDir and Dir (#80527)
`Driver::ClangExecutable` is derived from:
* (-canonical-prefixes default): `realpath` on the executable path
* (-no-canonical-prefixes) argv[0] (consult PATH if argv[0] is a word)
`Dir` and `ResourceDir` are derived from `ClangExecutable`. Both
variables are used to derive certain include and library paths.
`InstalledDir` is a related concept used to derive certain other paths.
`InstalledDir` is weird in the -canonical-prefixes mode: Clang
calls `make_absolute` but does not follow symlinks
(FIXME from 9ade6a9a747c49383ac747bd8ffaa6a0beaef71c).
This causes some search and library paths to be mix-and-matched.
The "Do a PATH lookup, if there are no directory components." logic
makes things worse.
`InstalledDir` is different when you invoke it via `PATH`:
```
% which clang
/usr/bin/clang
% clang -v |& grep InstalledDir
InstalledDir: /usr/bin
% /usr/lib/llvm-16/bin/clang -v |& grep InstalledDir
InstalledDir: /usr/lib/llvm-16/bin
```
I believe `InstalledDir` was a partial solution to
`-no-canonical-prefixes` and should be eventually removed.
This patch removes `SetInstallDir` and relies on Driver::Driver to set
`InstalledDir` to `Dir`. The behavior for regular file `clang` or
`-no-canonical-prefixes` is unchanged.
If a user creates a symlink to the regular file `clang` and uses the
default `-canonical-prefixes`, they now consistently get search and
library paths relative to the regular file `clang`, not mix-and-match
paths.
If a user creates a symlink to the regular file `clang` and replaces
some directorys from the actual installation, they should change the
symlink to a wrapper that calls the underlying clang with
`-no-canonical-prefixes`.
Commit: 0f76d9fb5fbfea92da7647af70d78165c71c0700
https://github.com/llvm/llvm-project/commit/0f76d9fb5fbfea92da7647af70d78165c71c0700
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/ClangInstallAPI.cpp
Log Message:
-----------
clang-installapi: remove setInstalledDir
Commit: d3173f4ab61c17337908eb7df3f1c515ddcd428c
https://github.com/llvm/llvm-project/commit/d3173f4ab61c17337908eb7df3f1c515ddcd428c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/test/Shell/Driver/TestHelp.test
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Driver.h
Log Message:
-----------
[lldb] Remove -d(ebug) mode from the lldb driver (#83330)
The -d(ebug) option broke 5 years ago when I migrated the driver to
libOption. Since then, we were never check if the option is set. We were
incorrectly toggling the internal variable (m_debug_mode) based on
OPT_no_use_colors instead.
Given that the functionality doesn't seem particularly useful and nobody
noticed it has been broken for 5 years, I'm just removing the flag.
Commit: d7b73c8d012cd19bcbd35a33df9e45e3cdddbfad
https://github.com/llvm/llvm-project/commit/d7b73c8d012cd19bcbd35a33df9e45e3cdddbfad
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Copy WaveSizePredicate into VOP3_Real. NFCI. (#83352)
Commit: 191fd2d9db46ba41308f0b2b342b2dc268d7be6f
https://github.com/llvm/llvm-project/commit/191fd2d9db46ba41308f0b2b342b2dc268d7be6f
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/div_i128.ll
A llvm/test/CodeGen/AMDGPU/rem_i128.ll
Log Message:
-----------
[NFC][AMDGPU] Move the rem tests in `div_i128.ll` into `rem_i128.ll` (#83307)
Commit: 43b7dfcc1dbdf904b1c507e03e5c34d527b5a344
https://github.com/llvm/llvm-project/commit/43b7dfcc1dbdf904b1c507e03e5c34d527b5a344
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/phi-and-select.ll
M llvm/test/Transforms/SROA/phi-gep.ll
Log Message:
-----------
Revert "[SROA] Unfold gep of index phi (#83087)"
This reverts commit 2eb63982e88b9ed8336158d35884b1a1d04a0f78.
This caused verifier error
```
Instruction does not dominate all uses!
```
for some projects using Halide.
The verifier error happens inside `Halide::Internal::CodeGen_LLVM::optimize_module`
and looks like a genuine SROA issue.
Commit: 6bc7c9df7f45642071f2b59a222ba009dc81eb99
https://github.com/llvm/llvm-project/commit/6bc7c9df7f45642071f2b59a222ba009dc81eb99
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
Log Message:
-----------
[mlir][sparse] infer returned type for sparse_tensor.to_[buffer] ops (#83343)
The sparse structure buffers might not always be memrefs with rank == 1
with the presence of batch levels.
Commit: 97281708ac176e0464b770686ee314af4da0a3d5
https://github.com/llvm/llvm-project/commit/97281708ac176e0464b770686ee314af4da0a3d5
Author: jimingham <jingham at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
Log Message:
-----------
Change `image list -r` so that it actually shows the ref count and whether the image is in the shared cache. (#83341)
The help for the `-r` option to `image list` says:
-r[<width>] ( --ref-count=[<width>] )
Display the reference count if the module is still in the shared module
cache.
but that's not what it actually does. It unconditionally shows the
use_count for all Module shared pointers, regardless of whether they are
still in the shared module cache or whether they are just in the
ModuleCollection and other entities are keeping them alive. That seems
like a more useful behavior, but then it is also useful to know what's
in the shared cache, so I changed this to:
-r[<width>] ( --ref-count=[<width>] )
Display whether the module is still in the the shared module cache
(Y/N), and its shared pointer use_count.
So instead of just `{5}` you will see `{Y 5}` if it is in the shared
cache and `{N 5}` if not.
I didn't add tests for this because I'm not sure how much we want to fix
shared cache behavior in the testsuite.
Commit: f83f7128b3c98e5d1d1995bfa18c43c6b32c18bb
https://github.com/llvm/llvm-project/commit/f83f7128b3c98e5d1d1995bfa18c43c6b32c18bb
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_common.h
Log Message:
-----------
[scudo][NFC] Explicit type casting to avoid compiler warning (#83355)
Commit: fdf44b37774ede4e15b12508753aca16008b718d
https://github.com/llvm/llvm-project/commit/fdf44b37774ede4e15b12508753aca16008b718d
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
Log Message:
-----------
[mlir][sparse] migrate integration tests to sparse_tensor.print (#83357)
This is first step (of many) cleaning up our tests to use the new and
exciting sparse_tensor.print operation instead of lengthy extraction +
print ops.
Commit: f7a544dd5f515c2f9b312142f573806cc8e64145
https://github.com/llvm/llvm-project/commit/f7a544dd5f515c2f9b312142f573806cc8e64145
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
Log Message:
-----------
[lldb] Ignore swig warnings about shadowed overloads (#83317)
This specifically addresses the warnings:
$LLVM/lldb/include/lldb/API/SBCommandReturnObject.h:119: Warning 509:
Overloaded method lldb::SBCommandReturnObject::PutCString(char const *)
effectively ignored,
$LLVM/lldb/include/lldb/API/SBCommandReturnObject.h:119: Warning 509: as
it is shadowed by lldb::SBCommandReturnObject::PutCString(char const
*,int).
There is exactly one declaration of SBCommandReturnObject::PutCString.
The second parameter (of type `int`) has default value `-1`. Without
investigating why SWIG believes there are 2 method declarations, I
believe it is safe to ignore this warning. It does not appear to
actually impact functionality in any way.
rdar://117744660
Commit: 1a0986f0f7a18cef78852e91e73ec577ea05d8c4
https://github.com/llvm/llvm-project/commit/1a0986f0f7a18cef78852e91e73ec577ea05d8c4
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
Log Message:
-----------
[mlir][sparse] code cleanup (using inferred type to construct to_[buf… (#83361)
…fer] op).
Commit: 2679d3793b264b2884cf5c9492e3311f08f41de3
https://github.com/llvm/llvm-project/commit/2679d3793b264b2884cf5c9492e3311f08f41de3
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
A mlir/test/Dialect/Affine/access-analysis.mlir
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
A mlir/test/lib/Dialect/Affine/TestAccessAnalysis.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][Affine] Add test pass for affine isContiguousAccess (#82923)
`isContiguousAccess` is an important affine analysis utility but is only
tested very indirectly via passes like vectorization and is not exposed.
Expose it and add a test pass for it that'll make it easier/feasible to
write test cases. This is especially needed since the utility can be
significantly enhanced in power, and we need a test pass to exercise it
directly.
This pass can in the future be used to test the utility of invariant
accesses as well.
Commit: 6a65b44322ee7ba816283c31f8d71559592ca5e7
https://github.com/llvm/llvm-project/commit/6a65b44322ee7ba816283c31f8d71559592ca5e7
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/global_remove_same.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/global_remove_same.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/global_remove_same.test
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
[UTC] Don't leave dangling CHECK-SAME when removing CHECK lines (#82569)
When removing only lines that are global value CHECK lines, a related
CHECK-SAME line could be left dangling without a previous line to belong
to.
Resolves #78517
Commit: 27352e600aab6a50939db77a6eacc94a5057d66f
https://github.com/llvm/llvm-project/commit/27352e600aab6a50939db77a6eacc94a5057d66f
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M libc/src/string/memory_utils/generic/byte_per_byte.h
Log Message:
-----------
[libc] fix typo introduced in inline_bcmp_byte_per_byte (#83356)
My global find+replace was overzealous and broke post submit unit tests.
Link: #83345
Commit: 0fe4b9dae81695dd44c3392e52e1454864a9c001
https://github.com/llvm/llvm-project/commit/0fe4b9dae81695dd44c3392e52e1454864a9c001
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
AMDGPU: Copy a few Predicates from Pseudo to Real (#83365)
WaveSizePredicate for DS_Reaf and FLAT_Real
OtherPredicates for MTBUF_Real
Commit: 5784bf85bc5143266565586ece0113cd773a8616
https://github.com/llvm/llvm-project/commit/5784bf85bc5143266565586ece0113cd773a8616
Author: jimingham <jingham at apple.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/test/API/commands/command/script/TestCommandScript.py
A lldb/test/API/commands/command/script/cmd_file.lldb
Log Message:
-----------
Fix interactive use of "command script add". (#83350)
There was a think-o in a previous commit that made us only able to
define 1 line commands when using command script add interactively.
There was also no test for this feature, so I fixed the think-o and
added a test.
Commit: 273cfd377b96f721c9e280bdc67c6f9e6e2e383b
https://github.com/llvm/llvm-project/commit/273cfd377b96f721c9e280bdc67c6f9e6e2e383b
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
Log Message:
-----------
[X86][NFC] Avoid duplicated code in X86ExpandPseudo.cpp by using macro GET_EGPR_IF_ENABLED
Commit: 265e49d1f41766b66883327a3306b7cd5caeec6e
https://github.com/llvm/llvm-project/commit/265e49d1f41766b66883327a3306b7cd5caeec6e
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
Log Message:
-----------
[X86][NFC] Lowercase first letter of function names in X86ExpandPseudo.cpp
Commit: daf3079222b09683a24dd5b11815f6467ae41b8d
https://github.com/llvm/llvm-project/commit/daf3079222b09683a24dd5b11815f6467ae41b8d
Author: lifengxiang1025 <lifengxiang.1025 at bytedance.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/test/Transforms/Inline/inline_stats.ll
Log Message:
-----------
[ThinLTO] Add metedata 'thinlto_src_module' and 'thinlto_src_file' (#83110)
Originally, when `EnableImportMetadata` enabled, `SourceFileName` will
be recorded as `thinlto_src_module`. Now `SourceFileName` will be
recorded as `thinlto_src_file` and `ModuleIdentifier` will be recorded
as `thinlto_src_module`.
Commit: 7d8b50aaab8e0f935e3cb1f3f397e98b9e3ee241
https://github.com/llvm/llvm-project/commit/7d8b50aaab8e0f935e3cb1f3f397e98b9e3ee241
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/CodeGen/fat-lto-objects.c
Log Message:
-----------
[clang][fat-lto-objects] Make module flags match non-FatLTO pipelines (#83159)
In addition to being rather hard to follow, there isn't a good reason
why FatLTO shouldn't just share the same code for setting module flags
for (Thin)LTO. This patch simplifies the logic and makes sure we use set
these flags in a consistent way, independent of FatLTO.
Additionally, we now test that output in the .llvm.lto section actually
matches the output from Full and Thin LTO compilation.
Commit: f0484e08bdcf64106592808e3ca80404937b4657
https://github.com/llvm/llvm-project/commit/f0484e08bdcf64106592808e3ca80404937b4657
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
A llvm/test/tools/llvm-mca/AMDGPU/gfx940.s
Log Message:
-----------
AMDGPU: Add scheduling test for gfx940 (#83220)
I'm not sure the f64 fma cases are correct.
Commit: ffa48f0c945be3c1680b0830d5c0cac146cb954c
https://github.com/llvm/llvm-project/commit/ffa48f0c945be3c1680b0830d5c0cac146cb954c
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/lib/Target/X86/X86InstrVMX.td
A llvm/test/MC/Disassembler/X86/apx/IgnoreW.txt
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[X86][MC] Teach disassembler to recognize apx instructions which ignores W bit (#82747)
Extended VMX instructions and 8 bit apx extended instructions don't need
W bit, they are marked as W ignored in spec.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 3f2a9e5910c2f485ce18a6d348af30cd44474b48
https://github.com/llvm/llvm-project/commit/3f2a9e5910c2f485ce18a6d348af30cd44474b48
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Sort TakenBranches immediately before use. NFCI (#83333)
Move code that sorts TakenBranches right before the branches are used.
We can populate TakenBranches in pre-CFG post-processing and hence have
to postpone the sorting to a later point in the processing pipeline.
Will add such a pass later. For now it's NFC.
Commit: d7d564b2fccbdf5b124f93c03c36ae8bfd849589
https://github.com/llvm/llvm-project/commit/d7d564b2fccbdf5b124f93c03c36ae8bfd849589
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Add BinaryFunction::registerBranch(). NFC (#83337)
Add an external interface to register a branch in a function that is in
disassembled state. Allows to make custom modifications to the
disassembler. E.g., a pre-CFG pass can add an instruction and register a
branch that will later be used during the CFG construction.
Commit: 14d8c4563e045fc3da82cb7268b1066cfd1bb6f0
https://github.com/llvm/llvm-project/commit/14d8c4563e045fc3da82cb7268b1066cfd1bb6f0
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Add more intrinsics into canSplatOperand. (#83106)
This patch adds smin/smax/umin/umax/sadd_sat/ssub_sat/uadd_sat/usub_sat
into canSplatOperand. It can help llvm fold vv instructions with one
splat operand to vx instructions.
Commit: c36cbba6fbe926a4a73f5df318fab991dad7fcc0
https://github.com/llvm/llvm-project/commit/c36cbba6fbe926a4a73f5df318fab991dad7fcc0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/GenericOpcodes.td
Log Message:
-----------
Update IEEE-754 2018 draft references to IEEE-754 2019
Commit: 793300988b7c723bacadce67879ea8bf71c87e70
https://github.com/llvm/llvm-project/commit/793300988b7c723bacadce67879ea8bf71c87e70
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Add pexpect to LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS
This executed Alex' idea [1] of adding pexpect to the list of "strict
test requirements" as we're planning to stop vendoring it. This will
ensure all the bots have the package before we toggle the default.
[1] https://github.com/llvm/llvm-project/pull/83191
Commit: 81d94cad6d655d66adb08805a3bbef5a58125999
https://github.com/llvm/llvm-project/commit/81d94cad6d655d66adb08805a3bbef5a58125999
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M lldb/test/CMakeLists.txt
Log Message:
-----------
Revert "[lldb] Add pexpect to LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS"
This reverts commit 793300988b7c723bacadce67879ea8bf71c87e70 as pexpect
is not available on any of the GreenDragon bots.
Commit: 71c06bbb251371b6285f2a0fa337299bbf96a935
https://github.com/llvm/llvm-project/commit/71c06bbb251371b6285f2a0fa337299bbf96a935
Author: Dávid Ferenc Szabó <30732159+dfszabo at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-2-icmps-of-0-and-or.mir
Log Message:
-----------
[GlobalISel] Combine (X == 0) & (Y == 0) -> (X | Y) == 0 (#71949)
Also combine (X != 0) | (Y != 0) -> (X | Y) != 0
Commit: 95aab69c109adf29e183090c25dc95c773215746
https://github.com/llvm/llvm-project/commit/95aab69c109adf29e183090c25dc95c773215746
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-28 (Wed, 28 Feb 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/rv32zacas-invalid.s
M llvm/test/MC/RISCV/rv32zacas-valid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental from Zacas. (#83195)
Document that we don't use the double compare and swap instructions due
to ABI concerns.
Commit: 230b06b44e6c7f710ae4817e1f34709454f420c5
https://github.com/llvm/llvm-project/commit/230b06b44e6c7f710ae4817e1f34709454f420c5
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
A clang/test/OpenMP/interop_codegen.cpp
Log Message:
-----------
[OpenMP] Clang Codegen Interop : Accept multiple init (#82604)
Modifying clang/lib/CodeGen/CGStmtOpenMP.cpp to accept multiple `init`
clauses with `interop` directive.
---------
Co-authored-by: Sunil Kuravinakop
Commit: 3246c44789546fa926784911e349202d8fd8e33b
https://github.com/llvm/llvm-project/commit/3246c44789546fa926784911e349202d8fd8e33b
Author: Animesh Kumar <108114634+animeshk-amd at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/scan_ast_print.cpp
Log Message:
-----------
[OpenMP][Clang] Enable inscan modifier for generic datatypes (#82220)
This patch fixes the #67002 ([OpenMP][Clang] Scan Directive not
supported for Generic types). It disables the Sema checks/analysis that
are run on the helper arrays which go into the implementation of the
`omp scan` directive until the template instantiation happens.
Grateful to @alexey-bataev for suggesting these changes.
Commit: 6ee9c8afbcc05f61c64c0938281ff11a5e3221cb
https://github.com/llvm/llvm-project/commit/6ee9c8afbcc05f61c64c0938281ff11a5e3221cb
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[RISCV][CostModel] Updates reduction and shuffle cost (#77342)
- Make `andi` cost 1 in SK_Broadcast
- Query the cost of VID_V, VRSUB_VX/VRSUB_VI which would scale with LMUL
Commit: d1a461dbb2293d9258d400b5426f610bb5191228
https://github.com/llvm/llvm-project/commit/d1a461dbb2293d9258d400b5426f610bb5191228
Author: Dominik Wójt <dominik.wojt at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libcxx/cmake/config-ix.cmake
M libcxx/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.hires/now.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/from_time_t.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/now.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/to_time_t.pass.cpp
M libcxx/test/std/time/time.point/time.point.nonmember/op_-duration.pass.cpp
Log Message:
-----------
[libc++] tests with picolibc: prevent looking for unneeded "rt" library (#82262)
Picolibc does not provide the clock_gettime function nor the "rt" library.
check_library_exists was invalidly detecting the "rt" library due to cmake issue
present, when cross-compiling[1]. This resulted with "chrono.cpp" trying to link
to the "rt" library and following error:
unable to find library from dependent library specifier: rt
[1] https://gitlab.kitware.com/cmake/cmake/-/issues/18121
Commit: 325f51237252e6dab8e4e1ea1fa7acbb4faee1cd
https://github.com/llvm/llvm-project/commit/325f51237252e6dab8e4e1ea1fa7acbb4faee1cd
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M flang/include/flang/Lower/LoweringOptions.def
M flang/test/Driver/flang-experimental-polymorphism-flag.f90
Log Message:
-----------
[flang] Set polymorphic entity lowering option on by default (#83308)
Preliminary patch for https://github.com/llvm/llvm-project/pull/83285 to
turn polymorphism on by default.
Will give a few days warning for people to remove the flag from their
workflow using flang-new.
Also easier to revert if issues with the gfortran test suites.
Commit: ddfc7e225474558613db3604c053fd73f1fdedac
https://github.com/llvm/llvm-project/commit/ddfc7e225474558613db3604c053fd73f1fdedac
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/cxx98.cpp
Log Message:
-----------
[clang][Interp] Emit more dummy pointers in C++ mode
Commit: c757ca74176716ff99f340e82e50f0b6a6c9a7e8
https://github.com/llvm/llvm-project/commit/c757ca74176716ff99f340e82e50f0b6a6c9a7e8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
AMDGPU: Remove dead declaration
Commit: 53bd411e5144937acec45080697957bf5b22de54
https://github.com/llvm/llvm-project/commit/53bd411e5144937acec45080697957bf5b22de54
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/cmake/modules/compiler_features/check_float128.cpp
M libc/docs/dev/code_style.rst
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/macros/properties/CMakeLists.txt
R libc/src/__support/macros/properties/float.h
A libc/src/__support/macros/properties/types.h
M libc/src/math/ceilf128.h
M libc/src/math/copysignf128.h
M libc/src/math/fabsf128.h
M libc/src/math/fdimf128.h
M libc/src/math/floorf128.h
M libc/src/math/fmaxf128.h
M libc/src/math/fminf128.h
M libc/src/math/frexpf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/ilogbf128.h
M libc/src/math/ldexpf128.h
M libc/src/math/llogb.h
M libc/src/math/llogbf.h
M libc/src/math/llogbf128.h
M libc/src/math/llogbl.h
M libc/src/math/logbf128.h
M libc/src/math/roundf128.h
M libc/src/math/sqrtf128.h
M libc/src/math/truncf128.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] rename `float.h` macro file to `types.h` (#83190)
Commit: bd595d54219e434acce2c05e97440847d30b5240
https://github.com/llvm/llvm-project/commit/bd595d54219e434acce2c05e97440847d30b5240
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] Generate references from explicit functiontemplate specializations (#83392)
Commit: de5518836e16be3fbfce78394adc96d9bf70f2a5
https://github.com/llvm/llvm-project/commit/de5518836e16be3fbfce78394adc96d9bf70f2a5
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/source/Symbol/Variable.cpp
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/functionalities/completion/main.cpp
Log Message:
-----------
[LLDB] Fix crash when using tab completion on class variables (#83234)
We weren't checking to see if the partial_path was empty before adding
completions and this led to crashes when the class object and a variable
both start with the same substring.
Fixes [#81536](https://github.com/llvm/llvm-project/issues/81536)
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 03420f570e92ee96133baa8feabc43148e322963
https://github.com/llvm/llvm-project/commit/03420f570e92ee96133baa8feabc43148e322963
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
M llvm/test/MC/ARM/thumbv8m.s
R llvm/test/MC/ARM/vlstm-vlldm-8.1m.s
R llvm/test/MC/ARM/vlstm-vlldm-8m.s
R llvm/test/MC/ARM/vlstm-vlldm-diag.s
R llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.1.main.txt
R llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.main.txt
M llvm/unittests/Target/ARM/MachineInstrTest.cpp
Log Message:
-----------
Revert "[llvm][arm] add T1 and T2 assembly options for vlldm and vlstm (#83116)"
This reverts commit 634b0243b8f7acc85af4f16b70e91d86ded4dc83.
Failing EXPENSIVE_CHECKS builds with "undefined physical register".
Commit: 3196005f6bedbed61a86626a9e4f8fee7437a914
https://github.com/llvm/llvm-project/commit/3196005f6bedbed61a86626a9e4f8fee7437a914
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/crsave.ll
Log Message:
-----------
[NFC][PowerPC] use script to regenerate the CHECK lines
Commit: bfcd3fa825dde06e49235620fd157540c6c1b7d7
https://github.com/llvm/llvm-project/commit/bfcd3fa825dde06e49235620fd157540c6c1b7d7
Author: Alexander Belyaev <32522095+pifon2a at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/python/dialects/gpu/dialect.py
Log Message:
-----------
[mlir] Add result name for gpu.block_id and gpu.thread_id ops. (#83393)
expand-arith-ops.mlir fails on windows, but this is unrelated to this PR
Commit: afa6b5e5763059c65f21ca2e612df3d02e71ad00
https://github.com/llvm/llvm-project/commit/afa6b5e5763059c65f21ca2e612df3d02e71ad00
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
Log Message:
-----------
[mlir][ArmSME] Fix matmul.mlir test after #83213
Commit: 30b63def5096cbee448176cc82ca5f6c995f16c4
https://github.com/llvm/llvm-project/commit/30b63def5096cbee448176cc82ca5f6c995f16c4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512fp16-fp-logic.ll
M llvm/test/CodeGen/X86/pr34605.ll
M llvm/test/CodeGen/X86/pr38803.ll
M llvm/test/CodeGen/X86/pr43509.ll
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/pr78897.ll
M llvm/test/CodeGen/X86/select-of-fp-constants.ll
M llvm/test/CodeGen/X86/select-of-half-constants.ll
Log Message:
-----------
[X86] Regenerate tests to add missing avx512 constant comments
Commit: 7ff3f9760da7d7c8fe9209280aefb05168efcf20
https://github.com/llvm/llvm-project/commit/7ff3f9760da7d7c8fe9209280aefb05168efcf20
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr31088.ll
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
Log Message:
-----------
[X86] getFauxShuffleMask - handle insert_vector_elt(bitcast(extract_vector_elt(x))) shuffle patterns
If the bitcast is between types of equal scalar size (i.e. fp<->int bitcasts), then we can safely peek through them
Fixes #83289
Commit: ee297a73b590ee63f0f4ec9f21c5114c106c8467
https://github.com/llvm/llvm-project/commit/ee297a73b590ee63f0f4ec9f21c5114c106c8467
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
[LLDB] Fix test failure introduced by #83234 (#83406)
Missed adding a . in the test check
Commit: 6cfd3439d4b99be85f647849168e1076a9737170
https://github.com/llvm/llvm-project/commit/6cfd3439d4b99be85f647849168e1076a9737170
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
M llvm/test/CodeGen/AMDGPU/fminnum.ll
M llvm/test/Transforms/InstCombine/maxnum.ll
M llvm/test/Transforms/InstCombine/minnum.ll
M llvm/test/Transforms/InstSimplify/ConstProp/min-max.ll
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
APFloat: Fix signed zero handling in minnum/maxnum (#83376)
Follow the 2019 rules and order -0 as less than +0 and +0 as greater
than -0. As currently defined this isn't required for the intrinsics,
but is a better QoI.
This will avoid the workaround in libc added by #83158
Commit: fb3e4e78c65ea22b5eda1b4f7e2b5a5e8c6dd5b4
https://github.com/llvm/llvm-project/commit/fb3e4e78c65ea22b5eda1b4f7e2b5a5e8c6dd5b4
Author: Alexander Belyaev <32522095+pifon2a at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
Log Message:
-----------
[mlir] Remove assert from GPUOps.td. (#83410)
it changes behaviour for debug vs release builds.
Commit: 02bad7a858e763be49c257d957dfd70fab18af9e
https://github.com/llvm/llvm-project/commit/02bad7a858e763be49c257d957dfd70fab18af9e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
Log Message:
-----------
[AMDGPU] Simplify !if condition. NFC.
Commit: 72a60e770cee713a47876483798747cb7db58da6
https://github.com/llvm/llvm-project/commit/72a60e770cee713a47876483798747cb7db58da6
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unwind-inline-asm.ll
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
Log Message:
-----------
[AArch64][NFC] Use regexes in register class tests
Some MIR and IR tests include checks for register class IDs, which are
unnecessary since the register class name is also checked for and that
doesn't change when new classes are added. This patch replaces the
hard-coded register class ID checks with regexes so they don't have to
be updated every time a new class is added.
Commit: 31295bbe83c3ea9d8a3372efe34342a299d1018a
https://github.com/llvm/llvm-project/commit/31295bbe83c3ea9d8a3372efe34342a299d1018a
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
R llvm/test/tools/llvm-mca/AMDGPU/gfx940.s
Log Message:
-----------
Revert "AMDGPU: Add scheduling test for gfx940 (#83220)"
This reverts commit f0484e08bdcf64106592808e3ca80404937b4657.
Reason: Broke the sanitizer build bots. See the github comments on
https://github.com/llvm/llvm-project/commit/f0484e08bdcf64106592808e3ca80404937b4657
for more information
Commit: 20fe83bc852e15b2928a168635972a5d29689a49
https://github.com/llvm/llvm-project/commit/20fe83bc852e15b2928a168635972a5d29689a49
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/test/MC/AMDGPU/gfx11_unsupported.s
M llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
Log Message:
-----------
[AMDGPU] Add new aliases ds_subrev_rtn_u32/u64 for ds_rsub_rtn_u32/u64 (#83408)
Following on from #83118, this adds aliases for the "rtn" forms of these
instructions. The fact that they were missing from SP3 was an oversight
which has been fixed now.
Commit: c57002db6afcd2474247d066fae71f696ce31947
https://github.com/llvm/llvm-project/commit/c57002db6afcd2474247d066fae71f696ce31947
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
Verifier: More helpful error message for cross-function references (#82906)
This came up on Discourse.
See:
https://discourse.llvm.org/t/module-verification-failed-instruction-does-not-dominate-all-uses/77207/
Commit: b50b50bfbf55b883dcd290027cfd6ca5904b0495
https://github.com/llvm/llvm-project/commit/b50b50bfbf55b883dcd290027cfd6ca5904b0495
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/cmov-fp.ll
Log Message:
-----------
[X86] cmov-fp.ll - regenerate with common 'NOSSE' prefix to reduce duplication
Commit: 139bcda542514b7a064fe9225014ec4268bb2b65
https://github.com/llvm/llvm-project/commit/139bcda542514b7a064fe9225014ec4268bb2b65
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
M llvm/test/CodeGen/X86/cvt16.ll
M llvm/test/CodeGen/X86/f16c-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fp-roundeven.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr31088.ll
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/prefer-fpext-splat.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - add basic CVTPH2PS/CVTPS2PH handling
Allows us to peek through the F16 conversion nodes, mainly to simplify shuffles
An easy part of #83414
Commit: 4d525f2b9a42fee4bd3a3c45873fc38b35dd8004
https://github.com/llvm/llvm-project/commit/4d525f2b9a42fee4bd3a3c45873fc38b35dd8004
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Remove unneeded InsertPointGuard (NFCI).
getBlockInMask now simply returns an already computed mask, hence
there's no need to adjust the builder insert point.
Commit: 23f3651c7c5653781249ca0f87809dde76ceeac7
https://github.com/llvm/llvm-project/commit/23f3651c7c5653781249ca0f87809dde76ceeac7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/src/math/amdgpu/fmax.cpp
M libc/src/math/amdgpu/fmaxf.cpp
M libc/src/math/amdgpu/fmin.cpp
M libc/src/math/amdgpu/fminf.cpp
M libc/src/math/nvptx/fmax.cpp
M libc/src/math/nvptx/fmaxf.cpp
M libc/src/math/nvptx/fmin.cpp
M libc/src/math/nvptx/fminf.cpp
Log Message:
-----------
[libc] Remove workaround for fmin / fmax after being fixed in LLVM (#83421)
Summary:
These hacks can be removed now that
https://github.com/llvm/llvm-project/pull/83376 fixed the underlying
problem.
Commit: dbca8a49b6dbbb79913d6a1bc1d59f4947353e96
https://github.com/llvm/llvm-project/commit/dbca8a49b6dbbb79913d6a1bc1d59f4947353e96
Author: David Green <david.green at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[DAG] Improve known bits of Zext/Sext loads with range metadata (#80829)
This extends the known bits for extending loads which have range
metadata, handling the range metadata on the original memory type,
extending that to the correct BitWidth.
Commit: 6c2eec5ceadf26ce8d732d718a8906d075a7d6c7
https://github.com/llvm/llvm-project/commit/6c2eec5ceadf26ce8d732d718a8906d075a7d6c7
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
Log Message:
-----------
AMDGPU/GlobalISel: lane masks merging (#73337)
Basic implementation of lane mask merging for GlobalISel.
Lane masks on GlobalISel are registers with sgpr register class
and S1 LLT - required by machine uniformity analysis.
Implements equivalent of lowerPhis from SILowerI1Copies.cpp in:
patch 1: https://github.com/llvm/llvm-project/pull/75340
patch 2: https://github.com/llvm/llvm-project/pull/75349
patch 3: https://github.com/llvm/llvm-project/pull/80003
patch 4: https://github.com/llvm/llvm-project/pull/78431
patch 5: is in this commit:
AMDGPU/GlobalISelDivergenceLowering: constrain incoming registers
Previously, in PHIs that represent lane masks, incoming registers
taken as-is were not selected as lane masks. Such registers are not
being merged with another lane mask and most often only have S1 LLT.
Implement constrainAsLaneMask by constraining incoming registers
taken as-is with lane mask attributes, essentially transforming them
to lane masks. This is final step in having PHI instructions created
in this pass to be fully instruction-selected.
Commit: 7e88d5176060fa4d86376460db8310083b7c0e2d
https://github.com/llvm/llvm-project/commit/7e88d5176060fa4d86376460db8310083b7c0e2d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
Log Message:
-----------
[NFC][RemoveDIs] Have CreateNeg only accept iterators (#82999)
Removing debug-intrinsics requires that we always insert with an
iterator, not with an instruction position. To enforce that, we need to
eliminate the `Instruction *` taking functions. It's safe to leave the
insert-at-end-of-block functions as the intention is clear for debug
info purposes (i.e., insert after both instructions and debug-info at
the end of the function).
This patch demonstrates how that needs to happen. At a variety of
call-sites to the `CreateNeg` constructor we need to consider:
* Has this instruction been selected because of the operation it
performs? In that case, just call `getIterator` and pass an iterator in.
* Has this instruction been selected because of it's position? If so, we
need to keep the iterator identifying that position (see the 3rd hunk
changing Reassociate.cpp, although it's coincidentally not debug-info
significant).
This also demonstrates what we'll try and do with the constructor
methods going forwards: have one fully explicit set of parameters
including iterator, and another with default-arguments where the
block-to-insert-into argument defaults to nullptr / no-position,
creating an instruction that hasn't been inserted yet.
Commit: 780d55690ec5d8cd5c0e5fa4af799155d5d00534
https://github.com/llvm/llvm-project/commit/780d55690ec5d8cd5c0e5fa4af799155d5d00534
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/test-setArmVLBits.mlir
Log Message:
-----------
[mlir][ArmSVE] Fix test-setArmVLBits.mlir after #83213
Commit: e08fe575d5953b6ca0d7a578c1afa00247f0a12f
https://github.com/llvm/llvm-project/commit/e08fe575d5953b6ca0d7a578c1afa00247f0a12f
Author: Dani <daniel.kiss at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
Log Message:
-----------
[NFC][ARM][AArch64] Deduplicated code. (#82785)
Add the SignReturnAddressScopeKind to the BranchProtectionInfo class.
Commit: 86f4b4dfde543287c1b29ecae27cc1bee470eebb
https://github.com/llvm/llvm-project/commit/86f4b4dfde543287c1b29ecae27cc1bee470eebb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/SemaOpenACC/no-branch-in-out.c
Log Message:
-----------
[OpenACC] Implement Compute Construct 'goto' in/out logic (#83326)
Compute Constructs do not permit jumping in/out of them, so this patch
implements this for 'goto' as a followup to the other patches that have
done the same thing.
It does this by modifying the JumpDiagnostics to work with this, plus
setting the function to needing jump diagnostics if we discover a goto
or label inside of a Compute Construct.
Commit: 6f7d824b804b272335d55f5b899295db833f3829
https://github.com/llvm/llvm-project/commit/6f7d824b804b272335d55f5b899295db833f3829
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks.mm
M clang/test/SemaCXX/warn-bool-conversion.cpp
Log Message:
-----------
[Clang][Sema]: Diagnose lambda to bool implicit casts (#83152)
Adds diagnostics for lambda expressions being cast to boolean values,
which results in the expression always evaluating to true.
Earlier, Clang allowed compilation of such erroneous programs, but now
emits a warning through `-Wpointer-bool-conversion`.
Fixes #82512
Commit: b1c8b9f89cac91db857b9123838ac6b6aeb0ae74
https://github.com/llvm/llvm-project/commit/b1c8b9f89cac91db857b9123838ac6b6aeb0ae74
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][NFC] Leverage LLVM and DirectX intrinsic description in DXIL Op records (#83193)
* Leverage TableGen record descriptions of LLVM or DirectX intrinsics
that can be directly mapped in DXIL Ops TableGen description. As a
result, such DXIL Ops can be succinctly described without duplication.
DXILEmitter backend can derive the properties of DXIL Ops accordingly.
* Ensured that corresponding lit tests pass.
Commit: ec95379df363253ffcbbda21297417e703d5ccca
https://github.com/llvm/llvm-project/commit/ec95379df363253ffcbbda21297417e703d5ccca
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb][test] Clear pexpect found var before checking again
If you run cmake without pexpect installed it errors as expected.
However, if you just `pip install pexpect` and cmake again it still
doesn't find it because it cached the result of the search.
Unset the result before looking for pexpect. So that this works
as expected:
cmake ...
pip3 install pexpect
cmake ...
Commit: aadd7650447b301f8d08fe94a886df05971adecb
https://github.com/llvm/llvm-project/commit/aadd7650447b301f8d08fe94a886df05971adecb
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Prevent duplicate DPValues from being returned by findDbgIntrinsics (#82764)
Fixes the error described here:
https://github.com/llvm/llvm-project/commit/a93a4ec7dd205b965ee5597314bb376520cd736c#commitcomment-138965199
The function `findDbgIntrinsics` is used to return a list of debug
intrinsics and DPValues that use a given value, with the intent that no
duplicates are returned in either list. For DPValues, we've guarded
against DPValues that use a value multiple times as part of a DIArgList,
but we have not guarded against DPValues that use a value multiple times
as separate operands (currently only possible for `dbg_assign`s,
something I missed in my implementation of that type!). This patch adds
a guard, and also updates a test to cover this case.
Commit: 0d572c41f941a4c9b3744a3b849ec35cd26bae2b
https://github.com/llvm/llvm-project/commit/0d572c41f941a4c9b3744a3b849ec35cd26bae2b
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-phi.mir
Log Message:
-----------
AMDGPU\GlobalISel: remove amdgpu-global-isel-risky-select flag (#83426)
AMDGPUInstructionSelector should no longer attempt to select S1 G_PHIs.
Remove MIR test that attempts to inst-select divergent vcc(S1) G_PHI.
Lane mask merging algorithm for GlobalISel is now responsible for
selecting divergent S1 G_PHIs in AMDGPUGlobalISelDivergenceLowering.
Uniform S1 G_PHIs should be lowered to S32 G_PHIs in reg bank select
pass. In summary S1 G_PHIs should not reach AMDGPUInstructionSelector.
Commit: 85dc3dfb1fa2c6720bdfbaaab012ebd96cbe3a58
https://github.com/llvm/llvm-project/commit/85dc3dfb1fa2c6720bdfbaaab012ebd96cbe3a58
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Fix incorrect test expect
Fixes: aadd7650447b
The above commit landed with an incorrect test expect, missing a `metadata`
prefix. This patch adds the expected prefix to the test.
Commit: a872a35251b833aaddec2172710ff234236afbd8
https://github.com/llvm/llvm-project/commit/a872a35251b833aaddec2172710ff234236afbd8
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[NFC][RemoveDIs] Add bodies for inst-constructors taking iterators
In a previous commit I added declarations for all these functions, but
forgot to add bodies for them (as nothing uses them yet). These
iterator-taking constructors are necessary for the future where we only
use iterators for insertion, preserving some debug-info properties.
Also adds two extra declarations I missed in 76dd4bc036f
Commit: 1e6627ecef42fa8e36dae71589fc17d3adbd18aa
https://github.com/llvm/llvm-project/commit/1e6627ecef42fa8e36dae71589fc17d3adbd18aa
Author: RicoAfoat <51285519+RicoAfoat at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/inline-asm-memop.ll
Log Message:
-----------
[X86] matchAddressRecursively - ensure dead nodes are replaced before matching the index register (#82881)
Fixes #82431 - see #82431 for more information.
Commit: 4f132dca711f4b425f9d370f5d59efb766b8bffa
https://github.com/llvm/llvm-project/commit/4f132dca711f4b425f9d370f5d59efb766b8bffa
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
Log Message:
-----------
[RISCV] Enable PostRAScheduler for SiFive7 (#83166)
Based on numbers collected in our downstream toolchain.
Commit: 99824cf7967922bdd9ac895c949f330bb8d6b85a
https://github.com/llvm/llvm-project/commit/99824cf7967922bdd9ac895c949f330bb8d6b85a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
Log Message:
-----------
[lldb][test] Use pexpect spawn instead of spawnu
This is marked deprecated from at least 4.6 onward:
Deprecated: pass encoding to spawn() instead.
Commit: e60ebbd0001f2e66cb9f76874ddd69290e2086c1
https://github.com/llvm/llvm-project/commit/e60ebbd0001f2e66cb9f76874ddd69290e2086c1
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[HLSL] implementation of lerp intrinsic (#83077)
This is the start of implementing the lerp intrinsic
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-lerp
Builtins.td - defines the builtin
hlsl_intrinsics.h - defines the lerp api
DiagnosticSemaKinds.td - needed a new error to be inclusive for more
than two operands.
CGBuiltin.cpp - add the lerp intrinsic lowering
SemaChecking.cpp - type checks for lerp builtin
IntrinsicsDirectX.td - define the lerp intrinsic
this change implements the first half of #70102
Co-authored-by: Xiang Li <python3kgae at outlook.com>
Commit: 37dca605c9bd41732da010ee97ed15ad9585a37d
https://github.com/llvm/llvm-project/commit/37dca605c9bd41732da010ee97ed15ad9585a37d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libcxx/include/__assert
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__charconv/from_chars_integral.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__config
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__stop_token/stop_state.h
M libcxx/include/__string/char_traits.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/experimental/iterator
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/system_error
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
R libcxx/test/libcxx/assertions/headers_declare_verbose_abort.gen.py
M libcxx/test/libcxx/assertions/modes/none.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Clean up includes of <__assert> (#80091)
Originally, we used __libcpp_verbose_abort to handle assertion failures.
That function was declared from all public headers. Since we don't use
that mechanism anymore, we don't need to declare __libcpp_verbose_abort
from all public headers, and we can clean up a lot of unnecessary
includes.
This patch also moves the definition of the various assertion categories
to the <__assert> header, since we now rely on regular IWYU for these
assertion macros.
rdar://105510916
Commit: 92e5f13ad19ace968309e31146e00e76b87c5a2d
https://github.com/llvm/llvm-project/commit/92e5f13ad19ace968309e31146e00e76b87c5a2d
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/shufflevector.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize G_SHUFFLE_VECTOR for Odd-Sized Vectors (#83038)
Commit: 80a328b0118faa691137d6325b0eed4199060adc
https://github.com/llvm/llvm-project/commit/80a328b0118faa691137d6325b0eed4199060adc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
M llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
M llvm/test/CodeGen/X86/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonzero.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-tautological.ll
M llvm/test/CodeGen/X86/vector-reduce-umax.ll
M llvm/test/CodeGen/X86/vector-reduce-umin.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - add basic PCMPEQ/PCMPGT handling
Commit: 5bd01ac822d1d700623790ef146fb78216576616
https://github.com/llvm/llvm-project/commit/5bd01ac822d1d700623790ef146fb78216576616
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/debug-info-sve-dbg-declare.mir
M llvm/test/CodeGen/AArch64/debug-info-sve-dbg-value.mir
M llvm/test/CodeGen/AArch64/live-debugvalues-sve.mir
M llvm/test/CodeGen/AArch64/sve-localstackalloc.mir
M llvm/test/CodeGen/AArch64/sve-pfalse-machine-cse.mir
M llvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilege.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilegt.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilehi.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilehs.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilele.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilelo.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilels.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilelt.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilerw.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilewr.mir
M llvm/test/CodeGen/AArch64/sve2p1_copy_pnr.mir
Log Message:
-----------
[AArch64] Re-enable rematerialization for streaming-mode-changing functions. (#83235)
We can add implicit defs/uses of the 'VG' register to the instructions
to prevent the register allocator from rematerializing values in between
streaming-mode changes, as the def/use of VG will further nail down the
ordering that comes out of ISel. This avoids the heavy-handed approach
to prevent any kind of rematerialization.
While we could add 'VG' as a Use to all SVE instructions, we only really
need to do this for instructions that are rematerializable, as the
smstart/smstop instructions and pseudos act as scheduling barriers which
is sufficient to prevent other instructions from being scheduled in
between the streaming-mode-changing call sequence. However, we may
revisit this in the future.
Commit: c66f2d0c4a46ba66fb98a2cab4e63ad90888a261
https://github.com/llvm/llvm-project/commit/c66f2d0c4a46ba66fb98a2cab4e63ad90888a261
Author: Devajith Valaparambil Sreeramaswamy <devajithvs at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/include/mlir/Query/Matcher/ErrorBuilder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/lib/Query/Matcher/Diagnostics.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/Matcher/Parser.h
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/RegistryManager.h
M mlir/lib/Query/Query.cpp
A mlir/test/mlir-query/function-extraction.mlir
Log Message:
-----------
[mlir-query] Add function extraction feature to mlir-query
This enables specifying the extract modifier to extract all matches into
a function. This currently does this very directly by converting all
operands to function arguments (ones due to results of other matched ops
are dropped) and all results as return values.
Differential Revision: https://reviews.llvm.org/D158693
Commit: 58e476f757775313d8b2649dedb9a7c5d30d8e19
https://github.com/llvm/llvm-project/commit/58e476f757775313d8b2649dedb9a7c5d30d8e19
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libcxx/include/libcxx.imp
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++] Map forward declaration headers for iostreams to <iosfwd> (#83327)
This seems more appropriate than mapping them to the headers that
contain actual definitions.
Commit: 962f3e4e5bbdbfacb8c857a15013dae09bc49956
https://github.com/llvm/llvm-project/commit/962f3e4e5bbdbfacb8c857a15013dae09bc49956
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
Log Message:
-----------
[Hexagon] Use the correct call to detect debug instructions (#83373)
Commit: 147dc81c1d220a54e9e7d0d4dba7f4b69708ffb7
https://github.com/llvm/llvm-project/commit/147dc81c1d220a54e9e7d0d4dba7f4b69708ffb7
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/ARM/ARM.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM][AArch64] Enable FEAT_FHM for Arm Neoverse N2 (#82613)
Correct an issue with Arm Neoverse N2 after it was
changed to a v9a core in change
f576cbe44eabb8a5ac0af817424a0d1e7c8fbf85:
* FEAT_FHM should be enabled for this core.
Commit: 310ed337092d6afc78594e1d8e32e6f44fff5568
https://github.com/llvm/llvm-project/commit/310ed337092d6afc78594e1d8e32e6f44fff5568
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Support/Path.cpp
Log Message:
-----------
[Support] Use all_read | all_write for createTemporaryFile (#83360)
In a04879ce7dd6, dsymutil switched from using TempFile to
createTemporaryFile. This caused a regression because the two use
different permissions:
- TempFile opens the file as all_read | all_write
- createTemporaryFile opens the file as owner_read | owner_write
The latter turns out to be problematic for dsymutil because it either
promotes the temporary to a proper output file, or it would pass it to
`lipo` to create a universal binary and `lipo` preserves the permissions
of the input files. Either way, this caused issues when the build system
was run as a different user than the one ingesting the resulting
binaries.
I did some version control archeology and I couldn't find evidence that
these permissions were chosen purposely. Both could be considered
reasonable default.
This patch changes the permissions to `all read | all write` to make the
two consistent and match the one currently used by the higher level
abstraction (TempFile).
rdar://123722848
Commit: 5a0bd2a36591fe48c24de220a5f8ddef9ce6f0b1
https://github.com/llvm/llvm-project/commit/5a0bd2a36591fe48c24de220a5f8ddef9ce6f0b1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Add pexpect to LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS
This executed Alex' idea [1] of adding pexpect to the list of "strict
test requirements" as we're planning to stop vendoring it. This will
ensure all the bots have the package before we toggle the default.
[1] https://github.com/llvm/llvm-project/pull/83191
Commit: a344db793aca6881379c7c83f5112d2870dbf958
https://github.com/llvm/llvm-project/commit/a344db793aca6881379c7c83f5112d2870dbf958
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
M llvm/test/CodeGen/AArch64/shufflevector.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize G_SHUFFLE_VECTOR for Odd-Sized Vectors (#83038)
Legalize Smaller/Larger than legal vectors with i8 and i16 element
sizes.
Vectors with elements smaller than i8 will get widened to i8 elements.
Commit: 9491aecd235da9674150fe56bd0f29c3a22472c4
https://github.com/llvm/llvm-project/commit/9491aecd235da9674150fe56bd0f29c3a22472c4
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenTarget.cpp
Log Message:
-----------
[TableGen][CodeGenTarget] Add support for v3i8 and v3i1 MVTs. [NFCI] (#83140)
Commit: 3fda50d3915b2163a54a37b602be7783a89dd808
https://github.com/llvm/llvm-project/commit/3fda50d3915b2163a54a37b602be7783a89dd808
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopSimplify.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/MatrixUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/StripGCRelocates.cpp
M llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
M llvm/tools/bugpoint/Miscompilation.cpp
Log Message:
-----------
[NFC][RemoveDIs] Bulk update utilities to insert with iterators
As part of the RemoveDIs project we need LLVM to insert instructions using
iterators wherever possible, so that the iterators can carry a bit of
debug-info. This commit implements some of that by updating the contents of
llvm/lib/Transforms/Utils to always use iterator-versions of instruction
constructors.
There are two general flavours of update:
* Almost all call-sites just call getIterator on an instruction
* Several make use of an existing iterator (scenarios where the code is
actually significant for debug-info)
The underlying logic is that any call to getFirstInsertionPt or similar
APIs that identify the start of a block need to have that iterator passed
directly to the insertion function, without being converted to a bare
Instruction pointer along the way.
I've also switched DemotePHIToStack to take an optional iterator: it needs
to take an iterator, and having a no-insert-location behaviour appears to
be important. The constructors for ICmpInst and FCmpInst have been updated
too. They're the only instructions that take block _references_ rather than
pointers for certain calls, and a future patch is going to make use of
default-null block insertion locations.
All of this should be NFC.
Commit: c4c35d9522d19a0a511ee2cc011a21661e69f3c0
https://github.com/llvm/llvm-project/commit/c4c35d9522d19a0a511ee2cc011a21661e69f3c0
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/restrict-this.cpp
Log Message:
-----------
[Clang] [Sema] Handle `this` in `__restrict`-qualified member functions properly (#83187)
When resolving the type of `this` inside a member function, we were
attaching all qualifiers present on the member function to the class
type and then making it a pointer; however, `__restrict`, unlike `const`
and `volatile`, needs to be attached to the pointer type rather than the
pointee type.
This fixes #82941, #42411, and #18121.
Commit: 6c7805d5d186a6d1263f90b8033ad85e2d2633d7
https://github.com/llvm/llvm-project/commit/6c7805d5d186a6d1263f90b8033ad85e2d2633d7
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopSimplify.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/MatrixUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/StripGCRelocates.cpp
M llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
M llvm/tools/bugpoint/Miscompilation.cpp
Log Message:
-----------
Revert "[NFC][RemoveDIs] Bulk update utilities to insert with iterators"
This reverts commit 3fda50d3915b2163a54a37b602be7783a89dd808.
Apparently I've missed a hunk while staging this; will back out for now.
Picked up here: https://lab.llvm.org/buildbot/#/builders/139/builds/60429/steps/6/logs/stdio
Commit: 6afda56faa6260cff4e6e9264226737d96d952c1
https://github.com/llvm/llvm-project/commit/6afda56faa6260cff4e6e9264226737d96d952c1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
Log Message:
-----------
[RISCV] Store RVC and TSO ELF flags explicitly in RISCVTargetStreamer. NFCI (#83344)
Instead of caching STI in the RISCVELFTargetStreamer, store the two
flags we need from it.
My goal is to allow RISCVAsmPrinter to override these flags using IR
module metadata for LTO. So they need to be separated from the STI used
to construct the TargetStreamer.
This patch should be NFC as long as no one is changing the contents of
the STI that was used to construct the TargetStreamer between the
constructor and the use of the flags.
Commit: 2d61979137cfea8f016e618dd17f5be8e7d865bf
https://github.com/llvm/llvm-project/commit/2d61979137cfea8f016e618dd17f5be8e7d865bf
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/test/SemaOpenACC/no-branch-in-out.cpp
Log Message:
-----------
[OpenACC] Add dependent test for break/continue compute construct diag
I discovered while debugging something else that this could possibly
cause an assert if I'm not careful with followup patches, so add the
tests.
Commit: 0699749cb45db77e8393f198b1837945a958aebf
https://github.com/llvm/llvm-project/commit/0699749cb45db77e8393f198b1837945a958aebf
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M flang/runtime/Float128Math/CMakeLists.txt
M flang/runtime/Float128Math/acos.cpp
M flang/runtime/Float128Math/acosh.cpp
M flang/runtime/Float128Math/asin.cpp
M flang/runtime/Float128Math/asinh.cpp
M flang/runtime/Float128Math/atan.cpp
M flang/runtime/Float128Math/atan2.cpp
M flang/runtime/Float128Math/atanh.cpp
M flang/runtime/Float128Math/cabs.cpp
M flang/runtime/Float128Math/ceil.cpp
M flang/runtime/Float128Math/cos.cpp
M flang/runtime/Float128Math/cosh.cpp
M flang/runtime/Float128Math/erf.cpp
M flang/runtime/Float128Math/erfc.cpp
M flang/runtime/Float128Math/exp.cpp
A flang/runtime/Float128Math/exponent.cpp
M flang/runtime/Float128Math/floor.cpp
A flang/runtime/Float128Math/fraction.cpp
M flang/runtime/Float128Math/hypot.cpp
M flang/runtime/Float128Math/j0.cpp
M flang/runtime/Float128Math/j1.cpp
M flang/runtime/Float128Math/jn.cpp
M flang/runtime/Float128Math/lgamma.cpp
M flang/runtime/Float128Math/llround.cpp
M flang/runtime/Float128Math/log.cpp
M flang/runtime/Float128Math/log10.cpp
M flang/runtime/Float128Math/lround.cpp
M flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/mod-real.cpp
A flang/runtime/Float128Math/modulo-real.cpp
A flang/runtime/Float128Math/nearest.cpp
M flang/runtime/Float128Math/norm2.cpp
A flang/runtime/Float128Math/numeric-template-specs.h
M flang/runtime/Float128Math/pow.cpp
M flang/runtime/Float128Math/round.cpp
A flang/runtime/Float128Math/rrspacing.cpp
A flang/runtime/Float128Math/scale.cpp
A flang/runtime/Float128Math/set-exponent.cpp
M flang/runtime/Float128Math/sin.cpp
M flang/runtime/Float128Math/sinh.cpp
A flang/runtime/Float128Math/spacing.cpp
M flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/Float128Math/tan.cpp
M flang/runtime/Float128Math/tanh.cpp
M flang/runtime/Float128Math/tgamma.cpp
M flang/runtime/Float128Math/trunc.cpp
M flang/runtime/Float128Math/y0.cpp
M flang/runtime/Float128Math/y1.cpp
M flang/runtime/Float128Math/yn.cpp
M flang/runtime/extrema.cpp
A flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/runtime/reduction-templates.h
Log Message:
-----------
[flang][runtime] Moved support for some REAL(16) intrinsics to Float128Math. (#83383)
This adds support for 128-bit float versions of SCALE, NEAREST, MOD,
MODULO, SET_EXPONENT, EXPONENT, FRACTION, SPACING and RRSPACING.
Commit: 0869ffa6bd6e9562b35bc93e48207d11261d67df
https://github.com/llvm/llvm-project/commit/0869ffa6bd6e9562b35bc93e48207d11261d67df
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/interop_codegen.cpp
Log Message:
-----------
[OpenMP] Clang Codegen Interop : Accept multiple use & destroy clauses (#83398)
Modified clang/lib/CodeGen/CGStmtOpenMP.cpp to accept multiple use &
destroy clauses with interop directive.
Modified clang/test/OpenMP/interop_codegen.cpp to check for the changes.
Co-authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>
Commit: a6d9b7ba2722953960b83fbacda1757349f00156
https://github.com/llvm/llvm-project/commit/a6d9b7ba2722953960b83fbacda1757349f00156
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
Log Message:
-----------
[lldb] Don't cache lldb_find_python_module result
Don't cache lldb_find_python_module result as that requires you to do a
clean build after installing the dependency.
Commit: 3e0425c76c894c2ed538978140f59bd4a14acabd
https://github.com/llvm/llvm-project/commit/3e0425c76c894c2ed538978140f59bd4a14acabd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/reorder-node.ll
Log Message:
-----------
[SLP][NFC]Add a test showing incorrect transformation, NFC.
Commit: be8f987d8cddd2d1df5ed1afff64fd9a730ec97a
https://github.com/llvm/llvm-project/commit/be8f987d8cddd2d1df5ed1afff64fd9a730ec97a
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Use consistent field kind checking in getNumericKey. (#83284)
Fields GenericField::IsInstruction and GenericField::Enum can be
simultaneously active for a given field. Methods compareBy and
primaryRepresentation both order the checking of IsInstruction before
GenericField::Enum. Do the same in getNumericKey for consistency.
Commit: 856ce495e52b8ea8855d7f34d84346c82b1fddc2
https://github.com/llvm/llvm-project/commit/856ce495e52b8ea8855d7f34d84346c82b1fddc2
Author: Kalesh Singh <kaleshsingh96 at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/android-link.cpp
Log Message:
-----------
ANDROID: AArch64: Change default max-page-size from 4k to 16k (#70251)
File size increase were found negligible from sparseness and zero
block compression in f2fs and ext4 (supported filesystems for
Android's userdata partition).
Signed-off-by: Kalesh Singh <kaleshsingh at google.com>
Co-authored-by: Kalesh Singh <kaleshsingh at google.com>
Commit: 489eadd142e858dc28e375320da774eba53d21bb
https://github.com/llvm/llvm-project/commit/489eadd142e858dc28e375320da774eba53d21bb
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[HLSL] Implementation of the frac intrinsic (#83315)
This change implements the frontend for #70099
Builtins.td - add the frac builtin
CGBuiltin.cpp - add the builtin to DirectX intrinsic mapping
hlsl_intrinsics.h - add the frac api
SemaChecking.cpp - add type checks for builtin
IntrinsicsDirectX.td - add the frac intrinsic
The backend changes for this are going to be very simple:
https://github.com/llvm/llvm-project/commit/f309a0eb558b65dfaff0d1d23b7d07fb07e27121
They were not included because llvm/lib/Target/DirectX/DXIL.td is going
through a major refactor.
Commit: c9b1f1c337ce7c12664b670c0ba1022e5d5b8001
https://github.com/llvm/llvm-project/commit/c9b1f1c337ce7c12664b670c0ba1022e5d5b8001
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
Log Message:
-----------
[HLSL] standardize builtin unit tests (#83340)
This PR brings best practices mentioned to me on other prs and adds them
to the existing builtin tests.
Note to reviewers: I put this up in two commits because the clang-format
changes is making it hard to tell what actually changed.
use the first commit to check for correctness.
Commit: de8e2b7b8649ffa516d357a646eacbce8e69e39e
https://github.com/llvm/llvm-project/commit/de8e2b7b8649ffa516d357a646eacbce8e69e39e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/Transforms/SROA/vector-promotion.ll
Log Message:
-----------
[test][SROA] Regenerate vector-promotion.ll
Commit: 1ca65dd74a4370e5788c69e939106b53da13dbf6
https://github.com/llvm/llvm-project/commit/1ca65dd74a4370e5788c69e939106b53da13dbf6
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
Log Message:
-----------
[mlir][sparse] Migration to sparse_tensor.print (#83377)
Continuous efforts following #83357.
Commit: 45d82f33af9334907dde39cc69921c679299114e
https://github.com/llvm/llvm-project/commit/45d82f33af9334907dde39cc69921c679299114e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reorder-node.ll
Log Message:
-----------
[SLP]Fix miscompilation, cause by incorrect final node reordering.
Need to use the regular reordering from the correct node for the final
store/insertelement node to avoid miscommilation.
Commit: 73aab2f69773324ef0250f093bd4d782beee921a
https://github.com/llvm/llvm-project/commit/73aab2f69773324ef0250f093bd4d782beee921a
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/benchmarks/automemcpy/lib/CMakeLists.txt
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/compiler_features/check_fixed_point.cpp
M libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
M libc/include/llvm-libc-types/float128.h
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/RPC/rpc_client.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/fixed_point/sqrt.h
M libc/src/__support/macros/properties/types.h
M libc/src/stdfix/abshk.h
M libc/src/stdfix/abshr.h
M libc/src/stdfix/absk.h
M libc/src/stdfix/abslk.h
M libc/src/stdfix/abslr.h
M libc/src/stdfix/absr.h
M libc/src/stdfix/roundhk.h
M libc/src/stdfix/roundhr.h
M libc/src/stdfix/roundk.h
M libc/src/stdfix/roundlk.h
M libc/src/stdfix/roundlr.h
M libc/src/stdfix/roundr.h
M libc/src/stdfix/rounduhk.h
M libc/src/stdfix/rounduhr.h
M libc/src/stdfix/rounduk.h
M libc/src/stdfix/roundulk.h
M libc/src/stdfix/roundulr.h
M libc/src/stdfix/roundur.h
M libc/src/stdfix/sqrtuhk.h
M libc/src/stdfix/sqrtuhr.h
M libc/src/stdfix/sqrtuk.h
M libc/src/stdfix/sqrtulr.h
M libc/src/stdfix/sqrtur.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/epoll_pwait2.h
M libc/src/sys/epoll/epoll_wait.h
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/include/stdbit_test.cpp
M libc/test/include/stdckdint_test.cpp
M libc/test/include/sys/queue_test.cpp
M libc/test/integration/startup/CMakeLists.txt
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/__support/fixed_point/fx_bits_test.cpp
M libc/test/src/compiler/stack_chk_guard_test.cpp
M libc/test/src/math/differential_testing/CMakeLists.txt
M libc/utils/LibcTableGenUtil/CMakeLists.txt
M libc/utils/gpu/loader/Loader.h
Log Message:
-----------
[libc] Revert https://github.com/llvm/llvm-project/pull/83199 since it broke Fuchsia. (#83374)
With some header fix forward for GPU builds.
Commit: 525fe4492bbecf357d3580d879f2092bf99c12a2
https://github.com/llvm/llvm-project/commit/525fe4492bbecf357d3580d879f2092bf99c12a2
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
A clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
A clang-tools-extra/clang-tidy/utils/DesignatedInitializers.h
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/tool/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
Log Message:
-----------
[clang-tidy] Add new check `modernize-use-designated-initializers` (#80541)
Commit: 920094ea3b84a9f99f3e4d014c3eac062a617efe
https://github.com/llvm/llvm-project/commit/920094ea3b84a9f99f3e4d014c3eac062a617efe
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
Log Message:
-----------
[gn build] Port 525fe4492bbe
Commit: 22f5e30c1798280c7476c0374280342b48880bb5
https://github.com/llvm/llvm-project/commit/22f5e30c1798280c7476c0374280342b48880bb5
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/macros/properties/types.h
Log Message:
-----------
[libc][NFC] Rename `LIBC_COMPILER_HAS_C23_FLOAT16` to `LIBC_TYPES_HAS_FLOAT16` (#83396)
Umbrella bug #83182
Commit: cff36bb198759c4fe557adc594eabc097cf7d565
https://github.com/llvm/llvm-project/commit/cff36bb198759c4fe557adc594eabc097cf7d565
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallString.h
M llvm/unittests/ADT/SmallStringTest.cpp
Log Message:
-----------
[ADT] Add std::string_view conversion to SmallString (#83397)
This patch adds a std::string_view conversion to SmallString which we've
recently found a use for downstream in a project that is using c++
standard library IO.
Commit: 21be2fbd17f9ff6f3f04e0ababc91c9cdd5aed85
https://github.com/llvm/llvm-project/commit/21be2fbd17f9ff6f3f04e0ababc91c9cdd5aed85
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix buffer overflow in modernize-use-designated-initializers
Instance of DenseMap were copied into local variable,
and as a result reference to string stored in that local
variable were returned from function. At the end fix-it
were applied with already destroyed string causing some
non utf-8 characters to be printed.
Related to #80541
Commit: 75fb825bccaa1e0f1ca9f76f9c72434a26d9966a
https://github.com/llvm/llvm-project/commit/75fb825bccaa1e0f1ca9f76f9c72434a26d9966a
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/compiler_features/check_float128.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/code_style.rst
M libc/spec/stdc.td
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/macros/properties/types.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/uint_test.cpp
Log Message:
-----------
[libc][NFC] Rename `LIBC_COMPILER_HAS_FLOAT128` to `LIBC_TYPES_HAS_FLOAT128` (#83395)
Umbrella bug #83182
Commit: 5225901ecd53ba1e3f1519f3edea7d1aec15502d
https://github.com/llvm/llvm-project/commit/5225901ecd53ba1e3f1519f3edea7d1aec15502d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang] Add [[maybe_unused]] to fix -Werror build (#83456)
Add the [[maybe_unused]] attribute to a variable in
lib/Lower/OpenMP/OpenMP.cpp to avoid a (possibly bogus) unused variable
warning when building with GCC 9.3.0.
Commit: 81578477645b7f2e97744d53a4cea962872925b0
https://github.com/llvm/llvm-project/commit/81578477645b7f2e97744d53a4cea962872925b0
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libcxx/src/new.cpp
Log Message:
-----------
[libc++] Include missing <__assert> after #80091 (#83480)
_LIBCPP_ASSERT_SHIM used by the -fno-exceptions and
LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS=on configuration
needs _LIBCPP_ASSERT from <__assert>.
Commit: 82c1bfc44ecee97425582f345d04e787f066b899
https://github.com/llvm/llvm-project/commit/82c1bfc44ecee97425582f345d04e787f066b899
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
Log Message:
-----------
Increase timeout to reduce test failure rate. (#83312)
The timeout for this test was set to 1.0s which is very low, it should
be a default of 10s and be increased by a factor of 10 if ASAN is
enabled. This will help reduce the falkiness of the test, especially in
ASAN builds.
Commit: de55c2f869925a3ed7f26e168424021c6bc46799
https://github.com/llvm/llvm-project/commit/de55c2f869925a3ed7f26e168424021c6bc46799
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/include/mlir/Query/Matcher/ErrorBuilder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/lib/Query/Matcher/Diagnostics.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/Matcher/Parser.h
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/RegistryManager.h
M mlir/lib/Query/Query.cpp
R mlir/test/mlir-query/function-extraction.mlir
Log Message:
-----------
Revert "[mlir-query] Add function extraction feature to mlir-query"
This reverts commit c66f2d0c4a46ba66fb98a2cab4e63ad90888a261.
The bot is broken.
Commit: 5abbe8ec9edcc034fad383ab69046e8c0d13c97d
https://github.com/llvm/llvm-project/commit/5abbe8ec9edcc034fad383ab69046e8c0d13c97d
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallString.h
M llvm/unittests/ADT/SmallStringTest.cpp
Log Message:
-----------
Revert "[ADT] Add std::string_view conversion to SmallString (#83397)"
This reverts commit cff36bb198759c4fe557adc594eabc097cf7d565.
This patch was causing build failures in certain configurations.
Commit: ac267081a387a53d83ec9e3bfccedb27c21a050f
https://github.com/llvm/llvm-project/commit/ac267081a387a53d83ec9e3bfccedb27c21a050f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll
Log Message:
-----------
[MemProf][NFC] Make new test actually check cold attributes
The test added by PR81322 didn't actually check the coldness of the
attributes being matched on the IR. Add that checking.
Commit: 8c1003266520ac396ce2a9e799f318af30efdd19
https://github.com/llvm/llvm-project/commit/8c1003266520ac396ce2a9e799f318af30efdd19
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
Log Message:
-----------
[lldb][NFC] Move helpers to import record layout into ClangASTImporter (#83291)
This patch moves the logic for copying the layout info of a
`RecordDecl`s origin into a target AST.
A follow-up patch re-uses the logic from within the `ClangASTImporter`,
so the natural choice was to move it there.
Commit: 4d12f708967f932b584be5fc4efd17ad3272f87c
https://github.com/llvm/llvm-project/commit/4d12f708967f932b584be5fc4efd17ad3272f87c
Author: Reid Kleckner <rnk at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/docs/CodeOfConduct.rst
Log Message:
-----------
Add guidance on bans to the CoC section and link to the developer policy (#82551)
This seemed like relevant information to include in the code of conduct.
Commit: 07ffb7e294767b74e43f90e9ab3d713da929b907
https://github.com/llvm/llvm-project/commit/07ffb7e294767b74e43f90e9ab3d713da929b907
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
A lldb/test/API/lang/cpp/gmodules/alignment/Makefile
A lldb/test/API/lang/cpp/gmodules/alignment/TestPchAlignment.py
A lldb/test/API/lang/cpp/gmodules/alignment/main.cpp
A lldb/test/API/lang/cpp/gmodules/alignment/pch.h
Log Message:
-----------
[lldb][ClangASTImporter] Import record layouts from origin if available (#83295)
Layout information for a record gets stored in the `ClangASTImporter`
associated with the `DWARFASTParserClang` that originally parsed the
record. LLDB sometimes moves clang types from one AST to another (in the
reproducer the origin AST was a precompiled-header and the destination
was the AST backing the executable). When clang then asks LLDB to
`layoutRecordType`, it will do so with the help of the
`ClangASTImporter` the type is associated with. If the type's origin is
actually in a different LLDB module (and thus a different
`DWARFASTParserClang` was used to set its layout info), we won't find
the layout info in our local `ClangASTImporter`.
In the reproducer this meant we would drop the alignment info of the
origin type and misread a variable's contents with `frame var` and
`expr`.
There is logic in `ClangASTSource::layoutRecordType` to import an
origin's layout info. This patch re-uses that infrastructure to import
an origin's layout from one `ClangASTImporter` instance to another.
rdar://123274144
Commit: 91895f59f43217b120506bf98327a13adfc4c598
https://github.com/llvm/llvm-project/commit/91895f59f43217b120506bf98327a13adfc4c598
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[pr-subscribers] added `third-party:benchmark` to `new-prs-labeler` (#83486)
Commit: 2fef685363e13e0640b624cc3d07b1006f12113c
https://github.com/llvm/llvm-project/commit/2fef685363e13e0640b624cc3d07b1006f12113c
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Transforms/LoopRotate/oz-disable.ll
A llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
Log Message:
-----------
[llvm][loop-rotate] Allow forcing loop-rotation (#82828)
Many profitable optimizations cannot be performed at -Oz, due to
unrotated loops. While this is worse for size (minimally), many of the
optimizations significantly reduce code size, such as memcpy
optimizations and other patterns found by loop idiom recognition.
Related discussion can be found in issue #50308.
This patch adds an experimental, backend-only flag to allow loop header
duplication, regardless of the optimization level. Downstream consumers
can experiment with this flag, and if it is profitable, we can adjust
the compiler's defaults accordingly, and expose any useful frontend
flags to opt into the new behavior.
Commit: 5b07fd479902b485cdc6f9fb61738fb05ed65095
https://github.com/llvm/llvm-project/commit/5b07fd479902b485cdc6f9fb61738fb05ed65095
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
[AMDGPU] Fix OpenCL conformance test failures for ctlz. (#83170)
Remove LSH transform and restore previous lowering.
Fixes conformance issue in
[77615](https://github.com/llvm/llvm-project/pull/77615) where OpenCL
integer_ops tests fail for integer_clz.
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: c5cdf3432a3928de8f111a7483962f0e5103546f
https://github.com/llvm/llvm-project/commit/c5cdf3432a3928de8f111a7483962f0e5103546f
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M flang/runtime/Float128Math/exponent.cpp
M flang/runtime/Float128Math/fraction.cpp
M flang/runtime/Float128Math/mod-real.cpp
M flang/runtime/Float128Math/modulo-real.cpp
M flang/runtime/Float128Math/nearest.cpp
M flang/runtime/Float128Math/rrspacing.cpp
M flang/runtime/Float128Math/scale.cpp
M flang/runtime/Float128Math/set-exponent.cpp
M flang/runtime/Float128Math/spacing.cpp
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Partial revert of #83383. (#83478)
For `LDBL_MANT_DIG == 113` targets the REAL(16) versions of F18
runtime APIs can stay and should better stay in FortranRuntime.
This way, no additional linking actions are required, because
glibc provides all that is needed.
I thought I would isolate all REAL(16) implementations (both
via `__float128` and `long double`) into Float128Math library,
but that was a bad idea.
This should fix aarch64 buildbots failing gfortran tests.
Commit: 8466ab98ca5353e22eab0ae6d9885a65091786fb
https://github.com/llvm/llvm-project/commit/8466ab98ca5353e22eab0ae6d9885a65091786fb
Author: Matthias Braun <matze at braunis.de>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/tools/llvm-profgen/PerfReader.cpp
Log Message:
-----------
llvm-profgen: Fix race condition (#83489)
Fix race condition when multiple instances of `llvm-progen` read from
the same inputs.
Commit: ca9d2e923b28adec9ae1754f0bb61b2e8ada025e
https://github.com/llvm/llvm-project/commit/ca9d2e923b28adec9ae1754f0bb61b2e8ada025e
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/test/CodeGen/builtins-hexagon.c
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
A llvm/test/CodeGen/Hexagon/loop-balign.ll
A llvm/test/CodeGen/Hexagon/loop_align_count.ll
A llvm/test/CodeGen/Hexagon/loop_align_count.mir
A llvm/test/CodeGen/Hexagon/v6-haar-balign32.ll
Log Message:
-----------
[Hexagon] Add Loop Alignment pass. (#83379)
Inspect a basic block and if its single basic block loop with a small
number of instructions, set the Loop Alignment to 32 bytes. This will
avoid the cache line break in the first packet of loop which will cause
a stall per each execution of loop.
Commit: 6137f482fca8b57d9c075b41cc4959b4e63a74f1
https://github.com/llvm/llvm-project/commit/6137f482fca8b57d9c075b41cc4959b4e63a74f1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port ca9d2e923b28
Commit: 71eead512eb1e3c19d940678a82712ef05cdd994
https://github.com/llvm/llvm-project/commit/71eead512eb1e3c19d940678a82712ef05cdd994
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
Log Message:
-----------
Revert "[mlir][sparse] Migration to sparse_tensor.print" (#83499)
Reverts llvm/llvm-project#83377
The test does not pass on the bot.
Commit: bf0f874e4883a98ab69cff3da323713a5fe80dfd
https://github.com/llvm/llvm-project/commit/bf0f874e4883a98ab69cff3da323713a5fe80dfd
Author: Andrei Homescu <ahomescu at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Avoid splitting aligned allocations on Trusty (#69281)
Don't use multiple tagged pages at the beginning of an allocation, since
it prevents using such allocations for memrefs, and mappings aren't
reused anyway since Trusty uses MapAllocatorNoCache.
Upstreamed from https://r.android.com/2537251.
Co-authored-by: Marco Nelissen <marcone at google.com>
Commit: b9b8333ed51b67ab73f8bc4cf25ce400d91e7008
https://github.com/llvm/llvm-project/commit/b9b8333ed51b67ab73f8bc4cf25ce400d91e7008
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
A compiler-rt/test/hwasan/TestCases/longjmp-out-of-range.c
Log Message:
-----------
[HWASan] add test for hwasan_handle_longjmp ignore logic (#83359)
Commit: 3be05d898ffd1e687bd67dcd5fe0c8c16ff2d4d7
https://github.com/llvm/llvm-project/commit/3be05d898ffd1e687bd67dcd5fe0c8c16ff2d4d7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/expand-arith-ops.mlir
Log Message:
-----------
[MLIR] Fix test on Windows
Windows folds to 1.01563 and linux to 1.01562, let's just check the prefix here.
Commit: 1a2960bab6381f2b288328e2371829b460ac020c
https://github.com/llvm/llvm-project/commit/1a2960bab6381f2b288328e2371829b460ac020c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Log Message:
-----------
[pgo][nfc] Model `Count` as a `std::optional` in `PGOUseBBInfo` (#83364)
Simpler code, compared to tracking state of 2 variables and the ambiguity of "0" CountValue (is it 0 or is it invalid?)
Commit: d1924f0474b65fe3189ffd658a12f452e4696c28
https://github.com/llvm/llvm-project/commit/d1924f0474b65fe3189ffd658a12f452e4696c28
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
M llvm/test/CodeGen/PowerPC/expand-isel-to-branch.ll
M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
M llvm/test/CodeGen/PowerPC/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/fptoui-be-crash.ll
M llvm/test/CodeGen/PowerPC/funnel-shift-rot.ll
M llvm/test/CodeGen/PowerPC/funnel-shift.ll
M llvm/test/CodeGen/PowerPC/i1-to-double.ll
M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/PowerPC/pr43976.ll
M llvm/test/CodeGen/PowerPC/pr49509.ll
M llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll
M llvm/test/CodeGen/PowerPC/select-cc-no-isel.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/select_const.ll
M llvm/test/CodeGen/PowerPC/smulfixsat.ll
M llvm/test/CodeGen/PowerPC/spe.ll
M llvm/test/CodeGen/PowerPC/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/PowerPC/umulfixsat.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/PowerPC/varargs.ll
M llvm/test/CodeGen/PowerPC/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/PowerPC/wide-scalar-shift-legalization.ll
Log Message:
-----------
[PowerPC] Do not generate `isel` instruction if target doesn't have this instruction (#72845)
When expand `select_cc` in finalize-isel, we should not generate `isel`
for targets not feature it.
Commit: 7d7d4752a8f3d7b83586c10a882f974d821c0c53
https://github.com/llvm/llvm-project/commit/7d7d4752a8f3d7b83586c10a882f974d821c0c53
Author: ZijunZhaoCCK <88353225+ZijunZhaoCCK at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Set feature test macros __cpp_lib_ranges_contains and__cpp_lib_ranges_starts_ends_with (#81816)
ranges::contains: fdd089b50063
ranges::starts_with: 205175578e0d
ranges::ends_with: 0218ea4aaa54
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 5b058709536dd883980722ee000bb7b8c7b2cd8b
https://github.com/llvm/llvm-project/commit/5b058709536dd883980722ee000bb7b8c7b2cd8b
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGen/PowerPC/aix-tls-model.cpp
M clang/test/Sema/aix-attr-tls_model.c
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPC.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
A llvm/test/CodeGen/PowerPC/aix-tls-ld-xcoff-reloc-large.ll
A llvm/test/CodeGen/PowerPC/aix-tls-local-dynamic.ll
M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc.ll
Log Message:
-----------
[PowerPC] Support local-dynamic TLS relocation on AIX (#66316)
Supports TLS local-dynamic on AIX, generates below sequence of code:
```
.tc foo[TC],foo[TL]@ld # Variable offset, ld relocation specifier
.tc mh[TC],mh[TC]@ml # Module handle for the caller
lwz 3,mh[TC]\(2\) $$ For 64-bit: ld 3,mh[TC]\(2\)
bla .__tls_get_mod # Modifies r0,r3,r4,r5,r11,lr,cr0
#r3 = &TLS for module
lwz 4,foo[TC]\(2\) $$ For 64-bit: ld 4,foo[TC]\(2\)
add 5,3,4 # Compute &foo
.rename mh[TC], "\_$TLSML" # Symbol for the module handle must have the name "_$TLSML"
```
---------
Co-authored-by: tingwang <tingwang at tingwangs-MBP.lan>
Co-authored-by: tingwang <tingwang at tingwangs-MacBook-Pro.local>
Commit: 5899599b01d86545896bd21bd15fb5cb619bd6c7
https://github.com/llvm/llvm-project/commit/5899599b01d86545896bd21bd15fb5cb619bd6c7
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
Log Message:
-----------
[mlir][sparse] Migration to sparse_tensor.print (#83506)
Continuous efforts #83357. Previously reverted #83377.
Commit: 9a12b0a60084b2b92f728e1bddec884a47458459
https://github.com/llvm/llvm-project/commit/9a12b0a60084b2b92f728e1bddec884a47458459
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Utility/AddressableBits.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBProcess.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/AddressableBits.cpp
A lldb/test/API/python_api/process/address-masks/Makefile
A lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
A lldb/test/API/python_api/process/address-masks/main.c
Log Message:
-----------
[lldb] Add SBProcess methods for get/set/use address masks (#83095)
I'm reviving a patch from phabracator, https://reviews.llvm.org/D155905
which was approved but I wasn't thrilled with all the API I was adding
to SBProcess for all of the address mask types / memory regions. In this
update, I added enums to control type address mask type (code, data,
any) and address space specifiers (low, high, all) with defaulted
arguments for the most common case.
This patch is also fixing a bug in the "addressable bits to address
mask" calculation I added in AddressableBits::SetProcessMasks. If lldb
were told that 64 bits are valid for addressing, this method would
overflow the calculation and set an invalid mask. Added tests to check
this specific bug while I was adding these APIs.
rdar://123530562
Commit: 7ceb74f5b74fa4a0b68ad911afd3cad945f640a3
https://github.com/llvm/llvm-project/commit/7ceb74f5b74fa4a0b68ad911afd3cad945f640a3
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
Log Message:
-----------
[compiler-rt] fix BSD procmaps stack frame size limit warning. (#82887)
Commit: e8ce864a36ba02ddb63877905d49f1e9ac60b544
https://github.com/llvm/llvm-project/commit/e8ce864a36ba02ddb63877905d49f1e9ac60b544
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Utility/AddressableBits.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBProcess.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/AddressableBits.cpp
R lldb/test/API/python_api/process/address-masks/Makefile
R lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
R lldb/test/API/python_api/process/address-masks/main.c
Log Message:
-----------
Revert "[lldb] Add SBProcess methods for get/set/use address masks (#83095)"
This reverts commit 9a12b0a60084b2b92f728e1bddec884a47458459.
TestAddressMasks fails its first test on lldb-x86_64-debian,
lldb-arm-ubuntu, lldb-aarch64-ubuntu bots. Reverting while
investigating.
Commit: e7c3cd245665042bbae163f7280aceed35f0fee5
https://github.com/llvm/llvm-project/commit/e7c3cd245665042bbae163f7280aceed35f0fee5
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
A llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out-no-ps.ll
A llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
Log Message:
-----------
[HWASAN] Implement selective instrumentation based on profiling information (#83503)
Commit: 2cdf611c02392112860e661e8251efa8b1335cc2
https://github.com/llvm/llvm-project/commit/2cdf611c02392112860e661e8251efa8b1335cc2
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
Log Message:
-----------
[compiler-rt][Fuzzer] SetThreadName windows implementation new try. (#76761)
SetThreadDescription symbol needs to be dynamically loaded before usage.
Then using a wide string buffer, since we re using a null terminated
string, we can use MultiByteToWideChar -1 as 4th argument to finally set
the thread name.
Previously `SetThreadDescription` was called directly causing crash.
It was reverted in dd3aa26fc8e9de37a39611f7a6a602bcb4153784
Commit: cf68c0427d9d3816eefcfe7d3d648a98146c07cf
https://github.com/llvm/llvm-project/commit/cf68c0427d9d3816eefcfe7d3d648a98146c07cf
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/include/llvm-libc-macros/float-macros.h
Log Message:
-----------
[libc] Ignore -Winclude-next-absolute-path warning in float-macros.h (#83513)
Commit: 5b6e58c565cf809e4133a10ff9d9b096754bea1e
https://github.com/llvm/llvm-project/commit/5b6e58c565cf809e4133a10ff9d9b096754bea1e
Author: Alexander M <iammorjj at gmail.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/test/API/lang/c/local_variables/TestLocalVariables.py
Log Message:
-----------
Revert "XFAIL TestLocalVariables.py on Windows" (#83454)
This reverts commit 3434472ed74141848634b5eb3cd625d651e22562.
Closes #43097.
Commit: 39c24c52f641849a648e3b01310ed7c3f2c8d91b
https://github.com/llvm/llvm-project/commit/39c24c52f641849a648e3b01310ed7c3f2c8d91b
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
Log Message:
-----------
[libc] Allow libc to build on Red Hat (#83517)
Currently, `libc` fails when building on redhat because the triple
format uses `redhat` instead of `linux` (The same problem as openSUSE).
This PR changes `libc` to accept `redhat` as a valid Linux triple.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 8171f6d12eafbd4a67ad263770c142d51504d834
https://github.com/llvm/llvm-project/commit/8171f6d12eafbd4a67ad263770c142d51504d834
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
Log Message:
-----------
[lldb][progress][NFC] Fix Doxygen information (#83502)
Commit: 2023a230d122d6971c5ff90615c128e7e711b08f
https://github.com/llvm/llvm-project/commit/2023a230d122d6971c5ff90615c128e7e711b08f
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-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-vfmuladd-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-vpgather.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-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.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/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.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/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.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/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
Log Message:
-----------
[RISCV] Move V0 to the end of register allocation order (#82967)
According to
https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/riscv-optimization-guide.html:
> The v0 register defined by the RISC-V vector extension is special in
> that it can be used both as a general purpose vector register and also
> as a mask register. As a preference, use registers other than v0 for
> non-mask values. Otherwise data will have to be moved out of v0 when a
> mask is required in an operation. v0 may be used when all other
> registers are in use, and using v0 would avoid spilling register state
> to memory.
And using V0 register may stall masking pipeline and stop chaining
for some microarchitectures.
So we should try to not use V0 and register groups contained it as
much as possible. We achieve this via moving V0 to the end of RA
order.
Commit: 4551f53523074cd4e2f93a6f79313ca2cdcc40d2
https://github.com/llvm/llvm-project/commit/4551f53523074cd4e2f93a6f79313ca2cdcc40d2
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
Log Message:
-----------
[lldb] [debugserver] fix qLaunchSuccess error, add QErrorStringInPacketSupported (#82593)
Pavel added an extension to lldb's gdb remote serial protocol that
allows the debug stub to append an error message (ascii hex encoded)
after an error response packet Exx. This was added in 2017 in
https://reviews.llvm.org/D34945 . lldb sends the
QErrorStringInPacketSupported packet and then the remote stub may add
these error strings.
debugserver has two bugs in its use of extended error messages: the
vAttach family would send the extended error string without checking if
the mode had been enabled. And qLaunchSuccess would not properly format
its error response packet (missing the hex digits, did not asciihex
encode the string).
There is also a bug in the HandlePacket_D (detach) packet where the
error packets did not include hex digits, but this one does not append
an error string.
I'm adding a new RNBRemote::SendErrorPacket() and routing all error
packet returns though this one method. It takes an optional second
string which is the longer error message; it now handles appending it to
the Exx response or not, depending on the QErrorStringInPacketSupported
state. I updated all packets to send their errors via this method.
Commit: 8fd011ecc61fa83b9520a971aba1fa651a011bff
https://github.com/llvm/llvm-project/commit/8fd011ecc61fa83b9520a971aba1fa651a011bff
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV] Add getFeaturesForCPU function support (#83269)
This function parse the cpu and return it's supported
features placed in EnabledFeatures. It is same as the
one in X86TargetParser and also is used in IREE.
Commit: 8116dfb8b58a65e78e341f09f5728d345f086b7b
https://github.com/llvm/llvm-project/commit/8116dfb8b58a65e78e341f09f5728d345f086b7b
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M clang/lib/InstallAPI/Frontend.cpp
Log Message:
-----------
[InstallAPI] Use unique identifiers for input buffers (#83523)
Commit: 346766eae8cb8949c2c13b85c0d1e6ff4869a77e
https://github.com/llvm/llvm-project/commit/346766eae8cb8949c2c13b85c0d1e6ff4869a77e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/include/llvm/TextAPI/Record.h
M llvm/lib/TextAPI/RecordVisitor.cpp
Log Message:
-----------
[TextAPI] Fixup symbol names of ivars from extensions (#83525)
Commit: edd0ef4f3cb0ebc4eadc7a207edb9c849e894fc3
https://github.com/llvm/llvm-project/commit/edd0ef4f3cb0ebc4eadc7a207edb9c849e894fc3
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/loop_align_count.ll
M llvm/test/CodeGen/Hexagon/loop_align_count.mir
Log Message:
-----------
Add "REQUIRES: asserts" to 2 tests added in #83379 using "-debug-only" run arguments.
Commit: dca32a3b594b3c91f9766a9312b5d82534910fa1
https://github.com/llvm/llvm-project/commit/dca32a3b594b3c91f9766a9312b5d82534910fa1
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/IR/PDLPatternMatch.h.inc
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
A mlir/test/Conversion/PDLToPDLInterp/use-constraint-result.mlir
M mlir/test/Dialect/PDL/ops.mlir
M mlir/test/Rewrite/pdl-bytecode.mlir
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/mlir-pdll/Parser/constraint-failure.pdll
M mlir/test/mlir-pdll/Parser/constraint.pdll
M mlir/test/python/dialects/pdl_ops.py
Log Message:
-----------
[mlir][PDL] Add support for native constraints with results (#82760)
>From https://reviews.llvm.org/D153245
This adds support for native PDL (and PDLL) C++ constraints to return
results.
This is useful for situations where a pattern checks for certain
constraints of multiple interdependent attributes and computes a new
attribute value based on them. Currently, for such an example it is
required to escape to C++ during matching to perform the check and after
a successful match again escape to native C++ to perform the computation
during the rewriting part of the pattern. With this work we can do the
computation in C++ during matching and use the result in the rewriting
part of the pattern. Effectively this enables a choice in the trade-off
of memory consumption during matching vs recomputation of values.
This is an example of a situation where this is useful: We have two
operations with certain attributes that have interdependent constraints.
For instance `attr_foo: one_of [0, 2, 4, 8], attr_bar: one_of [0, 2, 4,
8]` and `attr_foo == attr_bar`. The pattern should only match if all
conditions are true. The new operation should be created with a new
attribute which is computed from the two matched attributes e.g.
`attr_baz = attr_foo * attr_bar`. For the check we already escape to
native C++ and have all values at hand so it makes sense to directly
compute the new attribute value as well:
```
Constraint checkAndCompute(attr0: Attr, attr1: Attr) -> Attr;
Pattern example with benefit(1) {
let foo = op<test.foo>() {attr = attr_foo : Attr};
let bar = op<test.bar>(foo) {attr = attr_bar : Attr};
let attr_baz = checkAndCompute(attr_foo, attr_bar);
rewrite bar with {
let baz = op<test.baz> {attr=attr_baz};
replace bar with baz;
};
}
```
To achieve this the following notable changes were necessary:
PDLL:
- Remove check in PDLL parser that prevented native constraints from
returning results
PDL:
- Change PDL definition of pdl.apply_native_constraint to allow variadic
results
PDL_interp:
- Change PDL_interp definition of pdl_interp.apply_constraint to allow
variadic results
PDLToPDLInterp Pass:
The input to the pass is an arbitrary number of PDL patterns. The pass
collects the predicates that are required to match all of the pdl
patterns and establishes an ordering that allows creation of a single
efficient matcher function to match all of them. Values that are matched
and possibly used in the rewriting part of a pattern are represented as
positions. This allows fusion and thus reusing a single position for
multiple matching patterns. Accordingly, we introduce
ConstraintPosition, which records the type and index of the result of
the constraint. The problem is for the corresponding value to be used in
the rewriting part of a pattern it has to be an input to the
pdl_interp.record_match operation, which is generated early during the
pass such that its surrounding block can be referred to by branching
operations. In consequence the value has to be materialized after the
original pdl.apply_native_constraint has been deleted but before we get
the chance to generate the corresponding pdl_interp.apply_constraint
operation. We solve this by emitting a placeholder value when a
ConstraintPosition is evaluated. These placeholder values (due to fusion
there may be multiple for one constraint result) are replaced later when
the actual pdl_interp.apply_constraint operation is created.
Changes since the phabricator review:
- Addressed all comments
- In particular, removed registerConstraintFunctionWithResults and
instead changed registerConstraintFunction so that contraint functions
always have results (empty by default)
- Thus we don't need to reuse `rewriteFunctions` to store constraint
functions with results anymore, and can instead use
`constraintFunctions`
- Perform a stable sort of ConstraintQuestion, so that
ConstraintQuestion appear before other ConstraintQuestion that use their
results.
- Don't create placeholders for pdl_interp::ApplyConstraintOp. Instead
generate the `pdl_interp::ApplyConstraintOp` before generating the
successor block.
- Fixed a test failure in the pdl python bindings
Original code by @martin-luecke
Co-authored-by: martin-luecke <martinpaul.luecke at amd.com>
Commit: c80e6edba4a9593f0587e27fa0ac825ebe174afd
https://github.com/llvm/llvm-project/commit/c80e6edba4a9593f0587e27fa0ac825ebe174afd
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/IR/PDLPatternMatch.h.inc
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
R mlir/test/Conversion/PDLToPDLInterp/use-constraint-result.mlir
M mlir/test/Dialect/PDL/ops.mlir
M mlir/test/Rewrite/pdl-bytecode.mlir
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/mlir-pdll/Parser/constraint-failure.pdll
M mlir/test/mlir-pdll/Parser/constraint.pdll
M mlir/test/python/dialects/pdl_ops.py
Log Message:
-----------
Revert "[mlir][PDL] Add support for native constraints with results (#82760)"
Due to buildbot failure https://lab.llvm.org/buildbot/#/builders/88/builds/72130
This reverts commit dca32a3b594b3c91f9766a9312b5d82534910fa1.
Commit: 012b697e7c3633ae17639b086414fd6c02127810
https://github.com/llvm/llvm-project/commit/012b697e7c3633ae17639b086414fd6c02127810
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/stream-note.c
Log Message:
-----------
[clang][analyzer] Add StreamChecker note tags for "indeterminate stream position". (#83288)
If a stream operation fails the position can become "indeterminate".
This may cause warning from the checker at a later operation. The new
note tag shows the place where the position becomes "indeterminate",
this is where a failure occurred.
Commit: 43bcedd1f09134478b7c8582bac86c78e2dbeb28
https://github.com/llvm/llvm-project/commit/43bcedd1f09134478b7c8582bac86c78e2dbeb28
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
Log Message:
-----------
[compiler-rt] fix __sanitizer_siginfo type on freebsd. (#77379)
mostly interested in the first half of the type, adding also compile
time check.
Commit: 6c39fa9e9f198498ff7cf9646081437a0fc0882a
https://github.com/llvm/llvm-project/commit/6c39fa9e9f198498ff7cf9646081437a0fc0882a
Author: Dhruv Chawla (work) <dhruvc at nvidia.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/abs.ll
Log Message:
-----------
[AArch64][GlobalISel] Expand abs.v4i8 to v4i16 and abs.v2s16 to v2s32 (#81231)
GISel was currently falling back to SDAG for these functions, and this
matches the way SDAG currently generates code for these functions.
Commit: 420928b2fa8b00f23f0adcb19328014592455698
https://github.com/llvm/llvm-project/commit/420928b2fa8b00f23f0adcb19328014592455698
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/apx/compress-evex.mir
Log Message:
-----------
[X86][CodeGen] Fix compile crash in EVEX compression for corner case
The base register of OPmi_ND may be allocated to the same physic
register as the ND operand.
OPmi_ND is not compressible b/c it has different semnatic from OPmi.
In this case, `isRedundantNewDataDest` should return false, otherwise
we would get error
Assertion `!IsNDLike && "Missing entry for ND-like instruction"' failed.
Commit: 821215459885d2bf8553e5b986cacdc30c7e8e98
https://github.com/llvm/llvm-project/commit/821215459885d2bf8553e5b986cacdc30c7e8e98
Author: Corbin Robeck <corbin.robeck at amd.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
Merge branch 'users/crobeck/remove-renamedInGFX9-bit' of github.com:llvm/llvm-project into users/crobeck/remove-renamedInGFX9-bit
Commit: 48d994d4eeda62b2e1e90cbb306e3f083ec56f11
https://github.com/llvm/llvm-project/commit/48d994d4eeda62b2e1e90cbb306e3f083ec56f11
Author: Corbin Robeck <corbin.robeck at amd.com>
Date: 2024-03-01 (Fri, 01 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
reorder conditional statement
Compare: https://github.com/llvm/llvm-project/compare/a3e1951c82fd...48d994d4eeda
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