[all-commits] [llvm/llvm-project] b7a457: [PreISelIntrinsicLowering][test] Demonstrate volat...
Michael Kruse via All-commits
all-commits at lists.llvm.org
Thu Jul 18 03:42:46 PDT 2024
Branch: refs/heads/users/meinersbur/clang_openmp_interchange
Home: https://github.com/llvm/llvm-project
Commit: b7a457e5e6adfab40964c8d3d5dd7077a545ff90
https://github.com/llvm/llvm-project/commit/b7a457e5e6adfab40964c8d3d5dd7077a545ff90
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll
Log Message:
-----------
[PreISelIntrinsicLowering][test] Demonstrate volatile flag for memset.inline is preserved
Equivalent change ot the one requested in the review for #98281.
Commit: 145a69294788edf5fd19d7c2162e98558e97e400
https://github.com/llvm/llvm-project/commit/145a69294788edf5fd19d7c2162e98558e97e400
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
Log Message:
-----------
[CodeGen] Format `PHIElimination.cpp` NFC (#98289)
clang-format will format entire class when `class PHIElimination :
public MachineFunctionPass {` is changed. Format it firstly to reduce
unnecessary changes when porting it to new pass manager.
Commit: 7df39ac394c57768abbb254d80fabe7e385c8500
https://github.com/llvm/llvm-project/commit/7df39ac394c57768abbb254d80fabe7e385c8500
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Integration/debug-assumed-size-array-2.f90
A flang/test/Integration/debug-assumed-size-array.f90
A flang/test/Transforms/debug-assumed-size-array.fir
Log Message:
-----------
[flang][debug] Support assumed size arrays. (#96316)
Here we don't know the size of last dimension and use a null subrange
for that. User will have to provide the dimension when evaluating
variable of this type. The debugging looks like as follows:
subroutine fn(a1, a2)
integer a1(5, *), a2(*)
...
end
(gdb) p a1(1,2)
$2 = 2
(gdb) p a2(3)
$3 = 3
(gdb) ptype a1
type = integer (5,*)
(gdb) ptype a2
type = integer (*)
Commit: 42672199ec2e2a1d38c3f52305e3846b0ec681ed
https://github.com/llvm/llvm-project/commit/42672199ec2e2a1d38c3f52305e3846b0ec681ed
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/fpext.ll
Log Message:
-----------
[GISel][AArch64] Libcall support for G_FPEXT 128-bit types (#97735)
This patch adds support for generating libcall
for 128-bit types of G_FPEXT.
This fixes ~10 fallbacks in RajaPerf benchmark.
Commit: 6c84bba218f7b64f2257405ac30a3c6948df8373
https://github.com/llvm/llvm-project/commit/6c84bba218f7b64f2257405ac30a3c6948df8373
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
Log Message:
-----------
[LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy (#97998)
Memcpy intrinsics with statically unknown loop sizes are lowered with
two load/store loops: one with access widths specified by the target,
and a residual loop that copies remaining bytes individually.
As the residual loop operates byte-wise, its accesses are only
1-aligned. However, we currently use the alignment that is optimal for
the first loop in both, which is unsound. With this patch, we use the
correct alignment in the residual loop.
The lowering of memcpy with a static size already handles alignments for
the residual correctly.
Commit: 5c09dda5070f1114480d450fdfb528f0b08e6df6
https://github.com/llvm/llvm-project/commit/5c09dda5070f1114480d450fdfb528f0b08e6df6
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/ArithToEmitC/CMakeLists.txt
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Lower arith.index_cast, arith.index_castui, arith.shli, arith.shrui, arith.shrsi (#95795)
This PR makes use of the newly introduced EmitC types, and lowers:
* ops dealing with index types (index_cast, index_castui),
* ops where `size_t` is used as part of the lowering (shli, shrui,
shrsi, to check for overflow and avoid UB in this case).
Commit: 1782810b8440144a0141c24192acbaeb55a1545d
https://github.com/llvm/llvm-project/commit/1782810b8440144a0141c24192acbaeb55a1545d
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-sign-return-address.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/arm-branch-protection-attr-1.c
M clang/test/CodeGen/arm-branch-protection-attr-2.c
A clang/test/Frontend/arm-branch-protection-lto.c
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
M llvm/test/CodeGen/AArch64/bti-branch-relaxation.ll
M llvm/test/CodeGen/AArch64/kcfi-bti.ll
M llvm/test/CodeGen/AArch64/machine-outliner-2fixup-blr-terminator.mir
M llvm/test/CodeGen/AArch64/machine-outliner-bti.mir
M llvm/test/CodeGen/AArch64/machine-outliner-outline-bti.ll
M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-0.ll
M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-4.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-1.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
M llvm/test/CodeGen/AArch64/setjmp-bti-outliner.ll
M llvm/test/CodeGen/AArch64/setjmp-bti.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/AArch64/wineh-bti.ll
M llvm/test/CodeGen/AArch64/wineh-pac.ll
M llvm/test/CodeGen/ARM/setjmp-bti-basic.ll
M llvm/test/CodeGen/ARM/setjmp-bti-outliner.ll
M llvm/test/CodeGen/Thumb2/bti-entry-blocks.ll
M llvm/test/CodeGen/Thumb2/bti-indirect-branches.ll
M llvm/test/CodeGen/Thumb2/bti-outliner-1.ll
M llvm/test/CodeGen/Thumb2/bti-outliner-2.ll
M llvm/test/CodeGen/Thumb2/bti-outliner-cost-2.ll
M llvm/test/CodeGen/Thumb2/bti-pac-replace-1.mir
M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
M llvm/test/CodeGen/Thumb2/jump-table-bti.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-5.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-unsupported-arch.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
M llvm/test/Transforms/Inline/inline-sign-return-address.ll
M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Verifier/branch-prot-attrs.ll
Log Message:
-----------
[Clang][ARM][AArch64] Alway emit protection attributes for functions. (#82819)
So far branch protection, sign return address, guarded control stack
attributes are
only emitted as module flags to indicate the functions need to be
generated with
those features.
The problem is in case of an LTO build the module flags are merged with
the `min`
rule which means if one of the module is not build with sign return
address then the features
will be turned off for all functions. Due to the functions take the
branch-protection and
sign-return-address features from the module flags. The
sign-return-address is
function level option therefore it is expected functions from files that
is
compiled with -mbranch-protection=pac-ret to be protected.
The inliner might inline functions with different set of flags as it
doesn't consider
the module flags.
This patch adds the attributes to all functions and drops the checking
of the module flags
for the code generation.
Module flag is still used for generating the ELF markers.
Also drops the "true"/"false" values from the
branch-protection-enforcement,
branch-protection-pauth-lr, guarded-control-stack attributes as presence
of the
attribute means it is on absence means off and no other option.
Releand with test fixes.
Commit: 5ab755c972327b4d2c118db9b694d199a981579f
https://github.com/llvm/llvm-project/commit/5ab755c972327b4d2c118db9b694d199a981579f
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Add LiveInterval assertions in insertVSETVLI. NFC
If we're inserting a vsetvli that uses a register AVL, then the AVL
register should either:
a) Be already live at the vsetvli with the expected value
b) Not be live at the vsetvli, but have exactly one value that can be
extended safely: see #97264
Commit: 14ba847d273a0defe0f4617bcfe9e1b2163e2bbc
https://github.com/llvm/llvm-project/commit/14ba847d273a0defe0f4617bcfe9e1b2163e2bbc
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py
Log Message:
-----------
[lldb] Bump timeouts in TestCallWithTimeout
this test is occasionally (~3%) failing on an emulator target. The value
used by the test (one second) is quite aggressive given that we set the timeout
for a single gdb packet to 60 seconds.
Bumping it to five to resolve flakyness.
Commit: 0a95f2f7fe3a01fb94720dbb43679ef197b65f6a
https://github.com/llvm/llvm-project/commit/0a95f2f7fe3a01fb94720dbb43679ef197b65f6a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/include/__chrono/zoned_time.h
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.local_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_info.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_local_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_local_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Finishes zoned_time member functions. (#95026)
Note the implementation of
zoned_time& operator=(const local_time<Duration>& lt);
is not correct; however the wording cannot be easily implemented. It
could be if the object caches the local_time assigned. However this does
not seem to intended. The current implementation matches MSVC STL and
libstdc++.
Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
Commit: d5e4e702aa6ba7553ea9f28e4c62ec976876c989
https://github.com/llvm/llvm-project/commit/d5e4e702aa6ba7553ea9f28e4c62ec976876c989
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
A mlir/test/mlir-tblgen/openmp-ops-verify.td
M mlir/test/mlir-tblgen/openmp-ops.td
M mlir/tools/mlir-tblgen/CMakeLists.txt
A mlir/tools/mlir-tblgen/OmpOpGen.cpp
Log Message:
-----------
[MLIR][OpenMP] Add TableGen pseudo-generator for OpenMP-specific verification (#95552)
The introduction of the clause-based approach to defining OpenMP
operations can make it more difficult to detect and address certain
programming errors derived from this change. Specifically, it's possible
for an operation to inadvertently override otherwise
automatically-populated properties and result in unexpected and
difficult to debug errors or incomplete operation definitions.
This patch introduces a TableGen backend that doesn't produce any
output, but rather only checks for these potential oversights in the
definition of OpenMP dialect operations and flags them as warnings or
errors. This provides descriptive and early feedback before any code is
attempted to be generated for these problematic definitions.
Commit: 397daea909a63f5265c3654acf84b6818c486c75
https://github.com/llvm/llvm-project/commit/397daea909a63f5265c3654acf84b6818c486c75
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for 5c09dda
Commit: e46468407a7bb7f8b2fe13675a5a1c32b85f8cad
https://github.com/llvm/llvm-project/commit/e46468407a7bb7f8b2fe13675a5a1c32b85f8cad
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/Lexer.cpp
A clang/test/Driver/fraw-string-literals-cxx.cpp
A clang/test/Lexer/raw-string-ext.c
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[Clang] Allow raw string literals in C as an extension (#88265)
This enables raw R"" string literals in C in some language modes
and adds an option to disable or enable them explicitly as an
extension.
Background: GCC supports raw string literals in C in `-gnuXY` modes
starting with gnu99. This pr both enables raw string literals in gnu99
mode and later in C and adds an `-f[no-]raw-string-literals` flag to override
this behaviour. The decision not to enable raw string literals in gnu89
mode, according to the GCC devs, is intentional as that mode is supposed
to be used for ‘old code’ that they don’t want to break; we’ve decided to
match GCC’s behaviour here as well.
The `-fraw-string-literals` flag can additionally be used to enable raw string
literals in modes where they aren’t enabled by default (such as c99—as
opposed to gnu99—or even e.g. C++03); conversely, the negated flag can
be used to disable them in any gnuXY modes that *do* provide them by
default, or to override a previous flag. However, we do *not* support
disabling raw string literals (or indeed either of these two options) in
C++11 mode and later, because we don’t want to just start supporting
disabling features that are actually part of the language in the general case.
This fixes #85703.
Commit: 4dcd9d2d80e12a22fdbbce3e3868275c2cbe3956
https://github.com/llvm/llvm-project/commit/4dcd9d2d80e12a22fdbbce3e3868275c2cbe3956
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/IR/Function.cpp
A llvm/test/Instrumentation/AddressSanitizer/module-flags-aarch64.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/module-flags-aarch64.ll
Log Message:
-----------
[llvm][ARM][AArch64] Add attributes to synthetic functions. (#83153)
Module flags represent the original intention.
Depends on #82819
Reland as it was but reland needed as dependent patch relanded.
Commit: 17316a59895daabfa23e7534f686c08a0949fe09
https://github.com/llvm/llvm-project/commit/17316a59895daabfa23e7534f686c08a0949fe09
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
Log Message:
-----------
Revert "[LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy" (#98295)
Reverts llvm/llvm-project#97998
This seems to cause a buildbot failure on clang-hip-vega20, in the HIP
test-suite, need to investigate.
Commit: a7b65836c423c56f56e0c240afd33dabd2aaeaf1
https://github.com/llvm/llvm-project/commit/a7b65836c423c56f56e0c240afd33dabd2aaeaf1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 08ce14732d528ab70309f334446d39782f2f07c0
https://github.com/llvm/llvm-project/commit/08ce14732d528ab70309f334446d39782f2f07c0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/tools/lldb-test/lldb-test.cpp
Log Message:
-----------
[lldb][test] Fix lldb-test compile error
https://github.com/llvm/llvm-project/pull/82819 made the lookup here
ambiguous.
Commit: 3742c2a83cd644c47db969b6dd421665695f94da
https://github.com/llvm/llvm-project/commit/3742c2a83cd644c47db969b6dd421665695f94da
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/const-reduced-vals-resized.ll
Log Message:
-----------
[SLP]Use stored signedness after minbitwidth analysis.
Need to used stored signedness info for the root node instead of
recalculating it after the vectorization, which may lead to a compiler
crash.
Commit: 85d6e3cac7150f32cdbe69194ee86747684b3cfa
https://github.com/llvm/llvm-project/commit/85d6e3cac7150f32cdbe69194ee86747684b3cfa
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Log Message:
-----------
[MLIR][OpenMP][NFC] Document omp.section(s) block arguments (#98175)
Following discussion here:
https://github.com/llvm/llvm-project/pull/97858#discussion_r1670173102
Commit: 3e06392c7db0eacfca94a176d430d9988b3ffbd6
https://github.com/llvm/llvm-project/commit/3e06392c7db0eacfca94a176d430d9988b3ffbd6
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/test/API/python_api/thread/TestThreadAPI.py
Log Message:
-----------
[lldb][test] Fix instruction test step on Windows
On Windows the function name is the full prototype including
the calling convention, all we care about is that the last part
is correct.
This also reverts the xfail added by 07b3e2c0c68b93a3d4d89426dc7fd14cc31ca6be.
Commit: abde52aa667118d18e9551ab87a15b95c267b3b6
https://github.com/llvm/llvm-project/commit/abde52aa667118d18e9551ab87a15b95c267b3b6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/X86/X86TileConfig.cpp
M llvm/test/CodeGen/AArch64/live-interval-analysis.mir
M llvm/test/CodeGen/AMDGPU/liveness.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/return-with-successors.mir
M llvm/test/CodeGen/AMDGPU/subreg-intervals.mir
M llvm/test/CodeGen/X86/invalid-liveness.mir
M llvm/unittests/MI/LiveIntervalTest.cpp
Log Message:
-----------
[CodeGen][NewPM] Port `LiveIntervals` to new pass manager (#98118)
- Add `LiveIntervalsAnalysis`.
- Add `LiveIntervalsPrinterPass`.
- Use `LiveIntervalsWrapperPass` in legacy pass manager.
- Use `std::unique_ptr` instead of raw pointer for `LICalc`, so
destructor and default move constructor can handle it correctly.
This would be the last analysis required by `PHIElimination`.
Commit: e77b295ada25e061c29db049d2a7a7bdb281c41b
https://github.com/llvm/llvm-project/commit/e77b295ada25e061c29db049d2a7a7bdb281c41b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/__chrono/zoned_time.h
A libcxx/test/std/time/time.zone/time.zone.zonedtime/deduction.pass.cpp
Log Message:
-----------
[libc++][TZDB] Adds zoned_time deduction guides. (#95139)
Completes
- LWG3232 Inconsistency in zoned_time deduction guides
- LWG3294 zoned_time deduction guides misinterprets stringchar*
Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
Commit: 748a6ad68ba31d242e3f86eddd5b0fd7b2a02ff9
https://github.com/llvm/llvm-project/commit/748a6ad68ba31d242e3f86eddd5b0fd7b2a02ff9
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove extra insertVSETVLI method. NFC
There's only one user of it, and to remove it we just need to pass
along the DebugLoc.
Commit: 27d4877ca4c20277fde47708fcd9cbb7571cc17c
https://github.com/llvm/llvm-project/commit/27d4877ca4c20277fde47708fcd9cbb7571cc17c
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/preserving-debugloc-sat-overflow.ll
Log Message:
-----------
[DebugInfo][SimplifyIndVar] Missing debug location updates for overflow/saturation instructions (#97987)
Fixes #97986
Commit: 7333c099aee756e69c2172c52815d1c811691af5
https://github.com/llvm/llvm-project/commit/7333c099aee756e69c2172c52815d1c811691af5
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/test/mlir-tblgen/openmp-ops-verify.td
M mlir/test/mlir-tblgen/openmp-ops.td
Log Message:
-----------
[bazel][mlir][OpenMP] Roll back path improvements from d5e4e70 (#98304)
The bazel setup is not ready to handle `%llvm/mlir_src_root`.
Roll back these improvements for now.
I will look into fixing the bazel setup and roll forward.
Commit: 87c51e2af006b96d928d55b077c8bb510c4b6e33
https://github.com/llvm/llvm-project/commit/87c51e2af006b96d928d55b077c8bb510c4b6e33
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
Log Message:
-----------
Run PreStmt/PostStmt checker for GCCAsmStmt (#95409)
Fixes #94940
Run PreStmt and PostStmt checker for GCCAsmStmt.
Unittest to validate that corresponding callback functions are triggered.
Commit: 1afd4b7d1e6b4931941b1cdb666718c3dcb06e53
https://github.com/llvm/llvm-project/commit/1afd4b7d1e6b4931941b1cdb666718c3dcb06e53
Author: David Truby <david.truby at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Lower/Intrinsics/get_environment_variable.f90
Log Message:
-----------
[flang] Allow getenv as alternate spelling for get_environment_variable (#95777)
This patch adds getenv as an alternate spelling for
get_environment_variable.
This spelling is allowed by multiple other compilers and is used in
OpenRadioss.
Commit: af47a4ec503fe3efc6ade8cad4882881a202ed41
https://github.com/llvm/llvm-project/commit/af47a4ec503fe3efc6ade8cad4882881a202ed41
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/icmp-zero.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/many-geps.ll
Log Message:
-----------
[RISCV] Enable TTI::shouldDropLSRSolutionIfLessProfitable by default (#89927)
This avoids some cases where LSR produces results that lead to very poor
codegen. There's a chance we'll see minor degradations for some inputs
in the case that our metrics say the found solution is worse, but in
reality it's better than the starting point.
Per the review thread, at least one vendor has been enabling this by
defualt for some time and found overall it's an improvement. As such,
we'll enable by default and aim to fix any as-yet-unknown regressions
in-tree.
Commit: e6c75d003150093a1b8ba22a69c56a1f47c5b9b1
https://github.com/llvm/llvm-project/commit/e6c75d003150093a1b8ba22a69c56a1f47c5b9b1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
[gn build] Port 87c51e2af006
Commit: 3ef2805dcfb277faeea33e5bc62dc84a0a5f72b4
https://github.com/llvm/llvm-project/commit/3ef2805dcfb277faeea33e5bc62dc84a0a5f72b4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
Log Message:
-----------
[PhaseOrdering][X86] Fix cut+paste typo in blendv test
Commit: 78dcd0270eb2814c1750e24001ec8a33a59d6d65
https://github.com/llvm/llvm-project/commit/78dcd0270eb2814c1750e24001ec8a33a59d6d65
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
AMDGPU: Add a subtarget feature for fine-grained remote memory support (#96442)
Atomic access to fine-grained remote memory does not work on all
subtargets. Add a feature for targets where this is expected to work.
Commit: 409815d1083776dc049484f830365b52f15621c3
https://github.com/llvm/llvm-project/commit/409815d1083776dc049484f830365b52f15621c3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
AMDGPU: Add subtarget feature for global atomic fadd denormal support (#96443)
Not sure what the behavior for gfx90a is. The SPG says it always flushes.
The instruction documentation says it does not.
Commit: 2ef4f863f32c3c95433de5d459657273374f51cc
https://github.com/llvm/llvm-project/commit/2ef4f863f32c3c95433de5d459657273374f51cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Add subtarget feature for memory atomic fadd f64 (#96444)
Commit: 9b95d08ef68e9a1999c201a559e5c18f54ea6bbe
https://github.com/llvm/llvm-project/commit/9b95d08ef68e9a1999c201a559e5c18f54ea6bbe
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/Mips/Mips.h
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/X86.h
Log Message:
-----------
[GISel] Make create.*InstructionSelector arguments const (#98243)
The InstructionSelector objects all take these arguments in as `const`.
This function does not modify the object. Therefore we can mark them as
`const` here.
Commit: 4f0ebe01a415f293e36f8135c7bb84c0592c8be2
https://github.com/llvm/llvm-project/commit/4f0ebe01a415f293e36f8135c7bb84c0592c8be2
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll
Log Message:
-----------
[PreISelIntrinsicLowering][test] Test that the expanded memset.inline doesn't drop volatile flag
As suggested in the discussion for #98281.
Commit: 62b3e68d33035f14e83320b7921c80b36dcbea8c
https://github.com/llvm/llvm-project/commit/62b3e68d33035f14e83320b7921c80b36dcbea8c
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] Fixes `test6_memcpy` test (NFC)
We should forward `src` to `dest`.
Commit: b841e2eca3b5c8b408214a46593f6a025e0fe48b
https://github.com/llvm/llvm-project/commit/b841e2eca3b5c8b408214a46593f6a025e0fe48b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
Log Message:
-----------
Recommit "[VPlan] First step towards VPlan cost modeling. (#92555)"
This reverts commit 6f538f6a2d3224efda985e9eb09012fa4275ea92.
A number of crashes have been fixed by separate fixes, including
ttps://github.com/llvm/llvm-project/pull/96622. This version of the
PR also pre-computes the costs for branches (except the latch) instead
of computing their costs as part of costing of replicate regions, as
there may not be a direct correspondence between original branches and
number of replicate regions.
Original message:
This adds a new interface to compute the cost of recipes, VPBasicBlocks,
VPRegionBlocks and VPlan, initially falling back to the legacy cost model
for all recipes. Follow-up patches will gradually migrate recipes to
compute their own costs step-by-step.
It also adds getBestPlan function to LVP which computes the cost of all
VPlans and picks the most profitable one together with the most
profitable VF.
The VPlan selected by the VPlan cost model is executed and there is an
assert to catch cases where the VPlan cost model and the legacy cost
model disagree. Even though I checked a number of different build
configurations on AArch64 and X86, there may be some differences
that have been missed.
Additional discussions and context can be found in @arcbbb's
https://github.com/llvm/llvm-project/pull/67647 and
https://github.com/llvm/llvm-project/pull/67934 which is an earlier
version of the current PR.
PR: https://github.com/llvm/llvm-project/pull/92555
Commit: d521324e9fa89f2db8229fb1327c7d45df0ff3cc
https://github.com/llvm/llvm-project/commit/d521324e9fa89f2db8229fb1327c7d45df0ff3cc
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/global.mlir
Log Message:
-----------
[mlir][EmitC] Unify handling of operations which are emitted in a deferred way (#97804)
Several operations from the EmitC dialect don't produce output directly
during emission, but rather when being used as an operand. These changes
unify the handling of such operations and fix a bug in the emission of
global ops.
Co-authored-by: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Commit: 8b511e14770781bd31b0c03bad790bdd82793dac
https://github.com/llvm/llvm-project/commit/8b511e14770781bd31b0c03bad790bdd82793dac
Author: R <rqou00 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rvc-aliases-valid.s
M llvm/test/MC/RISCV/rvdc-aliases-valid.s
Log Message:
-----------
[RISCV] Fix 0-offset aliases for compressed sp-based opcodes (#98034)
The "26.3.1. Stack-Pointer-Based Loads and Stores" compressed opcodes
have access to all registers (except x0). Fix the opcode aliases with 0
offset so that the aliases also work for all registers, not only the RVC
registers.
Previously, LLVM would accept e.g. `c.lwsp x8, (sp)` but not e.g.
`c.lwsp x18, (sp)`, even though e.g. `c.lwsp x18, 0(sp)` would be
accepted.
This was noticed while implementing
https://github.com/llvm/llvm-project/pull/97925 . The implementation in
that other PR is indeed correct (i.e `qk.c.lhusp` et al are restricted
to the RVC registers).
Commit: 51fac7747f8fb5bfa5e32f5d05e9d807c544a650
https://github.com/llvm/llvm-project/commit/51fac7747f8fb5bfa5e32f5d05e9d807c544a650
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Integration/debug-assumed-shape-array.f90
M flang/test/Transforms/debug-assumed-shape-array.fir
M flang/test/Transforms/debug-ptr-type.fir
Log Message:
-----------
[flang][debug] Don't confuse count with upperBound. (#98174)
The code that handled allocatable array had swapped `count` with
`upperBound`. This did not get caught earlier as all the example were
using 1 as `lowerBound`.
Fixes #98166.
With the fix in place, the GDB now correctly handles the case pointed in
the bug ticket.
(gdb) p min::alloc2d
$2 = ((0, 0, 0) (0, 0, 0) (0, 0, 0) (0, 0, 0) (0, 0, 0))
(gdb) ptype min::alloc2d
type = integer, allocatable (-1:1,-2:2)
Commit: 62d949766b877dc379f2bf883128b7136bae3a52
https://github.com/llvm/llvm-project/commit/62d949766b877dc379f2bf883128b7136bae3a52
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
AMDGPU: Add description for new atomicrmw metadata (#85052)
Add a spec for yet-to-be-implemented metadata to allow the backend to
fully handle atomicrmw lowering. This is the base of an alternative
to #69229, which inverts the direction to be correct by default, and
extends to cover the peer device case.
Commit: 4c0320728e1b0cd590c00e06130a2af7160715b6
https://github.com/llvm/llvm-project/commit/4c0320728e1b0cd590c00e06130a2af7160715b6
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
Log Message:
-----------
[DWARF] Hide state in an anonymous namespace. NFC.
Commit: 0e7590a25cd2e49c5849cc7d2facd5810f8900ce
https://github.com/llvm/llvm-project/commit/0e7590a25cd2e49c5849cc7d2facd5810f8900ce
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/float.h
M clang/test/Headers/float.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init.c
Log Message:
-----------
[C23] Add *_NORM_MAX macros to <float.h> (#96643)
This adds the *_NORM_MAX macros to <float.h> for freestanding mode in
Clang; the values were chosen based on the behavior seen coming from GCC
and the values already produced for the *_MAX macros by Clang.
Commit: d1006315b5076e89c3a698e47761370d61b071e3
https://github.com/llvm/llvm-project/commit/d1006315b5076e89c3a698e47761370d61b071e3
Author: Allen <zhongyunde at huawei.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sdivpow2.ll
Log Message:
-----------
[AArch64] Lower for power of 2 signed divides with scalar type (#97879)
Expected same assemble for code which doesn't use sve registers when we
compile it with/without -msve-vector-bits=256.
Fix https://github.com/llvm/llvm-project/issues/97821
Commit: ad016352ec61af1df87e5e46fcfcbd1bef9ba4dd
https://github.com/llvm/llvm-project/commit/ad016352ec61af1df87e5e46fcfcbd1bef9ba4dd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
Log Message:
-----------
[libc++] Fix sized deallocation comments in tests (#98173)
Clang 19 turned on sized deallocation *by default*, but older versions
of Clang did support sized deallocation nonetheless. This updates a few
comments and removes UNSUPPORTED annotations that shouldn't be needed in
a test that passes -fsized-deallocation directly.
Commit: 2b1b4e3025bedb43906b3d04151ce5cfc4af17e3
https://github.com/llvm/llvm-project/commit/2b1b4e3025bedb43906b3d04151ce5cfc4af17e3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/chrono
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.nonmembers/eq.pass.cpp
Log Message:
-----------
[libc++][TZDB] Implements zoned_time's operator==. (#95140)
Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
- P1614R2 The Mothership has Landed
Commit: 82ee7ae3c9273dabd9095fd3e84657fd28322d33
https://github.com/llvm/llvm-project/commit/82ee7ae3c9273dabd9095fd3e84657fd28322d33
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/APINotes/APINotesWriter.h
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
Log Message:
-----------
[APINotes] Refactor: remove references to `ObjCContext...`
API Notes now support in C++. In preparation for supporting C++ methods
in API Notes, this change renames the remaining usages of
`ObjCContextABC` into `ContextABC` to make it clear that those contexts
might actually be C++, not Objective-C.
This is NFC-ish.
Commit: f8dbe1d09d4fff30a1fd4f03261b74c44ef64888
https://github.com/llvm/llvm-project/commit/f8dbe1d09d4fff30a1fd4f03261b74c44ef64888
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/icmp-zero.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/many-geps.ll
Log Message:
-----------
Revert "[RISCV] Enable TTI::shouldDropLSRSolutionIfLessProfitable by default" (#98328)
Reverts llvm/llvm-project#89927 while we investigate performance
regressions reported by @dtcxzyw
Commit: b5657d6dc7066156e33bc83e297e534d41731560
https://github.com/llvm/llvm-project/commit/b5657d6dc7066156e33bc83e297e534d41731560
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
Log Message:
-----------
[RISCV] Reverse default assumption about performance of vlseN.v vd, (rs1), x0 (#98205)
Some cores implement an optimization for a strided load with an x0
stride, which results in fewer memory operations being performed then
implied by VL since all address are the same. It seems to be the case
that this is the case only for a minority of available implementations.
We know that sifive-x280 does, but sifive-p670 and spacemit-x60 both do
not.
(To be more precise, measurements on the x60 appear to indicate that a
stride of x0 has similar latency to a non-zero stride, and that both
are about twice a vleN.v. I'm taking this to mean the x0
case is not optimized.)
We had an existing flag by which a processor could opt out of this
assumption but no upstream users. Instead of adding this flag to the
p670 and x60, this patch reverses the default and adds the opt-in flag
only to the x280.
Commit: 884a07fee0ba36649561003e36d197323380f3d2
https://github.com/llvm/llvm-project/commit/884a07fee0ba36649561003e36d197323380f3d2
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][doc] Document profiles in RISCVUsage (#98326)
Just like we do for extensions, list those which are supported and those
that can be enabled with additional flags.
Commit: a4a8d36b8591801696aad30fa116669c7bb2348c
https://github.com/llvm/llvm-project/commit/a4a8d36b8591801696aad30fa116669c7bb2348c
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/InstallAPI/DylibVerifier.cpp
A clang/test/InstallAPI/reexport-with-linker-symbols.test
Log Message:
-----------
[InstallAPI] Don't look for linker directive symbols in reexports (#98171)
`$ld$previous` symbols need to be exported for them to be seen by
clients. TAPI cannot omit them in tbd files, so account for this in
installapi verification when handling reexport verification.
Reviewed internally by Zixu Wang
resolves: rdar://131317591
Commit: 6556ba66b278c97b8461a24088e7924bdea52e02
https://github.com/llvm/llvm-project/commit/6556ba66b278c97b8461a24088e7924bdea52e02
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M offload/test/mapping/prelock.cpp
M offload/test/offloading/memory_manager.cpp
Log Message:
-----------
[Offload][test]Fix typo of requires (#98327)
Typos in 8823448807f3b1a1362d1417e062d763734e02f5.
Commit: 4753f8e8f678411c72759e682a03d1a0218c0b88
https://github.com/llvm/llvm-project/commit/4753f8e8f678411c72759e682a03d1a0218c0b88
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[analyzer][docs] Add clang-19 release notes for CSA (#97418)
The day is coming for creating the release branch for clang-19,
[scheduled](https://discourse.llvm.org/t/llvm-19-release-schedule-and-planning/79828)
for the 23rd of July.
Let's start syncing the ReleaseNotes, and be proud of what we achieved
since clang-18.
After this is merged, let's try to keep the ReleaseNotes in sync with
the changes.
Commit: 0162df03cd51e5207310424f2a83b7670c3c2ade
https://github.com/llvm/llvm-project/commit/0162df03cd51e5207310424f2a83b7670c3c2ade
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Clang] Fix null pointer dereference in VisitUsingEnumDecl (#97910)
This patch addresses static analyzer concern where TSI could be
dereferenced after being assigned a null value from SubstType in
clang::TemplateDeclInstantiator::VisitUsingEnumDecl(clang::UsingEnumDecl
*).
The fix now checks null value of TSI after the call to SubstType and
return nullptr to prevent potential null pointer dereferences when
calling UsingEnumDecl::Create() and ensures safe execution.
Commit: e03f66516dd75750d6792e2a93e0bb705b591a7a
https://github.com/llvm/llvm-project/commit/e03f66516dd75750d6792e2a93e0bb705b591a7a
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Clang][ARM] Call constructor on BranchTargetInfo. (#98307)
Otherwise members will be uninitialised.
Commit: 8210087beebe173e1ace7a0311adf942294c62c9
https://github.com/llvm/llvm-project/commit/8210087beebe173e1ace7a0311adf942294c62c9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
Log Message:
-----------
[lldb][test] Disable flakey TestMultipleDebuggers on Linux
This has been flakey lately on Linux on the buildbots and in CI
on PRs.
For example:
https://lab.llvm.org/buildbot/#/builders/59/builds/1324
https://github.com/llvm/llvm-project/pull/98237
I will try to track down the cause tomorrow.
Commit: 588a6d7de612bd19dc262563978711233b74e783
https://github.com/llvm/llvm-project/commit/588a6d7de612bd19dc262563978711233b74e783
Author: Chris Copeland <chris at chrisnc.net>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/arm-interrupt-attr.c
Log Message:
-----------
[clang][ARM] Fix warning for using VFP from interrupts. (#91870)
[clang][ARM] Fix warning for using VFP from interrupts.
This warning has three issues:
- The interrupt attribute causes the function to return using an
exception
return instruction. This warning allows calls from one function with
the interrupt attribute to another, and the diagnostic text suggests
that not having the attribute on the callee is a problem. Actually
making such a call will lead to a double exception return, which is
unpredictable according to the ARM architecture manual section
B9.1.1, "Restrictions on exception return instructions". Even on
machines where an exception return from user/system mode is
tolerated, if the callee's interrupt type is anything other than a
supervisor call or secure monitor call, it will also return to a
different address than a normal function would. For example,
returning from an "IRQ" handler will return to lr - 4, which will
generally result in calling the same function again.
- The interrupt attribute currently does not cause caller-saved VFP
registers to be saved and restored if they are used, so putting
__attribute__((interrupt)) on a called function doesn't prevent it
from clobbering VFP state.
- It is part of the -Wextra diagnostic group and can't be individually
disabled when using -Wextra, which also means the diagnostic text of
this specific warning appears in the documentation of -Wextra.
This change addresses all three issues by instead generating a warning
for any interrupt handler where the vfp feature is enabled. The warning
is
also given its own diagnostic group.
Closes #34876.
[clang][ARM] Emit an error when an interrupt handler is called.
Closes #95359.
Commit: deeb936863f26e124cc870319148b0576266f11c
https://github.com/llvm/llvm-project/commit/deeb936863f26e124cc870319148b0576266f11c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/format.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++][format] define __cpp_lib_format. (#98275)
In order to define the format __cpp_lib_format to its initial value
(201907) these papers need to be completed:
- P0645R10 Text Formatting
- P1652R1 Printf corner cases in std::format
- 1361R2 Integration of chrono with text formatting The first two have
been implemented for a while the latter is almost done.
The next value (202106) requires:
- P2216R3 std::format improvements which has been implemented
The next value (202110) requires:
- P2418R2 Add support for std::generator-like types to std::format
- P2372R3 Fixing locale handling in chrono formatters The first one has
been implemented for a while the latter is almost done. The latter paper
is a DR against 1361R2 and both are implemented at the same time.
We've had user feedback that the missing of the __cpp_lib_format makes
their lives harder (https://github.com/llvm/llvm-project/issues/77773).
The missing papers 1361R2 and P2372R3 are very close to completion and
might completed before LLVM-19, but it will be a close call. This has
been discussed in the monthly libc++ meeting and we decided to set the
__cpp_lib_format so it will be set in LLVM-19.
Based on the discussion and the implementation status the
__cpp_lib_format is set to 202110.
Fixes #77773
Commit: 6002e2fd49537e942e819e5d1e6f07481fd1229e
https://github.com/llvm/llvm-project/commit/6002e2fd49537e942e819e5d1e6f07481fd1229e
Author: Daniel Krupp <daniel.krupp at ericsson.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
Log Message:
-----------
[analyzer] Split TaintPropagation checker into reporting and modeling checkers (#98157)
Taint propagation is a a generic modeling feature of the Clang Static
Analyzer which many other checkers depend on. Therefore
GenericTaintChecker is split into a TaintPropagation modeling checker
and a GenericTaint reporting checker.
Commit: 0fa20c55b58deb94090985a5c5ffda4d5ceb3cd1
https://github.com/llvm/llvm-project/commit/0fa20c55b58deb94090985a5c5ffda4d5ceb3cd1
Author: Trass3r <trass3r at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/test/Driver/ftime-trace-sections.py
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/StandardInstrumentations.cpp
Log Message:
-----------
demangle function names in trace files (#87626)
This improves consistency in the trace files as other entries are
demangled too.
Submitted by jamieschmeiser on behalf of trass3r
@jamieschmeiser @An-DJ
Commit: 77ec20c2fcfe1578bd62258cc5e185236d2abf81
https://github.com/llvm/llvm-project/commit/77ec20c2fcfe1578bd62258cc5e185236d2abf81
Author: Kefu Chai <kefu.chai at scylladb.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
Log Message:
-----------
[clang-tidy] let UseAfterMoveFinder::find() return an optional<UseAfterMove> (#98100)
before this change, we use an output parameter so
`UseAfterMoveFinder::find()` can return the found `UseAfterMove`, and
addition to it, `UseAfterMoveFinder::find()` return a bool, so we can
tell if a use-after-free is identified. this arrangement could be
confusing when one needs to understand when the each member variable of
the returned `UseAfterMove` instance is initialized.
in this change, we return an `std::optional<UseAfterMove>` instead of a
bool, so that it's more obvious on when/where the returned
`UseAfterMove` is initialized.
this change is a cleanup. so it does not change the behavior of this
check.
Signed-off-by: Kefu Chai <kefu.chai at scylladb.com>
Commit: b9496a74eb4029629ca2e440c5441614e766f773
https://github.com/llvm/llvm-project/commit/b9496a74eb4029629ca2e440c5441614e766f773
Author: Kevin Frei <freik at meta.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/include/lldb/Host/Config.h.cmake
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBDebugger.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
[lldb] DebugInfoD tests & fixes (but with dwp testing disabled) (#98344)
This is all the tests and fixes I've had percolating since my first
attempt at this in January. After 6 months of trying, I've given up on
adding the ability to test DWP files in LLDB API tests. I've left both
the tests (disabled) and the changes to Makefile.rules in place, in the
hopes that someone who can configure the build bots will be able to
enable the tests once a non-borked dwp tool is widely available.
Other than disabling the DWP tests, this continues to be the same diff
that I've tried to land and
[not](https://github.com/llvm/llvm-project/pull/90622)
[revert](https://github.com/llvm/llvm-project/pull/87676)
[five](https://github.com/llvm/llvm-project/pull/86812)
[times](https://github.com/llvm/llvm-project/pull/85693)
[before](https://github.com/llvm/llvm-project/pull/96802). There are a
couple of fixes that the testing exposed, and I've abandoned the DWP
tests because I want to get those fixes finally upstreamed, as without
them DebugInfoD is less useful.
Commit: eae174c724de5d3174e3232f40b006a0e0641ed3
https://github.com/llvm/llvm-project/commit/eae174c724de5d3174e3232f40b006a0e0641ed3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/chrono
M libcxx/modules/std/chrono.inc
M libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp
Log Message:
-----------
[libc++][TZDB] Implements zoned_seconds typedef. (#95141)
Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
Commit: e3fe8eee3cf2de6acb3ee30f10ad57da2774631e
https://github.com/llvm/llvm-project/commit/e3fe8eee3cf2de6acb3ee30f10ad57da2774631e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port #87626 (#98348)
Commit: 3c8b18bc512ad87b379b4b7c06d52ca2d13860b2
https://github.com/llvm/llvm-project/commit/3c8b18bc512ad87b379b4b7c06d52ca2d13860b2
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[lld-macho] Use larger ordinal encoding if import count requires it (#98305)
The default `dyld_chained_import` entry format only allocates 8 bits to
the library ordinal, of which values 0xF1 - 0xFF are reserved for
special ordinals (`BIND_SPECIAL_DYLIB_*` values). If there are more than
240 imported dylibs (as in the case of component builds of Chromium), we
need to switch to `dyld_chained_import_addend64`, which stores 16-bit
ordinals.
Commit: 8c1bd67dee964f286ad78a76a7e87f0284b47ebb
https://github.com/llvm/llvm-project/commit/8c1bd67dee964f286ad78a76a7e87f0284b47ebb
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/test/Verifier/memprof-metadata-bad.ll
Log Message:
-----------
[MemProf] Optionally print or record the profiled sizes of allocations (#98248)
This is the first step in being able to track the total profiled sizes
of allocations successfully marked as cold.
Under a new option -memprof-report-hinted-sizes:
- For unambiguous (non-context-sensitive) allocations, print the
profiled size and the allocation coldness, along with a hash of the
allocation's location (to allow for deduplication across modules or
inline instances).
- For context sensitive allocations, add the size as a 3rd operand on
the MIB metadata. A follow on patch will propagate this through to the
thin link where the sizes will be reported for each context after
cloning.
Commit: 4f8b2fff6df74df4a2736630148e7c29a566bb06
https://github.com/llvm/llvm-project/commit/4f8b2fff6df74df4a2736630148e7c29a566bb06
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Use break instead of continue to leave do while (false) loop (NFC) (#97966)
Commit: 953c669b6e0948292455cd65c7e2d6748255039f
https://github.com/llvm/llvm-project/commit/953c669b6e0948292455cd65c7e2d6748255039f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port #98344 (#98349)
Commit: 8d800e6c9014e55ff729f0237efeba246750b12c
https://github.com/llvm/llvm-project/commit/8d800e6c9014e55ff729f0237efeba246750b12c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/CGSCCPassManager.h
M llvm/lib/Analysis/CGSCCPassManager.cpp
M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
Log Message:
-----------
[CGSCC] Remove CGSCCUpdateResult::InvalidatedRefSCCs (#98213)
The RefSCC that a function marked dead is in may still contain valid
SCCs that we want to visit. We rely on InvalidatedSCCs to skip SCCs
containing dead functions.
The addition of RefSCCs in CallGraphUpdater to InvalidatedRefSCCs was
causing asserts as reported in #94815. Fix some more CallGraphUpdater
function deletion methods as well.
Commit: dcf70e16684420ae211dad58dbfacc0430409ab4
https://github.com/llvm/llvm-project/commit/dcf70e16684420ae211dad58dbfacc0430409ab4
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Add -static-libasan alias for -static-libsan. (#98194)
This helps compatibility with gcc, which has (static|shared)-libasan,
but not *-libsan.
Clang currently has
-shared-libasan
-shared-libsan
-static-libsan
This change improves consistency by adding
-static-libasan
Commit: 0df714364a731822590b3da54f33ed0d6ddee873
https://github.com/llvm/llvm-project/commit/0df714364a731822590b3da54f33ed0d6ddee873
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
Log Message:
-----------
[ARM][Mips][PowerPC] Remove unnecessary static_cast creating GISel InstructionSelector. NFC
Some targets only pass a TargetMachine & to their subtarget constructor
and require a static_cast to their target-specific TargetMachine subclass
to create *InstructionSelector.
These 3 targets already have the correct TargetMachine subclass
reference so no cast is needed.
Commit: 88e9c56990c8f892b5f14b844d1934bb8fcf092a
https://github.com/llvm/llvm-project/commit/88e9c56990c8f892b5f14b844d1934bb8fcf092a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/pr36983.ll
Log Message:
-----------
[LV] Don't adjust name of recurrence phi in scalar loop (NFC).
Adjusting the name of the recurrence phi in the scalar loop is a bit
inconsistent, as we do not adjust any other names in the scalar loops
(including other phis).
Remove this adjustment in preparation for
https://github.com/llvm/llvm-project/pull/94760/ and as discussed there.
Commit: a38d5e06326fffca5a67d1865046e6992171019a
https://github.com/llvm/llvm-project/commit/a38d5e06326fffca5a67d1865046e6992171019a
Author: Dmitry Borisenkov <dmitriy.borisenkov89 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Use LAST_INTEGER_VALUETYPE instead of i64 (#98299)
When looking for a largest legal integer type for a target
`TargetLowering::findOptimalMemOpLowering` assumes that `MVT::i64` is
the largets possible integer type. The patch removes this assumption and
uses `MVT::LAST_INTEGER_VALUETYPE` instead.
Commit: 6299681665ae59181c9a082c0b94e6b529a21fbd
https://github.com/llvm/llvm-project/commit/6299681665ae59181c9a082c0b94e6b529a21fbd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Remove unnecessary cast to RISCVTargetMachine in getInstSizeInBytes. NFC
getMCAsmInfo is a method on the base class so we don't need a cast here.
Commit: a972b2e9a4cf1864a57b76b226907f8f1dfe7bba
https://github.com/llvm/llvm-project/commit/a972b2e9a4cf1864a57b76b226907f8f1dfe7bba
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Cleanup RangesBase check (#97840)
Moves check for RangesBase under check for UnitDie. This makes the flow
clearer because we add RangesBase when it is a UnitDie.
Commit: 196ee230fdc9ab90dacfeb846c794f5d0c9d1e0c
https://github.com/llvm/llvm-project/commit/196ee230fdc9ab90dacfeb846c794f5d0c9d1e0c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.h
R clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
A clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
Log Message:
-----------
[Clang] Correctly enable the f16 type for offloading (#98331)
Summary:
There's an extra argument that's required to *actually* enable f16
usage. For whatever reason there's a difference between fp16 and f16,
where fp16 is some weird version that converts between the two. Long
story short, without this the math builtins are blatantly broken.
Commit: 2fa1220a37a3f55b76a29803d8333b3a3937d53a
https://github.com/llvm/llvm-project/commit/2fa1220a37a3f55b76a29803d8333b3a3937d53a
Author: Kevin Frei <freik at meta.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
Log Message:
-----------
Missed disabling the baseline test for DWP stuff (#98351)
This should disable the failing test on the ubuntu build bots
@JDevlieghere (I forgot to disable the 'baseline' test, as it tests the
debugger's basic handling of DWP files, but again, the API
infrastructure doesn't quite support DWP generation)
https://github.com/llvm/llvm-project/pull/98344#issuecomment-2221000566
Commit: b3c450d4dc8f21f70a4fa35bdcbd4bfaf852ccd7
https://github.com/llvm/llvm-project/commit/b3c450d4dc8f21f70a4fa35bdcbd4bfaf852ccd7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[CI][format] Explicitly pass extensions to git-clang-format (take 2) (#98227)
This patch ensures that the CI script controls which file extensions are
considered instead of letting git-clang-format apply its own filtering
rules. In particular, this properly handles libc++ extension-less
headers which were passed to git-clang-format, but then dropped by
the tool as having an unrecognized extension.
This is a second attempt to land 7620fe0d2d1e, which was reverted in
9572388 because it caused formatting not to be enforced for several patches.
The problem was that we'd incorrectly pass the extensions with additional
quoting to git-clang-format. The incorrect quoting has been removed in this
version of the patch.
Commit: 33af4bd7a4c42f55646fa7d2826cd41384ecdece
https://github.com/llvm/llvm-project/commit/33af4bd7a4c42f55646fa7d2826cd41384ecdece
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
A libcxx/docs/ReleaseNotes/20.rst
Log Message:
-----------
[libc++] Add empty release notes file for LLVM 20 (#98355)
While we haven't branched yet, this will make it easier for folks to add
release notes for PRs that won't be merged before the LLVM 19 branch
point.
Commit: 45bc85603a3b96bd8bf39073c2b865aac094ba4b
https://github.com/llvm/llvm-project/commit/45bc85603a3b96bd8bf39073c2b865aac094ba4b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/20.rst
Log Message:
-----------
[libc++][NFC] Add missing upcoming removal to 19 release notes
This upcoming removal was recorded in the release notes for LLVM 19
as part of the deprecation of the C++20 synchronization library in
pre-C++20 modes, but wasn't included in "Upcoming Deprecations and Removals".
Commit: 2642f2dbd1991ea8fc3888d10a9655e889027c9c
https://github.com/llvm/llvm-project/commit/2642f2dbd1991ea8fc3888d10a9655e889027c9c
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[llvm][AArch64] Drop an ignored field on AArch64CPUTestParams. NFC (#98338)
AFAICT, the only use of the field was for the ARM side of this shared
struct.
Commit: 6c97ad4e6838a1172d957df83ec60af646ccacc0
https://github.com/llvm/llvm-project/commit/6c97ad4e6838a1172d957df83ec60af646ccacc0
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
Log Message:
-----------
[libc++][chrono] Fix streaming for unsigned durations. (#97889)
This fixes formatting for durations using the unsigned types unsigned
short, unsigned, unsigned long, and unsigned long long. It does not
allow the unsigned char type. Since the formatting function uses
ostream::operator<< this type probably does not do what it should do.
Note that based on the standard all arithmetic types are allowed,
including bool, char, wchar_t. These types are not implemented either.
Allowing them seems like a defect in the Standard.
No effort is done to support user-defined types; the wording in the
Standard is unclear regarding the constrains for these types.
[LWG 4118](https://cplusplus.github.io/LWG/issue4118) discusses this
issue further.
Fixes https://github.com/llvm/llvm-project/issues/96820
Commit: 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd
https://github.com/llvm/llvm-project/commit/06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
R llvm/test/MC/AArch64/elf_osabi_flags.s
R llvm/test/MC/ELF/osabi-solaris.s
A llvm/test/MC/ELF/osabi.s
Log Message:
-----------
[MC,test] Reorganize OSABI tests
Commit: 1f819f0a79d15ac2ea845186e7396499dd474f57
https://github.com/llvm/llvm-project/commit/1f819f0a79d15ac2ea845186e7396499dd474f57
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
[MC] Remove unused/incorrect postfix MCSection::iterator::operator++
Commit: 6f13c71d31f7aa08bd59c72f7ba4c5c8b1023e40
https://github.com/llvm/llvm-project/commit/6f13c71d31f7aa08bd59c72f7ba4c5c8b1023e40
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
A clang/test/SemaCXX/pr98102.cpp
Log Message:
-----------
[clang] fix sema init crashing on initialization sequences (#98102)
We ran into a FE crash and root caused to `ER.get()` on line 5584 here
being nullptr. I think this is a result of not checking if ER here is
invalid.
Example of crash-on-valid C++
https://gist.github.com/yuxuanchen1997/576dce964666f0f8713fccacf5847138
Note that this crash happens only with `-std=c++20`.
Commit: b81fcd01bde51eb8976b81a2c0c19fc0645cd2ff
https://github.com/llvm/llvm-project/commit/b81fcd01bde51eb8976b81a2c0c19fc0645cd2ff
Author: Chris Apple <cja-private at pm.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[rtsan] Restrict arches and disable android (#98268)
Follow on to #92460 (reporting old android builds failing) and #98264
(powerpc failing to discover gtests).
Getting back to stability by getting back down to a very basic set of
supported arches and OS's. In the future if there is demand we can build
it back up. Especially when I understand how to test these systems, or
have people who want to do the work on them.
---------
Co-authored-by: David Trevelyan <david.trevelyan at gmail.com>
Commit: dc8ea046a516c3bdd0ece306f406c9ea833d4dac
https://github.com/llvm/llvm-project/commit/dc8ea046a516c3bdd0ece306f406c9ea833d4dac
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
Log Message:
-----------
[AMDGPU] Do not use original PHIs in coercion chains (#98063)
It's possible that we are unable to coerce all the incoming values of a
PHINode (A). Thus, we are unable to coerce the PHINode. In this
situation, we previously would add the PHINode back to the ValMap. This
would cause a problem is PhiNode (B) was a user of A. In this scenario,
if B has been coerced, we would hit an assert regarding the incompatible
type between the PHINode and its incoming value.
Deleting non-coerced PHINodes from the map, and propagating the removal
to users, resolves the issue.
Commit: 7e10ad99adb7d586f3ba3c8a9459d0e4fcaa0e33
https://github.com/llvm/llvm-project/commit/7e10ad99adb7d586f3ba3c8a9459d0e4fcaa0e33
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/DebugData.h
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/dwarf4-df-dualcu.test
M bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test
Log Message:
-----------
[BOLT][DWARF] Cleanup buffer initialization for DWO range writer (#97843)
Cleanup buffer initialization for DWO range writer instances to remove
empty buffer at the beginning.
Commit: 6e86e11148474e4ecd49dbf0ca5dd9caddcdbd11
https://github.com/llvm/llvm-project/commit/6e86e11148474e4ecd49dbf0ca5dd9caddcdbd11
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libc/src/__support/FPUtil/nearest_integer.h
Log Message:
-----------
[libc] Use `rint` builtin for rounding on the GPU (#98345)
Summary:
Previously this went through the generic bit-twiddling implementation
instead of using the dedicated GPU instruction. This patch adds this in
to the utility, mirroring the special-casing of the x64 and aarch
targets. This results in much nicer code. The following example shows
the opencl device libs implementation on the left and the LLVM libc on
the right, https://godbolt.org/z/3ch48ccf5. The libc version is
"branchier", but the results seem similar.
Commit: 24619f6aaf1df4ef07c9b495681fb73f58a767c4
https://github.com/llvm/llvm-project/commit/24619f6aaf1df4ef07c9b495681fb73f58a767c4
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV][GISEL] Do not initialize GlobalISel objects unless needed (#98233)
Prior to this commit, we created the GlobalISel objects in the
RISCVSubtarget constructor, even if we are not running GlobalISel. This
patch moves creation of the GlobalISel objects into their getters, which
ensures that we only create these objects if they are actually needed.
This helps since some of the constructors of the GlobalISel objects have
a significant amount of code.
We make the `unique_ptr`s `mutable` since GlobalISel passes only have
access to `const TargetSubtargetInfo` through `MF.getSubtarget()`.
This patch is tested by the fact that all existing RISC-V GlobalISel
tests remain passing.
Commit: a8cabb6fc8eba78c2c4a8a69f4a256da4c1b01c6
https://github.com/llvm/llvm-project/commit/a8cabb6fc8eba78c2c4a8a69f4a256da4c1b01c6
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/MisExpect.cpp
Log Message:
-----------
[llvm][misexpect] Update MisExpect to use provenance tracking metadata (#86610)
With the IR extension added to MD_prof branch weights, we can now easily
distinguish between weights added by `llvm.expect*` intrinsics and
weights from other sources. This patch re-enables the assert checking
for malformed metadata, which should never happen using the
`llvm.expect*` family of intrinsics.
Commit: 9f5756abefc622de543833584e4a25ffa3e9ff02
https://github.com/llvm/llvm-project/commit/9f5756abefc622de543833584e4a25ffa3e9ff02
Author: Scott Linder <Scott.Linder at amd.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/Parser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/AsmParser/Parser.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/CodeGen/MIR/Generic/diexpression.mir
M llvm/unittests/AsmParser/AsmParserTest.cpp
Log Message:
-----------
[MIR] Replace bespoke DIExpression parser
Resolve FIXME by using the LLParser implementation of parseDIExpression
from the MIParser.
Commit: eee5d2d37c761e71d7a406acc112be0c71f4c3af
https://github.com/llvm/llvm-project/commit/eee5d2d37c761e71d7a406acc112be0c71f4c3af
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/tools/driver/cc1_main.cpp
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add ability to list extensions enabled for a target (#98207)
bb83a3d introduced `--print-enabled-extensions` command line option for
AArch64. This patch introduces RISC-V support for this option. This patch
adds documentation for this option.
`riscvExtensionsHelp` is renamed to `printSupportedExtensions` to by
synonymous with AArch64 and so it is clear what that function does.
Commit: 8c664a9f507fb36aaec995a895178d88566ad58f
https://github.com/llvm/llvm-project/commit/8c664a9f507fb36aaec995a895178d88566ad58f
Author: Poseydon42 <vvmposeydon at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/ucmp.ll
Log Message:
-----------
[InstCombine] Fold negation of calls to `ucmp/scmp` by swapping its operands (#98360)
Proofs: https://alive2.llvm.org/ce/z/cp_a36
Commit: c97a8e4bcf6f11d87c7137a4c31c468299687420
https://github.com/llvm/llvm-project/commit/c97a8e4bcf6f11d87c7137a4c31c468299687420
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
Log Message:
-----------
[AMDGPU] Remove unneed static_cast from GCNSubtarget constructor. NFC
RegBankInfo is a std::unique_ptr<AMDGPURegisterBankInfo> so we don't
need the cast.
Commit: ed17431bf7489c87ea81a6a67af5c7c206da0080
https://github.com/llvm/llvm-project/commit/ed17431bf7489c87ea81a6a67af5c7c206da0080
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Log Message:
-----------
[rtsan] Disable ${ARM32}
Still fails after #98268
Commit: d18ca43edc6fed920db86a99ed9f7e3bcafc99d2
https://github.com/llvm/llvm-project/commit/d18ca43edc6fed920db86a99ed9f7e3bcafc99d2
Author: Poseydon42 <vvmposeydon at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/uscmp.ll
Log Message:
-----------
[ConstraintElimination] Add support for UCMP/SCMP intrinsics (#97974)
This adds checks to fold calls to `ucmp`/`scmp` where a comparative
relationship between the arguments can be established.
Commit: 34c544e1cc852d9a1039ff57773db0481c1a79e1
https://github.com/llvm/llvm-project/commit/34c544e1cc852d9a1039ff57773db0481c1a79e1
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][linalg] Remove unused #includes. NFC.
Commit: ed8565cf0b64ea5e88cc94f321b1870bb105d09d
https://github.com/llvm/llvm-project/commit/ed8565cf0b64ea5e88cc94f321b1870bb105d09d
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[sanitizer_common] Block asynchronous signals only (#98200)
This changes the behavior of `BlockSignals` and `ScopedBlockSignals` to
block only asynchronous signals.
This extension is intended to be used in a future fix for MSan (block
async signals during `MsanThread::Destroy`).
Commit: e4b1813bb85d2efe76c2d69781a8dab0698c823b
https://github.com/llvm/llvm-project/commit/e4b1813bb85d2efe76c2d69781a8dab0698c823b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
Fix deps for clean "ninja check-compiler-rt" (#98266)
Without the patch even FileCheck is missing.
Commit: e6352604cda75270b24f55c02eddbd4bc648d537
https://github.com/llvm/llvm-project/commit/e6352604cda75270b24f55c02eddbd4bc648d537
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/lsan/CMakeLists.txt
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/orc/CMakeLists.txt
M compiler-rt/test/rtsan/CMakeLists.txt
M compiler-rt/test/scudo/standalone/CMakeLists.txt
M compiler-rt/test/xray/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks (#98240)
They are checked in the parent CMakeLists in
`compiler_rt_build_runtime` and `compiler_rt_test_runtime`.
There are non-redundant checks when a sanitizer checks
for the presense of another one. They should not be removed.
Commit: dad7442aff5c85ff9141b0d0f231bcd731cbadc6
https://github.com/llvm/llvm-project/commit/dad7442aff5c85ff9141b0d0f231bcd731cbadc6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/BuiltinTests.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
A compiler-rt/cmake/caches/GPU.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Initial support for builtins on GPU targets (#95304)
Summary:
This patch adds initial support to build the `builtins` library for GPU
targets. Primarily this requires adding a few new architectures for
`amdgcn` and `nvptx64`. I built this using the following invocations.
```console
$ cmake ../compiler-rt -DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -GNinja
-DCMAKE_C_COMPILER_TARGET=<nvptx64-nvidia-cuda|amdgcn-amd-amdhsa>
-DCMAKE_CXX_COMPILER_TARGET=<nvptx64-nvidia-cuda|amdgcn-amd-amdhsa>
-DCMAKE_C_COMPILER_WORKS=1 -DCMAKE_CXX_COMPILER_WORKS=1
-DLLVM_CMAKE_DIR=../cmake/Modules -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
-C ../compiler-rt/cmake/caches/GPU.cmake
```
Some pointers would be appreciated for how to test this using a standard
(non-default target only) build.
GPU builds are somewhat finnicky. We only expect this to be built with a
sufficiently new clang, as it's the only compiler that supports the
target and output we distribute. Distribution is done as LLVM-IR blobs
for now.
GPUs have little backward compatibility, so linking object files is
left to a future patch.
More work is necessary to build correctly for all targets and ship into
the correct clang resource directory. Additionally we need to use the
`libc` project's support for running unit tests.
Commit: 145ae81fa4ee55ccb31928109d72166b7c71b831
https://github.com/llvm/llvm-project/commit/145ae81fa4ee55ccb31928109d72166b7c71b831
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/lsan/CMakeLists.txt
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/orc/CMakeLists.txt
M compiler-rt/test/rtsan/CMakeLists.txt
M compiler-rt/test/scudo/standalone/CMakeLists.txt
M compiler-rt/test/xray/CMakeLists.txt
Log Message:
-----------
Revert "[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks" (#98380)
Reverts llvm/llvm-project#98240
https://lab.llvm.org/buildbot/#/builders/109/builds/816
Commit: 694b132177a96a61dac62b3e3d2989a063feafa7
https://github.com/llvm/llvm-project/commit/694b132177a96a61dac62b3e3d2989a063feafa7
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix edge case for stack mapping parsing (#98381)
On some systems (e.g., at least two AArch64 Linux instances), the
process map can have:
```
fffffffdf000-1000000000000 ... [stack]
```
instead of:
```
fffffffdf000- ffffffffffff
```
The stack top value is larger than `GetMaxUserVirtualAddress()`, which
violates the precondition that shadow memory calculations expect. This
patch fixes the issue by saturating off-by-one values (and also adds
checks for more flagrant violations).
This fixes an issue that was observed with DFSan on AArch64 Linux (with
high-entropy ASLR, resulting in ASLR being disabled on some runs):
```
==11057==ERROR: DataflowSanitizer failed to allocate 0x1600000800000 (387028101365760) bytes at address 4fffff800000 (errno: 12)
```
(https://lab.llvm.org/staging/#/builders/90/builds/552/steps/9/logs/stdio)
This was trying to allocate a shadow at `[0x4fffff800000, 0x4fffff800000
+ 0x1600000800000] = [0x4fffff800000, 0x1b00000000000]`. Notice that the
end of the shadow region - an invalid value - is equal to
`MEM_TO_SHADOW(0x1000000000000)`, where `MEM_TO_SHADOW` is defined as
`(mem ^ 0xB00000000000ULL)`.
Commit: dd3aa5eb706eb18a9039e01f9434d432ac468340
https://github.com/llvm/llvm-project/commit/dd3aa5eb706eb18a9039e01f9434d432ac468340
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
Log Message:
-----------
[NVPTX] Update 32-bit NVPTX tests to use 64-bit
Summary:
These used the now-removed `nvptx` target. Because they used
`ptxas-verify` they would then fail since it's been removed. Update
these to 64-bit.
Commit: eb66e31bc2e2b45c5ccc95300b89c48394084e30
https://github.com/llvm/llvm-project/commit/eb66e31bc2e2b45c5ccc95300b89c48394084e30
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
A libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
A libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/timing.h
Log Message:
-----------
[libc] Add Timing Utils for AMDGPU (#96828)
PR for adding AMDGPU timing utils for benchmarking.
I was not able to test this code since I do not have an AMD GPU, but I
was able to successfully compile this code using
-DRUNTIMES_amdgcn-amd-amdhsa_LIBC_GPU_TEST_ARCHITECTURE=gfx90a
-DRUNTIMES_amdgcn-amd-amdhsa_LIBC_GPU_LOADER_EXECUTABLE=echo
-DRUNTIMES_amdgcn_amd-amdhsa_LIBC_GPU_TARGET_ARCHITECTURE=gfx90a to
force the code to compile without having an AMD gpu on my machine.
@jhuber6
Commit: 31c9c41873d06f3029ad200c04819e2e9d33c7e7
https://github.com/llvm/llvm-project/commit/31c9c41873d06f3029ad200c04819e2e9d33c7e7
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__tuple/ignore.h
M libcxx/include/module.modulemap
M libcxx/include/tuple
M libcxx/include/utility
A libcxx/test/std/utilities/tuple/tuple.general/ignore.include.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
A libcxx/test/std/utilities/utility/ignore/ignore.include.compile.pass.cpp
Log Message:
-----------
[libc++][tuple][utility] P2968R2: Make `std::ignore` a first-class object (#97401)
Implements: https://wg21.link/P2968R2
References:
- https://eel.is/c++draft/tuple.general
- https://eel.is/c++draft/tuple.syn
- https://eel.is/c++draft/tuple.creation
- https://github.com/cplusplus/draft/milestone/31
- https://github.com/cplusplus/draft/pull/7109
- https://github.com/cplusplus/papers/issues/1640
- https://cplusplus.github.io/LWG/issue2933
- https://cplusplus.github.io/LWG/issue3978
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 919caa89ee3323228ccb1dd065d86805b34b9b6a
https://github.com/llvm/llvm-project/commit/919caa89ee3323228ccb1dd065d86805b34b9b6a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
Log Message:
-----------
[lldb] Don't crash on malformed filesets (#98388)
The memory read can fail for a malformed fileset. Handle it gracefully
instead of passing a nullptr to the std::string constructor.
rdar://131477833
Commit: 1819323781a7bdb3bbd60fad67da915ae0e59df6
https://github.com/llvm/llvm-project/commit/1819323781a7bdb3bbd60fad67da915ae0e59df6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Store a std::unique_ptr<RISCVRegisterBankInfo> in RISCVSubtarget. NFC (#98375)
Instead of std::unique_ptr<RegisterBankInfo>. This allows us to return a
RISCVRegisterBankInfo* from getRegBankInfo so we can avoid a
static_cast.
This does require an additional header file to be included in
RISCVSubtarget.h, but I don't think it's a big deal.
Commit: 6789e1bb77c030c25ba5686c784bf4966770c324
https://github.com/llvm/llvm-project/commit/6789e1bb77c030c25ba5686c784bf4966770c324
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[sanitizer_common] Fix forward: limit #98200 to Linux only
My patch broke Solaris: https://github.com/llvm/llvm-project/pull/98200#issuecomment-2221463400
Fixing forward by limiting the change to Linux only.
Commit: b96eb76d21dde43c6a92027ac083ad1a95f9dd0b
https://github.com/llvm/llvm-project/commit/b96eb76d21dde43c6a92027ac083ad1a95f9dd0b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/lsan/CMakeLists.txt
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/orc/CMakeLists.txt
M compiler-rt/test/rtsan/CMakeLists.txt
M compiler-rt/test/scudo/standalone/CMakeLists.txt
M compiler-rt/test/xray/CMakeLists.txt
Log Message:
-----------
Revert "Revert "[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks"" (#98395)
Reverts llvm/llvm-project#98380
Probably some incremental build issue, the build before revert was
green:
https://lab.llvm.org/buildbot/#/builders/109/builds/817
Commit: 5cb7e49e737fefb245c7988502e5033d0eb15201
https://github.com/llvm/llvm-project/commit/5cb7e49e737fefb245c7988502e5033d0eb15201
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/objc-category-merging-complete-test.s
Log Message:
-----------
[lld-macho] Fix -no_objc_category_merging flag (#98238)
`-no_objc_category_merging` flag was behaving like
`-objc_category_merging` - i.e. acting to enable category merging.
This is because we were using `hasArg` instead of `hasFlag` to test for
it. Fix this and add test to ensure it behaves as expected.
Commit: 41de50b773c1c146ddafd4d363dab3b492e4485a
https://github.com/llvm/llvm-project/commit/41de50b773c1c146ddafd4d363dab3b492e4485a
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp
M compiler-rt/lib/scudo/standalone/timing.h
Log Message:
-----------
[scudo] Add a maximum value into the timer. (#96989)
Modify the timer code to keep track of the maximum time that any call
takes.
Add a method to get a ScopedString representing the timer data. Allows
the testing of the timer on all platforms.
Add new unit tests for the maximum, and a lot of new tests.
Commit: 5f1bb62c6bb83b9a46e3c6a45999d4468edb11e0
https://github.com/llvm/llvm-project/commit/5f1bb62c6bb83b9a46e3c6a45999d4468edb11e0
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/ptrauth-constant-in-code.ll
M llvm/test/CodeGen/AArch64/ptrauth-constant-in-code.ll
Log Message:
-----------
[AArch64][PAC] Lower ptrauth constants in code for MachO. (#97665)
This also adds support for auth stubs on MachO using __DATA,__auth_ptr.
Some of the machinery for auth stubs is already implemented; this
generalizes that a bit to support MachO, and moves some of the shared
logic into MMIImpls.
In particular, this originally had an AuthStubInfo struct, but we no
longer need it beyond a single MCExpr. So this provides variants of
the symbol stub helper type declarations and functions for "expr
stubs", where a stub points at an arbitrary MCExpr, rather than
a simple MCSymbol (and a bit).
Commit: eb97761b4db4877e8c2507054d94a35154e2ba54
https://github.com/llvm/llvm-project/commit/eb97761b4db4877e8c2507054d94a35154e2ba54
Author: vporpo <vporpodas at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] sandboxir::Use operands (part 1) and uses (part 2) (#98251)
This PR adds the Use class and several operands-related functions to the
User class (part 1) and several uses-related functions to the Value
class (part 2).
Commit: a105113feff58bf568a25d7b45e20b6dde4ccd8f
https://github.com/llvm/llvm-project/commit/a105113feff58bf568a25d7b45e20b6dde4ccd8f
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/header.py
A libc/newhdrgen/yaml/dlfcn.yaml
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/sys_prctl.yaml
M libc/newhdrgen/yaml/unistd.yaml
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] newhdrgen: updated sorting of guarded functions in fuction generation (#98241)
In yaml_to_classes.py, changed order of adding functions so that guarded
functions appear after regular functions. Guarded functions will still
be alphabetically sorted within each guard. Each group of guarded
functions will appear in alphabetical order of the guard name.
Fixed issus in math.yaml such as missing guards.
Fixed Function class for spacing issues and the order in which
attributes are listed in the function header.
Deleted extra whitespace in the last line of unistd.yaml.
Commit: 9392b45ef4720f470ffc11fb052f397c92758a16
https://github.com/llvm/llvm-project/commit/9392b45ef4720f470ffc11fb052f397c92758a16
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Revert "[SandboxIR] sandboxir::Use operands (part 1) and uses (part 2) (#98251)"
This reverts commit eb97761b4db4877e8c2507054d94a35154e2ba54.
Commit: 9865171e24961d9ae85d7183d5f52c44b82a9c58
https://github.com/llvm/llvm-project/commit/9865171e24961d9ae85d7183d5f52c44b82a9c58
Author: Amara Emerson <amara at apple.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
A llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
Log Message:
-----------
[AArch64] Add -mlr-for-calls-only to replace the now removed -ffixed-x30 flag. (#98073)
This re-introduces the effective behaviour that was reverted in
7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77.
This time we're not using the same mechanism, exposing another
reservation feature
that prevents only regalloc from using the register, but not for other
required uses
like ABIs.
This also fixes a consequent issue with reserving LR, which is that
frame lowering
was only adding live-in flags for non-reserved regs. This would cause
issues later
since the outliner needs accurate flags to determine when LR needs to be
preserved.
rdar://131313095
Commit: 388c55a3e676a75ac242ff4f2db3fa39e5f0b0a3
https://github.com/llvm/llvm-project/commit/388c55a3e676a75ac242ff4f2db3fa39e5f0b0a3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/CMakeLists.txt
Log Message:
-----------
[lsan][ubsan] Use compiler_rt_build_runtime
Missed by #98240
Commit: 797a2ec6bba2147301205e1acf3a219d7cf93d8e
https://github.com/llvm/llvm-project/commit/797a2ec6bba2147301205e1acf3a219d7cf93d8e
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Reapply "[SandboxIR] sandboxir::Use operands (part 1) and uses (part 2) (#98251)"
This reverts commit 9392b45ef4720f470ffc11fb052f397c92758a16.
Commit: f7c673da00e5b0a4b14d059cfdbd7655259fd74c
https://github.com/llvm/llvm-project/commit/f7c673da00e5b0a4b14d059cfdbd7655259fd74c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libc/src/__support/macros/sanitizer.h
Log Message:
-----------
[libc] Clean up sanitizer macros
https://reviews.llvm.org/D99598 introduced some unneeded macros
including `ADDRESS_SANITIZER` and `MEMORY_SANITIZER`. The definitions
appeared to be from older absl/base/internal/dynamic_annotations.h,
which has then been cleaned up.
`ADDRESS_SANITIZER` is not defined by compilers. Some Bazel users define
it as part of --config=asan. If a translation unit specifies
-fno-sanitize=address, libc/src/__support/macros/sanitizer.h and
sanitizer/asan_interface.h will define ASAN_POISON_MEMORY_REGION
differently, leading to
```
libc/src/__support/macros/sanitizer.h:66:9: error: 'ASAN_UNPOISON_MEMORY_REGION' macro redefined [-Werror,-Wmacro-redefined]
66 | #define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
| ^
```
To fix this issue, just remove unneeded macros.
Pull Request: https://github.com/llvm/llvm-project/pull/98402
Commit: 131eb30584333b61888735b4fefe53dd25b741e0
https://github.com/llvm/llvm-project/commit/131eb30584333b61888735b4fefe53dd25b741e0
Author: Shaw Young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/HashUtilities.h
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/match-functions-with-calls-as-anchors.test
Log Message:
-----------
[BOLT] Match blocks with calls as anchors (#96596)
Added another hash level – call hash – following opcode hash matching
for stale block matching. Call hash strings are the concatenation of the
lexicographically ordered names of each blocks’ called functions. This
change bolsters block matching in cases where some instructions have
been removed or added but calls remain constant.
Test Plan: added match-functions-with-calls-as-anchors.test.
Commit: 8146aeef41e9a3a272b2d0017c0e94f0e387ae08
https://github.com/llvm/llvm-project/commit/8146aeef41e9a3a272b2d0017c0e94f0e387ae08
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
Log Message:
-----------
NFC: clang-format X86IntrinsicsInfo.h.
(To reduce noise from a future real change, since changes in these
giant arrays trigger a reformat of the whole array.)
Commit: ed09637c496dee37b23d73040dff6f7a4805c53a
https://github.com/llvm/llvm-project/commit/ed09637c496dee37b23d73040dff6f7a4805c53a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[NFC] Move HWASAN_SUPPORTED_ARCH close to COMPILER_RT_HAS_ASAN
Commit: 541f22ee361a8b3029ac898db29d3e9184fb1671
https://github.com/llvm/llvm-project/commit/541f22ee361a8b3029ac898db29d3e9184fb1671
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/include/lldb/API/SBLanguageRuntime.h
M lldb/include/lldb/Target/Language.h
M lldb/source/API/SBLanguageRuntime.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Support throw and catch exception breakpoints for dynamica… (#97871)
…lly registered languages
First of all, this is done to support exceptions for the Mojo language,
but it's done in a way that will benefit any other plugin language.
1. I added a new lldb-dap CLI argument (not DAP field) called
`pre-init-commands`. These commands are executed before DAP
initialization. The other `init-commands` are executed after DAP
initialization. It's worth mentioning that the debug adapter returns to
VSCode the list of supported exception breakpoints during DAP
initialization, which means that I need to register the Mojo plugin
before that initialization step, hence the need for `pre-init-commands`.
In general, language plugins should be registered in that step, as they
affect the capabilities of the debugger.
2. I added a set of APIs for lldb-dap to query information of each
language related to exception breakpoints. E.g. whether a language
supports throw or catch breakpoints, how the throw keyword is called in
each particular language, etc.
3. I'm realizing that the Swift support for exception breakpoints in
lldb-dap should have been implemented in this way, instead of hardcoding
it.
Commit: 56069ab1a35e74d0d8d632121e1891d41cb56a2d
https://github.com/llvm/llvm-project/commit/56069ab1a35e74d0d8d632121e1891d41cb56a2d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
Log Message:
-----------
[bazel] Port #96596 (#98411)
This change added a circular dependency in the profile and core headers,
so this splits out a target with just the headers for use by the core
library.
Commit: d38a8e937b51f52ab4c324b99d984d3031833b63
https://github.com/llvm/llvm-project/commit/d38a8e937b51f52ab4c324b99d984d3031833b63
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/lsan/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
Log Message:
-----------
Undo lsan part of #98240 (#98409)
Undo lsan, ubsan from #98240 and
388c55a3e676a75ac242ff4f2db3fa39e5f0b0a3
There are parts which do not check COMPILER_RT_HAS_*.
Commit: 8ab1dd3c5196960a42965081fdf521b367e8607a
https://github.com/llvm/llvm-project/commit/8ab1dd3c5196960a42965081fdf521b367e8607a
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
M llvm/test/tools/dsymutil/ARM/discriminator.test
A llvm/test/tools/dsymutil/ARM/discriminator_repeated.test
A llvm/test/tools/dsymutil/Inputs/discriminator_repeated.arm64.dylib
A llvm/test/tools/dsymutil/Inputs/discriminator_repeated.arm64.o
Log Message:
-----------
[DWARFLinker] Allow emission of repeated identical discriminators (#98255)
Zero discriminator for each row in the line-table to correctly emit
repeated but identical discriminators.
Without this patch line-tables like
0x0000000100003bac 12 20 0 0 65 0
0x0000000100003bb4 12 30 0 0 65 0
0x0000000100003bbc 12 28 0 0 65 0
0x0000000100003bcc 12 17 0 0 65 0
get falsely linked as
0x0000000100003bac 12 20 0 0 65 0
0x0000000100003bb4 12 30 0 0 0 0
0x0000000100003bbc 12 28 0 0 0 0
0x0000000100003bcc 12 17 0 0 0 0
Commit: b1e03d3d2960c879066b43c228712a52f50e88a3
https://github.com/llvm/llvm-project/commit/b1e03d3d2960c879066b43c228712a52f50e88a3
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libc/src/__support/macros/sanitizer.h
Log Message:
-----------
[libc] Restore LIBC_HAVE_ADDRESS_SANITIZER as it is used by some tests
Follow-up to #98402
Commit: 54c32becf0991e60261bf8e80caee43cc6c0d65f
https://github.com/llvm/llvm-project/commit/54c32becf0991e60261bf8e80caee43cc6c0d65f
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HLSL.h
M clang/test/Driver/dxc_debug.hlsl
Log Message:
-----------
[HLSL] Set default DwarfVersion to 4 for HLSL. (#97854)
Set default DwarfVersion to 4 for HLSL to match DXIL which does not
support DwarfVersion 5.
Based on
https://registry.khronos.org/SPIR-V/specs/unified1/DebugInfo.html SPIRV
is currently using Dwarf4 as well.
This is for the Dwarf Version 5 part of #96912.
Commit: 9324c952e5d4744f86fc87662dee387134915bf0
https://github.com/llvm/llvm-project/commit/9324c952e5d4744f86fc87662dee387134915bf0
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] -fsanitize=numerical: work with ubsan and support -shared-libsan
* `-fsanitize=numerical,undefined`: don't link in the ubsan standalone
runtime.
* `-shared-libsan`: link against `libclang_rt.nsan.so`
The compiler-rt part will be properly fixed by #98415
Commit: cda245a339da2857406e288e0a11e8f9794ca4c4
https://github.com/llvm/llvm-project/commit/cda245a339da2857406e288e0a11e8f9794ca4c4
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
Log Message:
-----------
[RISCV] Expand vp.stride.load to splat of a scalar load. (#98140)
It's a similar patch as a214c521f8763b36dd400b89017f74ad5ae4b6c7 for
vp.stride.load. Some targets prefer pattern (vmv.v.x (load)) instead of
vlse with zero stride.
It's IR version of #97798.
Commit: e274d5f6ac729e0d4b1fa76f9610c397789656d7
https://github.com/llvm/llvm-project/commit/e274d5f6ac729e0d4b1fa76f9610c397789656d7
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[MCP] Use MCRegUnit as the key type of CopyTracker::Copies map. NFC. (#98277)
`CopyTracker` is in fact tracking at RegUnit level, not MCRegister.
Commit: 14fb6162a97e60a8aefcb0702a713f7a50205fce
https://github.com/llvm/llvm-project/commit/14fb6162a97e60a8aefcb0702a713f7a50205fce
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port b9496a74eb40
Commit: cea7bad732eb8d87a9305db859e87eb833fa3225
https://github.com/llvm/llvm-project/commit/cea7bad732eb8d87a9305db859e87eb833fa3225
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
Log Message:
-----------
Revert "[RISCV] Expand vp.stride.load to splat of a scalar load." (#98422)
Reverts llvm/llvm-project#98140
Breaks tests, see comments on the PR.
Commit: a75322c3c4905a20758c41e4f4d7304d6ca15f3d
https://github.com/llvm/llvm-project/commit/a75322c3c4905a20758c41e4f4d7304d6ca15f3d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/CMakeLists.txt
Log Message:
-----------
Fix typo in #98409
Commit: 1428004aaa308c6417e4401a17b676fa5a886f62
https://github.com/llvm/llvm-project/commit/1428004aaa308c6417e4401a17b676fa5a886f62
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 31c9c41873d0
Commit: ae9bab563ac0320ae1d619ea35a5accc173cae03
https://github.com/llvm/llvm-project/commit/ae9bab563ac0320ae1d619ea35a5accc173cae03
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/msan/msan_thread.cpp
Log Message:
-----------
[NFC] Clang-format the file
Commit: 80ff3acd364810ec11efd45c2ce98a1bf9ce0f73
https://github.com/llvm/llvm-project/commit/80ff3acd364810ec11efd45c2ce98a1bf9ce0f73
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.h
M compiler-rt/lib/nsan/nsan.syms.extra
M compiler-rt/lib/nsan/nsan_interceptors.cpp
A compiler-rt/lib/nsan/nsan_malloc_linux.cpp
Log Message:
-----------
[nsan] Add shared runtime
so that `clang -fsanitize=numerical -shared-libsan` will use
`libclang_rt.nsan.so` on Linux.
Shared runtime is preferred for some platforms (Android, Apple, Fuchsia;
though they are not supported yet) and helps plugin use cases (#98302).
* Update `ninja nsan` to build `libclang_rt.nsan.so`
* Fix `nsan.syms.extra`: `nsan_*` is unneeded. Add `__ubsan_*` so that
`-fsanitize=numerical,undefined -shared-libsan` works.
* Move allocation functions to `nsan_malloc_linux.cpp`. While Apple
platforms aren't supported yet, this separation makes it easier to add
Apple support.
* Delete interceptors for very obsoleted pvalloc/valloc but retain
memalign.
* Replace `HandleEarlyAlloc` with `DlsymAlloc`.
Pull Request: https://github.com/llvm/llvm-project/pull/98415
Commit: 1b3e376ec0a77f7d7d20d0d32047678dafa142ae
https://github.com/llvm/llvm-project/commit/1b3e376ec0a77f7d7d20d0d32047678dafa142ae
Author: Alexander Qi <xdqi at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lld/ELF/Driver.cpp
A lld/test/ELF/wrap-weak.s
Log Message:
-----------
[lld][ELF] --wrap: Make X weak when __real_X is to avoid undefined symbol errors (#98297)
Fix #98294.
When you specify --wrap=foo, sometimes foo is undefined in any context.
If you declare __real_foo as weak, GNU ld will not attempt to find the
strong symbol foo, instead, it generates a weak undefined symbol.
This pull request imitates this behavior by copying the binding
attribute from __real_foo to foo.
Commit: a31cbd242e03c3994c852bc96e53a4539ce29c95
https://github.com/llvm/llvm-project/commit/a31cbd242e03c3994c852bc96e53a4539ce29c95
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
Revert "[rtsan] Restrict arches and disable android (#98268)"
Some failures in Rtsan-aarch64-NoInstTest have been reported.
This reverts commit ed17431bf7489c87ea81a6a67af5c7c206da0080.
This reverts commit b81fcd01bde51eb8976b81a2c0c19fc0645cd2ff.
Commit: 4052de6cb52e2d902a10b49ffc13bb4085ca092a
https://github.com/llvm/llvm-project/commit/4052de6cb52e2d902a10b49ffc13bb4085ca092a
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
Log Message:
-----------
[tsan] Fix calculation of shadow end address in MemoryAccessRangeT (#98404)
MemoryAccessRangeT overestimates the size of the shadow region by 8x,
occasionally leading to assertion failure:
```
RawShadow* shadow_mem = MemToShadow(addr);
...
// Check that end of shadow is valid
if (!IsShadowMem(shadow_mem + size * kShadowCnt - 1)) {
DCHECK(IsShadowMem(shadow_mem + size * kShadowCnt - 1));
```
It is erroneous for two separate reasons:
- it uses kShadowCnt (== 4) instead of kShadowMultiplier (== 2)
- since shadow_mem is a RawShadow*, pointer arithmetic is multiplied by
sizeof(RawShadow) == 4
This patch fixes the calculation, and also improves the debugging
information.
The assertion error was observed on a buildbot
(https://lab.llvm.org/staging/#/builders/89/builds/656/steps/13/logs/stdio):
```
Bad shadow addr 0x3000000190bc (7fffffffe85f)
ThreadSanitizer: CHECK failed: tsan_rtl_access.cpp:690 "((IsShadowMem(shadow_mem + size * kShadowCnt - 1))) != (0)" (0x0, 0x0) (tid=2202676)
```
Notice that 0x3000000190bc is not the correct shadow for the end address
0x7fffffffe85f.
This error is more commonly observed on high-entropy ASLR systems, since
ASLR may be disabled (if the randomized memory layout is incompatible),
leading to an allocation near the boundaries of the high app memory
region (and therefore a shadow end that may be erroneously calculated to
be past the end of the shadow region). Also note that the assertion is
guarded by SANITIZER_DEBUG.
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 45f4249217dad132350ae61d595025173364164e
https://github.com/llvm/llvm-project/commit/45f4249217dad132350ae61d595025173364164e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
Log Message:
-----------
[symbolizer] Update symbol list for Ubuntu 24.04
Commit: cb3bc5be9c20d893adf94cdf436092657ab5ab40
https://github.com/llvm/llvm-project/commit/cb3bc5be9c20d893adf94cdf436092657ab5ab40
Author: Mogball <jeff at modular.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/include/mlir/IR/DialectInterface.h
Log Message:
-----------
[mlir] Fix build breakage on some systems
Some includes were shuffled around in LLVM support headers, causing
`<vector>` to no longer be included in certain files. Depending on the
system stdlib, the header might not transitively get included. Adding
`<vector>` to `DialectInterface.h` fixes a build breakage on some
systems
Commit: c5e5088033fed170068d818c54af6862e449b545
https://github.com/llvm/llvm-project/commit/c5e5088033fed170068d818c54af6862e449b545
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
[CodeGen] Remove `applySplitCriticalEdges` in `MachineDominatorTree` (#97055)
Summary:
- Remove wrappers in `MachineDominatorTree`.
- Remove `MachineDominatorTree` update code in
`MachineBasicBlock::SplitCriticalEdge`.
- Use `MachineDomTreeUpdater` in passes which call
`MachineBasicBlock::SplitCriticalEdge` and preserve
`MachineDominatorTreeWrapperPass` or CFG analyses.
Commit abea99f65a97248974c02a5544eaf25fc4240056 introduced related
methods in 2014. Now we have SemiNCA based dominator tree in 2017 and
dominator tree updater, the solution adopted here seems a bit outdated.
Commit: 3c5f929ad093a2053b3194474609f1fc3eb15431
https://github.com/llvm/llvm-project/commit/3c5f929ad093a2053b3194474609f1fc3eb15431
Author: R <rqou00 at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xwchc-compress.s
A llvm/test/MC/RISCV/xwchc-invalid.s
A llvm/test/MC/RISCV/xwchc-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add QingKe "XW" compressed opcode extension (#97925)
This extension consists of 8 additional 16-bit compressed forms for
existing standard load/store opcodes.
These opcodes are found in some RISC-V microcontrollers from WCH /
Nanjing Qinheng Microelectronics.
As discussed in the Discourse forums, this uses incompatible extension
and opcode names vs the vendor binary toolchain. The chosen names
instead follow the conventions for other vendor extensions listed on the
"riscv-non-isa" project.
Commit: 502a40ac7074a6f63cc87dd19110246e9dd5c07c
https://github.com/llvm/llvm-project/commit/502a40ac7074a6f63cc87dd19110246e9dd5c07c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/test/CMakeLists.txt
Log Message:
-----------
[CFI Simplify condition for testing
Helps to avoid failures like https://lab.llvm.org/buildbot/#/builders/76/builds/844
after #98395.
Commit: f43ad50b7e353a6a67647bf3bb44c2d5cafe62c4
https://github.com/llvm/llvm-project/commit/f43ad50b7e353a6a67647bf3bb44c2d5cafe62c4
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[SandboxIR][NFC] Refactor Function::dumpNameAndArgs()
Commit: 6db0a3f853c901fd47d9d8b715c8d68ece2837c4
https://github.com/llvm/llvm-project/commit/6db0a3f853c901fd47d9d8b715c8d68ece2837c4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[SandboxIR] Fix a warning
This patch fixes:
llvm/lib/SandboxIR/SandboxIR.cpp:282:8: error: lambda capture 'this'
is not used [-Werror,-Wunused-lambda-capture]
Commit: a92bcb20b8cfeb74852ccade1651cdf4d1f296de
https://github.com/llvm/llvm-project/commit/a92bcb20b8cfeb74852ccade1651cdf4d1f296de
Author: Koakuma <koachan at protonmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/test/MC/Sparc/sparc-asm-errors.s
M llvm/test/MC/Sparc/sparc-cas-instructions.s
M llvm/test/MC/Sparc/sparcv9-instructions.s
Log Message:
-----------
[SPARC][IAS] Reject unknown/unavailable mnemonics early in ParseInstruction
Validate and reject any unknown or unavailable instruction mnemonics early
in ParseInstruction, before any operand parsing is performed. Some operands
(mainly memory ones) can be parsed slightly differently in V8 and V9
assembly language, so by rejecting unknown or unavailable instructions early
we can prevent the error message from being shadowed by the one raised during
operand parsing.
As a side effect this also allows us to tell unknown and unavailable
mnemonics apart, and issue a suggestion in appropriate cases.
This is based on the approach taken by the MIPS backend.
Reviewers: brad0, rorth, s-barannikov, jrtc27
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/96021
Commit: cd6750fa5fddbd0783243711bfc2f7880736586e
https://github.com/llvm/llvm-project/commit/cd6750fa5fddbd0783243711bfc2f7880736586e
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][NFC] Add a newline when using --print-enabled-extensions (#98425)
The `--print-enabled-extensions` has been introduced in the
https://github.com/llvm/llvm-project/pull/98207 , but it seems to be
missing a newline in the end.
Commit: 2cec041a103137343e1019f6f883bdcdf60db708
https://github.com/llvm/llvm-project/commit/2cec041a103137343e1019f6f883bdcdf60db708
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
A compiler-rt/lib/nsan/nsan_preinit.cpp
Log Message:
-----------
[nsan] Add nsan_preinit.cpp and make it static library only
#94322 defines .preinit_array to initialize nsan early.
DT_PREINIT_ARRAY can only be used with the main executable. GNU ld would
complain when a DSO has .preinit_array .
Commit: d9d977f6e4177a241057d50e6edf74cad1bafa89
https://github.com/llvm/llvm-project/commit/d9d977f6e4177a241057d50e6edf74cad1bafa89
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
Log Message:
-----------
Fix assert for [CGData] Outlined Hash Tree #89792 (#98383)
Commit: 4710e0f498cb661ca17c99cb174616102fcad923
https://github.com/llvm/llvm-project/commit/4710e0f498cb661ca17c99cb174616102fcad923
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/TargetInfo.cpp
Log Message:
-----------
[NFC][Clang] Move functions of BranchProtectionInfo out of line (#98329)
Also let's add const to the setFnAttributes.
Commit: dbd00a5968d6c823d686714c91f2b4fcfd03797a
https://github.com/llvm/llvm-project/commit/dbd00a5968d6c823d686714c91f2b4fcfd03797a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/SpecConstants/restore-spec-type.ll
A llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
A llvm/test/CodeGen/SPIRV/pointers/complex.ll
M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy-strided.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
Log Message:
-----------
[SPIRV] Improve type inference of operand presented by opaque pointers and aggregate types (#98035)
This PR improves type inference of operand presented by opaque pointers
and aggregate types:
* tries to restore original function return type for aggregate types so
that it's possible to deduce a correct type during emit-intrinsics step
(see llvm/test/CodeGen/SPIRV/SpecConstants/restore-spec-type.ll for the
reproducer of the previously existed issue when spirv-val found a
mismatch between object and ptr types in OpStore due to the incorrect
aggregate types tracing),
* explores untyped pointer operands of store to deduce correct pointee
types,
* creates an extension type to track pointee types from emit-intrinsics
step and further instead of direct and naive usage of TypePointerType
that led previously to crashes due to ban of creation of Value of
TypePointerType type,
* tracks instructions with uncomplete type information and tries to
improve their type info after pass calculated types for all machine
functions (it doesn't traverse a code but rather checks only those
instructions which were tracked as uncompleted),
* address more cases of removing unnecessary bitcasts (see, for example,
changes in test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll where
`CHECK-SPIRV-NEXT` in LIT checks show absence of unneeded bitcasts and
unmangled/mangled versions have proper typing now with equivalent type
info),
* address more cases of well known types or relations between types
within instructions (see, for example, atomic*.ll test cases and
Event-related test cases for improved SPIR-V code generated by the
Backend),
* fix the issue of removing unneeded ptrcast instructions in
pre-legalizer pass that led to creation of new assign-type instructions
with the same argument as source in ptrcast and caused errors in type
inference (the reproducer `complex.ll` test case is added to the PR).
Commit: 0483f14b003cb3a2c0045d8f54523a2e9a266b0f
https://github.com/llvm/llvm-project/commit/0483f14b003cb3a2c0045d8f54523a2e9a266b0f
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][Coroutines] Remove redundant checks for replacing PrepareFns (#98392)
If `Coroutines.empty()` the following loop is going to be skipped
entirely and same goes for `PrepareFns.empty()`. These two conditions
here aren't useful and adds to complexity.
Commit: 7eae9bb856135136cddc4208a2b1546e9db44c9c
https://github.com/llvm/llvm-project/commit/7eae9bb856135136cddc4208a2b1546e9db44c9c
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
Log Message:
-----------
[mlir][scf] Fix doc on `emitNormalizedLoopBounds`, NFC (#98372)
Fix an old comment that doesn't match the function anymore.
Commit: c74ba57e0bd910b2f890f596291f7da23931ed70
https://github.com/llvm/llvm-project/commit/c74ba57e0bd910b2f890f596291f7da23931ed70
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
R llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vlmax-peephole.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
Log Message:
-----------
[RISCV] Convert AVLs with vlenb to VLMAX where possible (#97800)
Given an AVL that's computed from vlenb, if it's equal to VLMAX then we
can replace it with the VLMAX sentinel value.
The main motiviation is to be able to express an EVL of VLMAX in VP
intrinsics whilst emitting vsetvli a0, zero, so that we can replace
llvm.riscv.masked.strided.{load,store} with their VP counterparts.
This is done in RISCVVectorPeephole (previously RISCVFoldMasks, renamed
to account for the fact that it no longer just folds masks) instead of
SelectionDAG since there are multiple places places where VP nodes are
lowered that would have need to have been handled.
This also avoids doing it in RISCVInsertVSETVLI as it's much harder to
lookup the value of the AVL, and in RISCVVectorPeephole we can take
advantage of DeadMachineInstrElim to remove any leftover
PseudoReadVLENBs.
Commit: ccceeeb577878f3e9b7301042f68e37552a3d2c1
https://github.com/llvm/llvm-project/commit/ccceeeb577878f3e9b7301042f68e37552a3d2c1
Author: Connie <60797237+connieyzhu at users.noreply.github.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/test/msan/Linux/sigandorset.cpp
Log Message:
-----------
[compiler-rt][test] Fix typo in stderr redirection (#98397)
This patch fixes a typo in the RUN line where stderr should be
redirected to stdout instead of the other way around.
Commit: b65aba292e0d485de286ec36134375e74b1fb95c
https://github.com/llvm/llvm-project/commit/b65aba292e0d485de286ec36134375e74b1fb95c
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/TargetInfo.cpp
Log Message:
-----------
Revert "[NFC][Clang] Move functions of BranchProtectionInfo out of line" (#98437)
Reverts llvm/llvm-project#98329
Commit: 2ca3f87e89f4a72e9ad5ac8de7267948d8147625
https://github.com/llvm/llvm-project/commit/2ca3f87e89f4a72e9ad5ac8de7267948d8147625
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port c74ba57e0bd9
Commit: 0b15f89182a4b2a4c46ad207fa2e282ad35f12ee
https://github.com/llvm/llvm-project/commit/0b15f89182a4b2a4c46ad207fa2e282ad35f12ee
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
R compiler-rt/lib/nsan/nsan_preinit.cpp
Log Message:
-----------
Revert "[nsan] Add nsan_preinit.cpp and make it static library only"
https://lab.llvm.org/buildbot/#/builders/66/builds/1345
This reverts commit 2cec041a103137343e1019f6f883bdcdf60db708.
Commit: 7868033d2e846fa30c20455ca819fad29d9d795e
https://github.com/llvm/llvm-project/commit/7868033d2e846fa30c20455ca819fad29d9d795e
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/MC/AArch64/armv9.5a-pauthlr.s
M llvm/test/MC/Disassembler/AArch64/armv9.5a-pauthlr.txt
Log Message:
-----------
[AArch64] Update AUTIxSPPC and RETAxSPPC instructions for registers (#98303)
As of the 2024.06 Arm Architecture release, the register variants of the
AUTIxSPPC and RETAxSPPC instructions have been updated to be explicitly
different to the immediate variant. The instructions now follow the
format AUTIxSPPCR and RETAxSPPCR for the register variants, with the
immediate variants keeping their current form.
The Specs can be found at the following locations
AUTIASPPCR:
https://developer.arm.com/documentation/ddi0602/2024-06/Base-Instructions/AUTIASPPCR--Authenticate-return-address-using-key-A--using-a-register-?lang=en
AUTIBSPPCR:
https://developer.arm.com/documentation/ddi0602/2024-06/Base-Instructions/AUTIBSPPCR--Authenticate-return-address-using-key-B--using-a-register-?lang=en
RETAASPPCR and RETABSPPCR:
https://developer.arm.com/documentation/ddi0602/2024-06/Base-Instructions/RETAASPPCR--RETABSPPCR--Return-from-subroutine--with-enhanced-pointer-authentication-return-using-a-register-?lang=en
Commit: 6a907699d8b4fb35a843ab8fd84ca56ed93fc201
https://github.com/llvm/llvm-project/commit/6a907699d8b4fb35a843ab8fd84ca56ed93fc201
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
Revert "[CodeGen] Remove `applySplitCriticalEdges` in `MachineDominatorTree` (#97055)"
This reverts commit c5e5088033fed170068d818c54af6862e449b545.
Causes large compile-time regressions.
Commit: a18f45f556c781d711f82043bf451fcce8324163
https://github.com/llvm/llvm-project/commit/a18f45f556c781d711f82043bf451fcce8324163
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
Log Message:
-----------
[lldb] Fix string truncation method when substring is the prefix of string (NFC) (#94785)
Correct the method used to truncate the source_file string when
substring is a prefix. The previous method used substr, which was
changed to resize for clarity and efficiency.
Caught by cppcheck -
lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp:290:19:
performance: Ineffective call of function 'substr' because a prefix of
the string is assigned to itself. Use resize() or pop_back() instead.
[uselessCallsSubstr]
Source code -
source_file = source_file.substr(0, pos);
Fix #91211
---------
Co-authored-by: Shivam Gupta <shivma98.tkg at gmail.com>
Commit: 00fd188f3744ce7511ebc41260f3fcf34a80ae6b
https://github.com/llvm/llvm-project/commit/00fd188f3744ce7511ebc41260f3fcf34a80ae6b
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/module/module.import/p6.cpp
Log Message:
-----------
[C++20][Modules] static data members of template classes should be allowed in header units (#98309)
Summary:
There is no sense to report these cases as an error or add `inline`
explicitly in these cases, if it is not required in normal headers.
Similar to #60079.
Test Plan: check-clang
Commit: ce92b2f594809c39c37bf3ef3d881f2b33bd6730
https://github.com/llvm/llvm-project/commit/ce92b2f594809c39c37bf3ef3d881f2b33bd6730
Author: Andrei Safronov <safronov at espressif.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/test/CodeGen/Xtensa/brcc.ll
A llvm/test/CodeGen/Xtensa/select-cc.ll
A llvm/test/CodeGen/Xtensa/setcc.ll
Log Message:
-----------
[Xtensa] Implement lowering SELECT_CC, SETCC. (#97017)
Commit: d4e46f0e864e37085da0c5e56e4f6f278e2f7aee
https://github.com/llvm/llvm-project/commit/d4e46f0e864e37085da0c5e56e4f6f278e2f7aee
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
[AMDGPU] Fix machine verification failure from INIT_EXEC lowering (#98333)
Fix machine verification failure from INIT_EXEC lowering since it was
moved from SILowerControlFlow to SIWholeQuadMode in #94452.
Commit: bf4167fd1d06ff68da2cbea210a4ccfa045694d3
https://github.com/llvm/llvm-project/commit/bf4167fd1d06ff68da2cbea210a4ccfa045694d3
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Frontend/FrontendActions.cpp
A clang/test/Frontend/module-file-info-not-a-module.c
Log Message:
-----------
[Clang] Don't crash if input file is not a module. (#98439)
Currently clang crashes with `-module-file-info` and input file which is
not a module
Emit error instead of segfaulting.
Fix #98365
Commit: eb61956d1a039d9cb03e0d041f33ab2ecc80519e
https://github.com/llvm/llvm-project/commit/eb61956d1a039d9cb03e0d041f33ab2ecc80519e
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGObjC.cpp
M clang/test/CodeGenObjC/arc-foreach.m
Log Message:
-----------
[ObjC][CodeGen] Assume a for-in loop is in bounds and cannot overflow (#94885)
When accessing data in the buffer, we know we won't overrun the buffer,
so we know it is inbounds. In addition, we know that the addition to
increase the index is also NUW because the buffer's end has to be
unsigned-greater-than 0, which becomes untrue if the bounds ever has an
unsigned wrap.
Commit: 55c00485eb05dfa75d4a20efff2131edd111066d
https://github.com/llvm/llvm-project/commit/55c00485eb05dfa75d4a20efff2131edd111066d
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
A clang/test/Driver/aarch64-multilib-rcpc3.c
Log Message:
-----------
[Clang][Driver] Skip empty strings in getAArch64MultilibFlags (#97827)
In a multilib setting, if you compile with a command line such as `clang
--target=aarch64-none-elf -march=armv8.9-a+rcpc3`,
`getAArch64MultilibFlags` returns an ill-formed string containing two
consecutive `+` signs, of the form `...+rcpc++rcpc3+...`, causing later
stages of multilib selection to get confused.
The `++` arises from the entry in `AArch64::Extensions` for the
SubtargetFeature `rcpc-immo`, which is a dependency of the `rcpc3`
SubtargetFeature, but doesn't have an _extension_ name for the purposes
of the `-march=foo+bar` option. So its `UserVisibleName` field is the
empty string.
To fix this, I've excluded extensions from consideration in
`getAArch64MultilibFlags` if they have an empty `UserVisibleName`. Since
the input to this function is not derived from a completely general set
of SubtargetFeatures, but from a set that has only just been converted
_from_ a clang driver command line, the only extensions skipped by this
check should be cases like this one, where the anonymous extension was
only included because it was a dependency of one mentioned explicitly.
I've also made the analogous change in `getARMMultilibFlags`. I don't
think it's necessary right now, because the architecture extensions for
ARM (defined in `ARMTargetParser.def` rather than Tablegen) don't
include any anonymous ones. But it seems sensible to add the check
anyway, in case future refactoring introduces anonymous array elements
in the same way that AArch64 did, and also in case someone writes a
function for another platform by using either of these as example code.
Commit: 18e70a4d5042299054dae7d3995f6ccd8f4112b3
https://github.com/llvm/llvm-project/commit/18e70a4d5042299054dae7d3995f6ccd8f4112b3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M lldb/utils/lit-cpuid/lit-cpuid.cpp
M llvm/include/llvm/TargetParser/Host.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
M llvm/lib/Target/TargetMachineC.cpp
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[llvm][TargetParser] Return StringMap from getHostCPUFeatures (#97824)
Previously this took a reference to a map and returned a bool to say
whether it succeeded. We can return a StringMap instead, as all callers
but 1 simply iterated the map if the bool was true, and passed in empty
maps as the starting point.
lldb's lit-cpuid did specifically check whether the call failed, but due
to the way the x86 routines work this works out the same as checking if
the returned map is empty.
Commit: 74b933c28e777fdc04e50f5f96e4f7a4ad1e79a6
https://github.com/llvm/llvm-project/commit/74b933c28e777fdc04e50f5f96e4f7a4ad1e79a6
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/test/Driver/loongarch-msimd.c
Log Message:
-----------
[LoongArch][clang] Modify `loongarch-msimd.c` to avoid `grep -o`. NFC (#98442)
Address buildbot failure:
https://lab.llvm.org/buildbot/#/builders/64/builds/250/steps/6/logs/FAIL__Clang__loongarch-msimd_c
Commit: 67f4968a57789fa07dcdb0c4421e4beeb725a0db
https://github.com/llvm/llvm-project/commit/67f4968a57789fa07dcdb0c4421e4beeb725a0db
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Skip cost for ZExt/SExts that will be removed by truncating ops.
If an extend is truncated, it will be removed if the result type is <=
the source type, as there is nothing to extend. Return a cost of 0.
This was caught by the first step to perform cost-modeling based on
VPlan (b841e2e), as the legacy cost model would query the cost of an
invalid extend, while the extend has been folded away by VPlan
transforms.
Fixes https://github.com/llvm/llvm-project/issues/98413.
Commit: e980990ee4ef0b2690094186cb4331e224561a20
https://github.com/llvm/llvm-project/commit/e980990ee4ef0b2690094186cb4331e224561a20
Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/cabs-discrete.ll
Log Message:
-----------
[SimplifyLibCalls] Simplify cabs libcall if real or imaginary part of input is zero (#97976)
cabs(a + i0) -> abs(a)
cabs(0 +ib) -> abs(b)
Closes #97336
Commit: 0ff13f72c9740cf34b2cfc738144a1a95f8c71de
https://github.com/llvm/llvm-project/commit/0ff13f72c9740cf34b2cfc738144a1a95f8c71de
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesConstants - replace Root argument with VT/DL arguments.
combineX86ShufflesConstants doesn't need to know specifically about the Root node, it just needs the type + SDLoc.
Minor tweak to make it easier to reuse this function in places other than recursive shuffle combining.
Commit: 117cc4abeaee0cf7e0e4d1f9883313ad1effabd0
https://github.com/llvm/llvm-project/commit/117cc4abeaee0cf7e0e4d1f9883313ad1effabd0
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] No need to create `memcpy(a <- a)` (#98321)
When forwarding `memcpy`, we don't need to create `memcpy(a, a)`.
Commit: eeed5896deed205997bd3cfc70b5bf134017c694
https://github.com/llvm/llvm-project/commit/eeed5896deed205997bd3cfc70b5bf134017c694
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp
Log Message:
-----------
[libc] Correctly Run Multiple Benchmarks in the Same File (#98467)
There was previously an issue where registering multiple benchmarks in
the same file would only give the results for the last benchmark to run.
This PR fixes the issue.
@jhuber6
Commit: eb977399de30a166e3b1db905950c913fe36730b
https://github.com/llvm/llvm-project/commit/eb977399de30a166e3b1db905950c913fe36730b
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
Log Message:
-----------
[compiler-rt][RISC-V] Save/Restore for E goes with ABI (#95390)
When compiling for the ILP32E/LP64E ABIs, even on a RISC-V machine with
`i`, we should be using the ILP32E/LP64E save/restore routines, so use
the right preprocessor macro.
Commit: e1bd337865fca9f455225ba37b76595d37bad213
https://github.com/llvm/llvm-project/commit/e1bd337865fca9f455225ba37b76595d37bad213
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/ThreadList.h
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ThreadList.cpp
Log Message:
-----------
[lldb] Fix ThreadList assignment race (#98293)
ThreadList uses the Process mutex to guard its state. This means its not
possible to safely modify its process member, as the member is required
to lock the mutex.
Fortunately for us, we never actually need to change the process member
(we always just juggle different kinds of thread lists belonging to the
same process).
This patch replaces the process member assignment (which is technically
a race even when it assigns the same value) with an assertion.
Since all this means that the class can never change its process member
value (and it also must be non-null at all times), I've also changed the
member type to a reference.
Commit: 0248b597b1442ba803b61ba1d099ec8ef3872b2d
https://github.com/llvm/llvm-project/commit/0248b597b1442ba803b61ba1d099ec8ef3872b2d
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/ohos.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[clang][Driver] Fix safestack -u ordering (#98468)
When re-enabling safestack testing on Solaris after the unexplained
b0260c5b1052f8e3ff1ec77dc42a11f42da762cc, all tests `FAIL`ed to link:
```
Undefined first referenced
symbol in file
__safestack_unsafe_stack_ptr buffer-copy-vla.o
__safestack_init (command line)
ld: fatal: symbol referencing errors
```
The problem is that `-u __safestack_init` was passed to the linker after
the corresponding version of `libclang_rt.safestack-*.a`. Since the
Solaris linker (like Unix linkers for decades) respects the command line
argument order (unlike e.g. GNU ld which uses GNU getopt), this cannot
work. Fixed by moving the `-u` arg further to the front. Two affected
testcases were fixed accordingly.
Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.
Commit: 5c205b6f7d82ee88ee5a869d6102c5a6388fb3f0
https://github.com/llvm/llvm-project/commit/5c205b6f7d82ee88ee5a869d6102c5a6388fb3f0
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/safestack/CMakeLists.txt
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
[safestack] Various Solaris fixes (#98469)
Even with the `-u __safestack_init` link order fixed on Solaris, there
are still several safestack test issues left:
* While 540fd42c755f20f7b79c6c79493ec36d8cb9b3d3 enabled safestack on
Solaris in the driver unconditionally, it ignored that Solaris also
exists on SPARC and forgot to enable SPARC support for the runtime lib.
This patch fixes that.
- The tests fail to link with undefined references to
`__sanitizer_internal_memset` etc. These are from
`sanitizer_redefine_builtins.h`. Definitions live in
`sanitizer_libc.cpp.o`. This patch adds them to the safestack runtime
lib as is already the case e.g. for asan and ubsan. Why GNU ld allows
the link to complete with those references undefined is beyond me.
- The `pthread*.c` tests `FAIL` with
``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:227
size ```
The problem is that `pthread_attr_init` initializes the `stacksize`
attribute to 0, signifying the default. Unless explicitly overridded, it
stays that way. I think this is allowed by XPG7. Since safestack cannot
deal with this, I set `size` to the defaults documented in
`pthread_create(3C)`. Unfortunately, there's no macro for those values
outside of private `libc` headers.
- The Solaris `syscall` interface isn't stable. This is not just a
theoretical concern, but the syscalls have changed incompatibly several
times in the past. Therefore this patch switches the implementations of
`TgKill` (where `SYS_lwp_kill` doesn't exist on Solaris 11.4 anyway),
`Mmap`, `Munmap`, and `Mprotect` to the same `_REAL*` solution already
used in `sanitizer_solaris.cpp`. Instead of duplicating what's already
in `sanitizer_common`, it seems way better to me to just reuse those
implementations, though. A subsequent patch does just that.
With those changes, safestack compiles and all tests `PASS`, so the
tests are re-enabled for good.
Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.
Commit: d69e94916e5012174c7f27866031b7a8e2cec7a0
https://github.com/llvm/llvm-project/commit/d69e94916e5012174c7f27866031b7a8e2cec7a0
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/bufferize.mlir
Log Message:
-----------
[mlir] [linalg] Fix bufferize error in tensor.parallel_insert_slice op (#98312)
tensor.parallel_insert_slice op has implicit inplace behavior. In the
"copy-before-write" bufferize mode, the resolveConflict function will
generate bufferize.copy, making the result incorrect. This patch fixes
this issue.
Commit: e4163c0927772f2ec73cf16d53e000614c419c45
https://github.com/llvm/llvm-project/commit/e4163c0927772f2ec73cf16d53e000614c419c45
Author: Budimir Aranđelović <123091736+budimirarandjelovicsyrmia at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr2xx.c
M clang/test/Sema/builtins.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/integer-overflow.c
A clang/test/Sema/shift-count-negative.c
A clang/test/Sema/shift-count-overflow.c
A clang/test/Sema/shift-negative-value.c
M clang/test/Sema/vla-2.c
M clang/test/SemaCXX/enum.cpp
M clang/test/SemaCXX/shift.cpp
Log Message:
-----------
[clang] Emit bad shift warnings (#70307)
Diagnose bad shifts and emit warnings
Commit: a3913a19185e3513a317aab792e85d5c50ef0242
https://github.com/llvm/llvm-project/commit/a3913a19185e3513a317aab792e85d5c50ef0242
Author: Martin Storsjö <martin at martin.st>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-dlltool/coff-weak-exports.def
Log Message:
-----------
[llvm-dlltool] Respect the DATA flag when creating aliases (#98225)
Commit: 81cdf9472c347adeee91f39f661e06da77902c93
https://github.com/llvm/llvm-project/commit/81cdf9472c347adeee91f39f661e06da77902c93
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/Inputs/nesting_of_regions.cpp
Log Message:
-----------
[clang][OpenMP] Fix region nesting check for `scan` directive (#98386)
The previous check was inconsistent. For example, it would allow
```
#pragma omp target
#pragma omp parallel for
for (...) {
#pragma omp scan
}
```
but not
```
#pragma omp target parallel for
for (...) {
#pragma omp scan
}
```
Make the check conform to the wording on the specification.
Commit: 3a14ffbae39b0308fe57a278b5d29703a4d98211
https://github.com/llvm/llvm-project/commit/3a14ffbae39b0308fe57a278b5d29703a4d98211
Author: John Brawn <john.brawn at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/Headers/arm_acle.h
A clang/test/CodeGen/aarch64-gcs.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/gcs-intrinsics.ll
Log Message:
-----------
[AArch64] Implement GCS ACLE intrinsics (#96903)
This adds intrinsics defined in ARM-software/acle#260
Doing this requires some changes to the GCS instruction definitions, as
these intrinsics make use of how some instructions don't modify the
input register when GCS is disabled, and they need to be correctly
marked with mayLoad/mayStore/hasSideEffects for instruction selection to
work.
Commit: b64c1de714c50bec7493530446ebf5e540d5f96a
https://github.com/llvm/llvm-project/commit/b64c1de714c50bec7493530446ebf5e540d5f96a
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/test/MC/ELF/osabi.s
Log Message:
-----------
[MC] set OpenBSD's ELFOSABI by default (#98158)
This matches what is done for FreeBSD.
OpenBSD has a few special program header types, and other such ELF
extensions. Setting the ELFOSABI like so will allow LLD to support them
without needlessly impacting non-OpenBSD ELFs.
Testing strategy matches 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd.
Commit: 2fb53f37660498ad84c2489a6dbf05c94dc703a8
https://github.com/llvm/llvm-project/commit/2fb53f37660498ad84c2489a6dbf05c94dc703a8
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fix for incorrect cannonicalization of tosa.pad (#98356)
The current fold method for tosa.pad can produce invalid IR by replacing
the padded value with the tosa.pad is a noop. When the type of the input
value does not match the type of the tosa.pad, the canonicalizer detects
the change in types and asserts.
This change addresses the issue by avoiding folding when the input and
result types do not match.
Commit: 4a8f1d670f6135eaf4fabb6f5ed677e6cb571464
https://github.com/llvm/llvm-project/commit/4a8f1d670f6135eaf4fabb6f5ed677e6cb571464
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/atan.f90
M flang/test/Lower/Intrinsics/atan_real16.f90
Log Message:
-----------
[flang] Lower 2-argument F2008 atan intrinsic
Implement lowering and testing of the atan(y,x) form of the atan
intrinsic. Since the standard specifies that the behavior of this form
is identical to the atan2 intrinsic, everything is lowered to atan2.
In addition to tests for the atan(y,x) intrinsic, tests for the atan(x)
intrinsic were also added/updated.
Commit: ddbad861c4c8e61679552a551f35bee83902fc63
https://github.com/llvm/llvm-project/commit/ddbad861c4c8e61679552a551f35bee83902fc63
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/AArch64/arm64-anyregcc.ll
Log Message:
-----------
[Patchpoint] Implement integer result type legalization for patchpoints (#97278)
Previously, if a patchpoint had a non-native integer type result, e.g.
i8 or i16 on AArch64, or some non-power-of-two wide integer type (e.g.
i29), the type legalizer would crash.
Commit: d9c26b9d560f4362503b8f0ec97a52a0a36a57ce
https://github.com/llvm/llvm-project/commit/d9c26b9d560f4362503b8f0ec97a52a0a36a57ce
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 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/WinogradConv2D.cpp
A mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
Log Message:
-----------
[mlir][linalg] Add transform operator for Winograd Conv2D algorithm (#96182)
Add a transform operation structured.winograd_conv2d to convert
linalg.conv_2d_nhwc_fhwc to Linalg winograd operations.
Reviewers: ftynse, Max191, GeorgeARM, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin
Reviewed By: ftynse, Max191
Pull Request: https://github.com/llvm/llvm-project/pull/96182
Commit: 8b7263ba3051125ab2bb9df514bdaadaca1b637d
https://github.com/llvm/llvm-project/commit/8b7263ba3051125ab2bb9df514bdaadaca1b637d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
Log Message:
-----------
[clang] CTAD: use index and depth to retrieve template parameter for TemplateParamsReferencedInTemplateArgumentList (#98013)
As described in https://github.com/llvm/llvm-project/issues/90209#issuecomment-2135972202,
Clang may not preserve enough information during template argument
deduction. This can result in a merely canonical `TemplateTypeParmType`
with a null `Decl`, leading to an incomplete template parameter list for
the synthesized deduction guide.
This patch addresses the issue by using the index and depth information
to retrieve the corresponding template parameter, rather than relying on
`TTP->getDecl()`.
Fixes #90209
Commit: 22671910721ecbe89e14649f42ab0e7f9feb575f
https://github.com/llvm/llvm-project/commit/22671910721ecbe89e14649f42ab0e7f9feb575f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Add missing check, drop 'then'.
Address post-commit comments for 67f4968a577.
Commit: 2a79fd0b92004feac0254ad8a4d4ac09e488c7dc
https://github.com/llvm/llvm-project/commit/2a79fd0b92004feac0254ad8a4d4ac09e488c7dc
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for d9c26b9d560f4362503b8f0ec97a52a0a36a57ce
Commit: 1860fd049e35055fccac14e439227fae803976b8
https://github.com/llvm/llvm-project/commit/1860fd049e35055fccac14e439227fae803976b8
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
A llvm/test/Analysis/LoopAccessAnalysis/histogram.ll
A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
[LV] Autovectorization for the all-in-one histogram intrinsic (#91458)
This patch implements limited loop vectorization support for the 'all-in-one' histogram intrinsic. The feature is disabled by default, and when enabled will only vectorize if there are no other users of values in the gather-modify-scatter sequence.
Commit: 4a9de115bfbb083144761b48157c3b51a96e5fd5
https://github.com/llvm/llvm-project/commit/4a9de115bfbb083144761b48157c3b51a96e5fd5
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
Log Message:
-----------
[libc][math][c23] Enable roundeven{,f,l,f128} C23 math functions on AArch64 Linux (#98472)
Commit: dffa28fa3a907a3e0c64c9b06a46b55fc5cea40a
https://github.com/llvm/llvm-project/commit/dffa28fa3a907a3e0c64c9b06a46b55fc5cea40a
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/__support/big_int.h
Log Message:
-----------
[libc] Fix BigInt's operator %= (#98484)
This patch fixes cases where we try to do var %= 1. Previously this operator was calling .div directly since it would perform the inplace division and return the remainder, however, as an early exit condition a division by one returns zero as the remainder. The remainder being returned by div was not being assigned to var.
Commit: c66e1d6f3429cb596ceb58daa5184bc3bbb28750
https://github.com/llvm/llvm-project/commit/c66e1d6f3429cb596ceb58daa5184bc3bbb28750
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/MC/AArch64/armv9.1a-rme.s
A llvm/test/MC/AArch64/armv9.2a-mec.s
R llvm/test/MC/AArch64/armv9a-mec.s
R llvm/test/MC/AArch64/armv9a-rme.s
M llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[llvm][AArch64] apple-m4 is armv9.2-a (#98267)
But since SVE and friends have been added to the default extensions
list, and every CPU was opted into those extensions by default, we
couldn't correctly announce its architecutral version to the backend.
Additionally, we FEAT_MEC from llvm's "required" list for v9.0 to the
optional list for v9.2, as the spec considers it optional, and M4 does
not implement it. Similarly, fixes up several bugs w.r.t. FEAT_RME.
As a drive-by, I noticed that saphira did not have an
AArch64CPUTestParams entry, and thus added one.
Commit: 4502ea89b9a067f8d76b89acdfef83d7cab59adb
https://github.com/llvm/llvm-project/commit/4502ea89b9a067f8d76b89acdfef83d7cab59adb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/cast_ptr.ll
Log Message:
-----------
[InstCombine] More precise nuw preservation in ptrtoint of gep fold
We can transfer a nuw flag from the gep to the add. Additionally,
the inbounds + nneg case can be relaxed to nusw + nneg. Finally,
don't forget to pass the correct context instruction to
SimplifyQuery.
Commit: 9a5a8731e77bb61c64d400a828dc215dc80fb839
https://github.com/llvm/llvm-project/commit/9a5a8731e77bb61c64d400a828dc215dc80fb839
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Introduce ResumePhi VPInstruction, use to create phi for FOR. (#94760)
This patch introduces a new ResumePhi VPInstruction which creates a phi
in a leaf block of a VPlan. The first use is to create the phi node for
fixed-order recurrence resume values in the scalar preheader.
The VPInstruction takes 2 operands: 1) the incoming value from the
middle-block and a default value to be used for all other incoming
blocks.
In follow-up changes, it will also be used to create phis for reduction
and induction resume values.
Depends on https://github.com/llvm/llvm-project/pull/92651
PR: https://github.com/llvm/llvm-project/pull/94760
Commit: 36d5281174566c207a99d30c6a42219dddcaa4bf
https://github.com/llvm/llvm-project/commit/36d5281174566c207a99d30c6a42219dddcaa4bf
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/apx/ccmp.ll
M llvm/test/CodeGen/X86/apx/ctest.ll
Log Message:
-----------
[X86][test] Pre-commit test for an incorrect pattern for CCMP/CTEST with imm64
Commit: e8e2cff1607627e52079741af368064cea3e28d4
https://github.com/llvm/llvm-project/commit/e8e2cff1607627e52079741af368064cea3e28d4
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrConditionalCompare.td
M llvm/test/CodeGen/X86/apx/ccmp.ll
M llvm/test/CodeGen/X86/apx/ctest.ll
Log Message:
-----------
[X86][CodeGen] Fix an incorrect pattern for CCMP/CTEST with imm64
Commit: c0261351136e4a826be697e5ebb5fa638abe7485
https://github.com/llvm/llvm-project/commit/c0261351136e4a826be697e5ebb5fa638abe7485
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/test/MC/ELF/osabi.s
Log Message:
-----------
Revert "[MC] set OpenBSD's ELFOSABI by default" (#98494)
Reverts llvm/llvm-project#98158
bot is broken.
Commit: bbb90feb8742b4a83c4bbfbbbdf0f9735939d184
https://github.com/llvm/llvm-project/commit/bbb90feb8742b4a83c4bbfbbbdf0f9735939d184
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
Log Message:
-----------
[tsan] Fix ASLR edge case, and improve diagnostics (#97125)
In extremely rare cases (estimated 1 in 3 million), minor allocations
that happen after the memory layout was checked in
InitializePlatformEarly() [1] may result in the memory layout
unexpectedly being incompatible in InitializePlatform(). We fix this by
adding another memory layout check (and opportunity to re-exec without
ASLR) in InitializePlatform().
To improve future debuggability, this patch also dumps the process map
if the memory layout is unexpectedly incompatible.
[1]
```
__sanitizer::InitializePlatformEarly();
__tsan::InitializePlatformEarly();
#if !SANITIZER_GO
InitializeAllocator(); // <-- ~8MB mmap'ed
ReplaceSystemMalloc();
#endif
if (common_flags()->detect_deadlocks)
ctx->dd = DDetector::Create(flags()); // <-- ~4MB mmap'ed
Processor *proc = ProcCreate(); // <-- ~1MB mmap'ed
ProcWire(proc, thr);
InitializeInterceptors(); <-- ~3MB mmap'ed
InitializePlatform();
```
Commit: fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d
https://github.com/llvm/llvm-project/commit/fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/msan/msan_linux.cpp
Log Message:
-----------
[msan] Block signals during MsanThread::TSDDtor (#98405)
MSan may segfault inside a signal handler, if MSan instrumentation is
trying to access thread-local storage that has already been destroyed.
This fixes the issue by blocking asychronous signals inside
MsanThread::TSDDtor. This is based on an idea suggested by Paul
Pluzhnikov (block async signals in MsanThread::Destroy()) and refined by
Vitaly Buka.
Note: ed8565cf0b64ea5e88cc94f321b1870bb105d09d changed *BlockSignals to
only block asynchronous signals, despite the name.
Commit: dab36b288a1566d7b41154751e547c555ad43358
https://github.com/llvm/llvm-project/commit/dab36b288a1566d7b41154751e547c555ad43358
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[mlir][debug] Allow global with local scope. (#98358)
Currently, only those global variables in debug info are allowed which
have a compile unit or module scope. But global variable with function
scope are used in debug info to represent certain type of variables. One
example will be static local variables in C. Here the variable is
represented as global variable with parent function as its scope. See
the code and debug metadata as generated by clang below. You can see
that scope of `DIGlobalVariable` is `DISubprogram`.
```
int test() {
static int a = 0;
return a++;
}
!0 = !DIGlobalVariableExpression(var: !1...)
!1 = !DIGlobalVariable(name: "a", scope: !2 ...)
!2 = !DISubprogram(name: "test" ...)
!7 = !DICompileUnit(... globals: !8...)
!8 = !{!0}
```
Similar issue exist in fortran where global variable with function scope
are used to represent local variable with save attribute.
This PR will allows such variables during module translation.
Commit: 621bcfc2fdff7b344938cca76a010a69f0375034
https://github.com/llvm/llvm-project/commit/621bcfc2fdff7b344938cca76a010a69f0375034
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/nearest_integer_funcs_perf.cpp
Log Message:
-----------
[libc][math] Optimize generic nearest integer functions (#98483)
Commit: 22a7f6dcc4fc83f80f81722ab9c83b6fa73416f8
https://github.com/llvm/llvm-project/commit/22a7f6dcc4fc83f80f81722ab9c83b6fa73416f8
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
R llvm/test/Analysis/LoopAccessAnalysis/histogram.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
Revert "[LV] Autovectorization for the all-in-one histogram intrinsic" (#98493)
Reverts llvm/llvm-project#91458 to deal with post-commit reviewer
requests.
Commit: 90ccf2187332ff900d46a58a27cb0353577d37cb
https://github.com/llvm/llvm-project/commit/90ccf2187332ff900d46a58a27cb0353577d37cb
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/test/CMakeLists.txt
A clang/test/Driver/linker-wrapper-llvm-help.c
A clang/test/Driver/linker-wrapper-passes.c
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Extend with usual pass options (#96704)
The goal of this patch is to enable utilizing LLVM plugin passes and
remarks for GPU offload code at link time. Specifically, this patch
extends clang-linker-wrapper's `--offload-opt` (and consequently
`-mllvm`) to accept the various LLVM pass options that tools like opt
usually accept. Those options include `--passes`, `--load-pass-plugin`,
and various remarks options.
Unlike many other LLVM options that are inherited from linked code by
clang-linker-wrapper (e.g., `-pass-remarks` is already implemented in
`llvm/lib/IR/DiagnosticHandler.cpp`), these options are implemented
separately as needed by each tool (e.g., opt, llc). Fortunately, this
patch is able to handle most of the implementation by passing the option
values to `lto::Config`.
For testing plugin support, this patch uses the simple `Bye` plugin from
LLVM core, but that requires several small Clang test suite config
extensions.
Commit: 0431c61f6b80b4ba34e36e7763c58edafcbbf1a9
https://github.com/llvm/llvm-project/commit/0431c61f6b80b4ba34e36e7763c58edafcbbf1a9
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
Log Message:
-----------
[Clang] Correctly recognize unexpanded packs in lambda template params (#98496)
Fixes #48937
Fixes #49099
Commit: fb5a38bb4930736b0aab3ce428b60245921f982f
https://github.com/llvm/llvm-project/commit/fb5a38bb4930736b0aab3ce428b60245921f982f
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-07-11 (Thu, 11 Jul 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/add-invalid-note.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add verification of added .note section format
Also add a --no-verify-note-sections flag to make it possible to add
invalid sections if needs be.
Pull Request: https://github.com/llvm/llvm-project/pull/90458
Commit: 1cbddcebb9a9f97ed04f35a859e31d55f6b9b824
https://github.com/llvm/llvm-project/commit/1cbddcebb9a9f97ed04f35a859e31d55f6b9b824
Author: John Brawn <john.brawn at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
M llvm/test/DebugInfo/X86/DW_OP_LLVM_extract_bits.ll
Log Message:
-----------
[DebugInfo] Use DW_OP_deref_size for DW_OP_LLVM_extract_bits (#97609)
Using DW_OP_deref can result in the debugger reading past the end of an
object into inaccessible memory, causing an error. Instead use
DW_OP_deref_size to make sure we don't read any bytes beyond what we
need to.
Commit: ae18b9410297963a379e03b94eae7433ff69a62b
https://github.com/llvm/llvm-project/commit/ae18b9410297963a379e03b94eae7433ff69a62b
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ConstantEmitter.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGen/ptrauth-function-type-discriminator.c
M clang/test/Preprocessor/ptrauth_feature.c
Log Message:
-----------
[PAC] Implement function pointer type discrimination (#96992)
Give users an option (-fptrauth-function-pointer-type-discrimination) to
sign a function pointer using a non-zero discriminator based on the
function type.
The discriminator is computed by first translating the function type to
a string and then computing the hash value of the string. Two function
types that are compatible in C must be translated to the same string
with the exception of function types that use typedefs of anonymous
structs in their return type or parameter types.
This patch doesn't have the code to resign function pointers, which is
needed when a function pointer is converted to a different function
type. That will be implemented in another patch.
Co-authored-by: John McCall <rjmccall at apple.com>
---------
Co-authored-by: John McCall <rjmccall at apple.com>
Commit: 88cbc8ce58a0e6724f3054c7d65a494999d85483
https://github.com/llvm/llvm-project/commit/88cbc8ce58a0e6724f3054c7d65a494999d85483
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX][NFC] Use same logic to get alignment in param declarations and function prototypes (#98220)
Unifies the logic used to choose function prototype argument alignment
and param alignment declared in the caller. The call in `getPrototype`
to `getAlign`/`getFunctionParamOptimizedAlign` is replaced with
`getArgumentAlignment`, which is what is currently used to select the
alignment for the param declarations. This avoids code duplication of
`getAlign().value_or(getFunctionParamOptimizedAlign())` and ensures that
param alignments are the same in declarations and prototypes.
Commit: 84682ad8c6e264a7ddd375aee805518c8917dddf
https://github.com/llvm/llvm-project/commit/84682ad8c6e264a7ddd375aee805518c8917dddf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c
Log Message:
-----------
[hwasan] Temporarily disable test broken on Ubuntu 24.04
Somehow I missed this one trying the upgrade on staging.
Commit: 55b1410895b69d8e4517f6a2a2978b414b4ecac3
https://github.com/llvm/llvm-project/commit/55b1410895b69d8e4517f6a2a2978b414b4ecac3
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/test/Shell/ObjectFile/ELF/PT_TLS-overlap-PT_LOAD.yaml
Log Message:
-----------
[lldb] Fix a bug for PT_TLS segments getting loaded when they shouldn't. (#98432)
PT_LOAD and PT_TLS segments are top level sections in the ObjectFileELF
section list. The two segments can often have the same program header
p_vaddr and p_paddr values and this can cause section load list issues
in LLDB if we load the PT_TLS segments. What happens is the
SectionLoadList::m_addr_to_sect, when a library is loaded, will first
map one of the sections named "PT_LOAD[0]" with the load address that
matches the p_vaddr entry from the program header. Then the "PT_TLS[0]"
would come along and try to load this section at the same address. This
would cause the "PT_LOAD[0]" section to be unloaded as the
SectionLoadList::m_addr_to_sect would replace the value for the matching
p_vaddr with the last section to be seen. The sizes of the PT_TLS and
PT_LOAD that have the same p_vaddr value don't need to have the same
byte size, so this could cause lookups to fail for an addresses in the
"PT_LOAD[0]" section or any of its children if the offset is greater
than the offset size of the PT_TLS segment. It could also cause us to
incorrectly attribute addresses from the "PT_LOAD[0]" to the "PT_TLS[0]"
segment when doing lookups for offset that are less than the size of the
PT_TLS segment.
This fix stops us from loading PT_TLS segments in the section load lists
and will prevent the bugs that resulted from this. No addresses the the
DWARF refer to TLS data with a "file address" in any way. They all have
TLS DWARF location expressions to locate these variables. We also don't
have any support for having actual thread specific sections and having
those sections resolve to something different for each thread, so there
currently is no point in loading thread specific sections. Both the
ObjectFileMachO and ObjectFileCOFF both ignore thread specific sections
at the moment, so this brings the ObjectFileELF to parity with those
plug-ins.
I added a test into an existing test to verify that things work as
expected.
Prior to this fix with a real binary, the output of "target dump
section-load-list" would look like this for the old LLDB:
```
// (lldb) target dump section-load-list
// addr = 0x0000000000000000, section = 0x55d46ab8c510: 0xfffffffffffffffd container [0x0000000000000000-0x0000000000000628) r-- 0x00000000 0x00000628 0x00000000 a.out.PT_LOAD[0]
// addr = 0x0000000000001000, section = 0x55d46ab8b0c0: 0xfffffffffffffffc container [0x0000000000001000-0x0000000000001185) r-x 0x00001000 0x00000185 0x00000000 a.out.PT_LOAD[1]
// addr = 0x0000000000002000, section = 0x55d46ac040f0: 0xfffffffffffffffb container [0x0000000000002000-0x00000000000020cc) r-- 0x00002000 0x000000cc 0x00000000 a.out.PT_LOAD[2]
// addr = 0x0000000000003db0, section = 0x55d46ab7cef0: 0xfffffffffffffff6 container [0x0000000000003db0-0x0000000000003db4) r-- 0x00002db0 0x00000000 0x00000000 a.out.PT_TLS[0]
```
And this for the fixed LLDB:
```
// (lldb) target dump section-load-list
// addr = 0x0000000000000000, section = 0x105f0a9a8: 0xfffffffffffffffd container [0x0000000000000000-0x0000000000000628) r-- 0x00000000 0x00000628 0x00000000 a.out.PT_LOAD[0]
// addr = 0x0000000000001000, section = 0x105f0adb8: 0xfffffffffffffffc container [0x0000000000001000-0x0000000000001185) r-x 0x00001000 0x00000185 0x00000000 a.out.PT_LOAD[1]
// addr = 0x0000000000002000, section = 0x105f0af48: 0xfffffffffffffffb container [0x0000000000002000-0x00000000000020cc) r-- 0x00002000 0x000000cc 0x00000000 a.out.PT_LOAD[2]
// addr = 0x0000000000003db0, section = 0x105f0b078: 0xfffffffffffffffa container [0x0000000000003db0-0x0000000000004028) rw- 0x00002db0 0x00000274 0x00000000 a.out.PT_LOAD[3]
```
We can see that previously the "PT_LOAD[3]" segment would be removed
from the section load list, and after the fix it remains and there is on
PT_TLS in the loaded sections.
Commit: 9ddfe62f5c11e3f65f444209f514029ded2d58b9
https://github.com/llvm/llvm-project/commit/9ddfe62f5c11e3f65f444209f514029ded2d58b9
Author: Connie <60797237+connieyzhu at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_perf.s
Log Message:
-----------
[LLVM][test][nfc] Updating test to work with internal shell (#98370)
The RUN line attempts to set the JITDUMPDIR environment variable, which
fails in llvm-lit's internal shell. This patch prefixes JITDUMPDIR with
env so that the behavior of setting the variable is as expected in the
internal shell.
Commit: e16882fc7416a30d56d5b5a19d549ca7c653e668
https://github.com/llvm/llvm-project/commit/e16882fc7416a30d56d5b5a19d549ca7c653e668
Author: Constantin Kronbichler <56307024+ccrownhill at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
A clang/test/Sema/undefined-internal-basic.c
A clang/test/Sema/undefined-internal-typeof-c23.c
Log Message:
-----------
fix bug that undefined internal is a warning only for -pedantic-errors (#98016)
This fixes issue #39558 which mentions the problem when compiling the
following code with `-pedantic-errors` flag (it also mentions `-Wall
-Wextra` but those shouldn't change the output, which is also the case
in GCC):
```c
static void f();
int main()
{
f;
}
```
Clang only outputs an `undefined-internal` warning on the first line,
but according to 6.9/3
```
"... Moreover, if an identifier declared with internal linkage is used in an
expression (other than as a part of the operand of a sizeof or _Alignof
operator whose result is an integer constant), there shall be exactly one
external definition for the identifier in the translation unit."
```
this should be illegal and hence an error.
I fixed this by changing the warning type from `Warning` to `ExtWarn`
and by adding a suitable test.
Commit: e66ea43a399a1d70cbe3e4ed6adc77b2570cc51f
https://github.com/llvm/llvm-project/commit/e66ea43a399a1d70cbe3e4ed6adc77b2570cc51f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Improve data transfer detection by filtering symbols (#98378)
The current data transfer detection was collecting too many symbol and
made wrong decision. This patch introduces a new function
`CollectCudaSymbols` that is different than `CollectSymbols` and collect
only symbol of interest for cuda data transfer in an expression.
Currently two cases where symbols are filtered out are:
- array subscripts: only the array symbol is on interest, the indexing
can be filtered out
- function arguments: symbols of the function arguments are filtered
out.
This fix some false positive data transfer and implicit data transfer.
More filtering might be needed and will be added as follow up patches.
Commit: dd44003f579cc0f3538b58ef2cba2b6870598bc0
https://github.com/llvm/llvm-project/commit/dd44003f579cc0f3538b58ef2cba2b6870598bc0
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port #96704 (#98507)
Commit: 9f283bfb9e66d57fefeb3a28318ec40081fa9a24
https://github.com/llvm/llvm-project/commit/9f283bfb9e66d57fefeb3a28318ec40081fa9a24
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
R clang/test/Sema/undefined-internal-basic.c
R clang/test/Sema/undefined-internal-typeof-c23.c
Log Message:
-----------
Revert "fix bug that undefined internal is a warning only for -pedantic-errors (#98016)"
This reverts commit e16882fc7416a30d56d5b5a19d549ca7c653e668.
Broken bots:
https://lab.llvm.org/buildbot/#/builders/144/builds/2080
Commit: 0171e23647d58f65c1cddbc22e16fda2bafa6e85
https://github.com/llvm/llvm-project/commit/0171e23647d58f65c1cddbc22e16fda2bafa6e85
Author: Constantin Kronbichler <ckronbichler at proton.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
A clang/test/Sema/undefined-internal-basic.c
A clang/test/Sema/undefined-internal-typeof-c23.c
Log Message:
-----------
Revert "Revert fix bug that undefined internal is a warning only for -pedantic-errors
This reverts commit 9f283bfb9e66d57fefeb3a28318ec40081fa9a24 which was
a revert of commit e16882fc7416a30d56d5b5a19d549ca7c653e668; it
addresses the issue found by the failing buildbot.
Commit: 6c903f05f30147828662eb23f3d91939dbb06a43
https://github.com/llvm/llvm-project/commit/6c903f05f30147828662eb23f3d91939dbb06a43
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
M llvm/include/llvm/TableGen/SearchableTable.td
A llvm/test/TableGen/generic-tables-return-range.td
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Add support for emitting new function definition to return a range of results for Primary Key (#96174)
In the RISC-V architecture, multiple vendor-specific Control and Status
Registers (CSRs) share the same encoding. However, the existing lookup
function, which currently returns only a single result, falls short.
During disassembly, it consistently returns the first CSR encountered,
which may not be the correct CSR for the subtarget.
To address this issue, we modify the function definition to return a
range of results. These results can then be iterated upon to identify
the CSR that best fits the subtarget’s feature requirements. The
behavior of this new definition is controlled by a variable named
`ReturnRange`, which defaults to `false`.
Specifically, this patch introduces support for emitting a new lookup
function for the primary key. This function returns a pair of iterators
pointing to the first and last values, providing a comprehensive range
of values that satisfy the query
Commit: 3f1a76757269d0770bdb7e8086656e61019002ec
https://github.com/llvm/llvm-project/commit/3f1a76757269d0770bdb7e8086656e61019002ec
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[LLVM] Factor disabled Libcalls into the initializer (#98421)
Summary:
These Libcalls represent which functions are available to the backend.
If a runtime call is not available, the target sets the the name to
`nullptr`. Currently, this logic is spread around the various targets.
This patch pulls all of the locations that disable libcalls into the
intializer. This patch is effectively NFC.
The motivation behind this patch is that currently the LTO handling uses
the list of all runtime calls to determine which functions cannot be
internalized and must be extracted from static libraries. We do not want
this to happen for libcalls that are not emitted by the backend. A
follow-up patch will move out this logic so the LTO pass can know which
rtlib calls are actually used by the backend.
Commit: 05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b
https://github.com/llvm/llvm-project/commit/05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/newhdrgen/CMakeLists.txt
R libc/newhdrgen/tests/output/test_small.h
M libc/newhdrgen/tests/test_integration.py
Log Message:
-----------
[libc] integration test outputs header in build (#98385)
- python's unittest does not allow for custom args so sys.argv was used
Commit: 5aed6d67e3f051262c67e3295476bf13cfc099c4
https://github.com/llvm/llvm-project/commit/5aed6d67e3f051262c67e3295476bf13cfc099c4
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/hdr/CMakeLists.txt
A libc/hdr/stdio_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/FILE.h
A libc/hdr/types/cookie_io_functions_t.h
A libc/hdr/types/off_t.h
M libc/include/llvm-libc-macros/stdio-macros.h
M libc/newhdrgen/yaml/stdio.yaml
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/File/linux/stderr.cpp
M libc/src/__support/File/linux/stdin.cpp
M libc/src/__support/File/linux/stdout.cpp
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/gpu/rpc_fprintf.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/clearerr.h
M libc/src/stdio/clearerr_unlocked.h
M libc/src/stdio/fclose.h
M libc/src/stdio/fdopen.h
M libc/src/stdio/feof.h
M libc/src/stdio/feof_unlocked.h
M libc/src/stdio/ferror.h
M libc/src/stdio/ferror_unlocked.h
M libc/src/stdio/fflush.h
M libc/src/stdio/fgetc.h
M libc/src/stdio/fgetc_unlocked.h
M libc/src/stdio/fgets.h
M libc/src/stdio/flockfile.cpp
M libc/src/stdio/flockfile.h
M libc/src/stdio/fopen.h
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/fopencookie.h
M libc/src/stdio/fprintf.cpp
M libc/src/stdio/fprintf.h
M libc/src/stdio/fputc.h
M libc/src/stdio/fputs.h
M libc/src/stdio/fread.h
M libc/src/stdio/fread_unlocked.h
M libc/src/stdio/fscanf.cpp
M libc/src/stdio/fscanf.h
M libc/src/stdio/fseek.h
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftell.h
M libc/src/stdio/ftello.h
M libc/src/stdio/funlockfile.cpp
M libc/src/stdio/funlockfile.h
M libc/src/stdio/fwrite.h
M libc/src/stdio/fwrite_unlocked.h
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/generic/clearerr.cpp
M libc/src/stdio/generic/clearerr_unlocked.cpp
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/feof.cpp
M libc/src/stdio/generic/feof_unlocked.cpp
M libc/src/stdio/generic/ferror.cpp
M libc/src/stdio/generic/ferror_unlocked.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
M libc/src/stdio/generic/printf.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/generic/stderr.cpp
M libc/src/stdio/generic/stdin.cpp
M libc/src/stdio/generic/stdout.cpp
M libc/src/stdio/generic/ungetc.cpp
M libc/src/stdio/generic/vprintf.cpp
M libc/src/stdio/getc.h
M libc/src/stdio/getc_unlocked.h
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/printf.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/putc.h
M libc/src/stdio/remove.h
M libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setbuf.h
M libc/src/stdio/setvbuf.cpp
M libc/src/stdio/setvbuf.h
M libc/src/stdio/sscanf.cpp
M libc/src/stdio/ungetc.h
M libc/src/stdio/vfprintf.cpp
M libc/src/stdio/vfprintf.h
M libc/src/stdio/vprintf.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
M libc/src/wchar/btowc.cpp
M libc/src/wchar/wctob.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Reland: [libc] Move off_t and stdio macros to proxy hdrs (#98384)
reland of https://github.com/llvm/llvm-project/pull/98215
Additionally adds proxy headers for FILE and the fopencookie types
The arm32 build has been failing due to redefinitions of the off_t type.
This patch fixes this by moving off_t to a proper proxy header. To do
this, it also moves stdio macros to a proxy header to hopefully avoid
including this proxy header alongside this public stdio.h.
Commit: 546c09018a615388a36bdf898649fffbd2df529f
https://github.com/llvm/llvm-project/commit/546c09018a615388a36bdf898649fffbd2df529f
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
[MachineSink] Only add sink candidate if ToBB is a successor of fromBB
Commit: 04c8c95c24c051628ef260ba2a32a236f8b81c5d
https://github.com/llvm/llvm-project/commit/04c8c95c24c051628ef260ba2a32a236f8b81c5d
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
Revert "[MachineSink] Only add sink candidate if ToBB is a successor of fromBB"
This reverts commit 546c09018a615388a36bdf898649fffbd2df529f.
Commit: 9340c9fba6f89f68b5c7359b24fc28defc26fb30
https://github.com/llvm/llvm-project/commit/9340c9fba6f89f68b5c7359b24fc28defc26fb30
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/fileno.h
M libc/src/stdio/generic/fileno.cpp
Log Message:
-----------
[libc] fix fileno includes (#98514)
Fileno was directly including the FILE and so I missed it when replacing
all of the direct includes of stdio.h
Commit: b187ecb6ab05c12eea2e96ee56e2ed805744507b
https://github.com/llvm/llvm-project/commit/b187ecb6ab05c12eea2e96ee56e2ed805744507b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
Log Message:
-----------
[libc] fix baremetal getchar (#98515)
baremetal getchar got the wrong find/replace in the initial patch. This
patch fixes it.
Commit: 01a9888694a9c4724fefd6b734f05254f881027b
https://github.com/llvm/llvm-project/commit/01a9888694a9c4724fefd6b734f05254f881027b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add isGather() function and use it instead direct comparison, NFC.
Commit: 7f2a5dfe35f8bbaca2819644c7aa844f938befd6
https://github.com/llvm/llvm-project/commit/7f2a5dfe35f8bbaca2819644c7aa844f938befd6
Author: David Green <david.green at arm.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
A llvm/lib/Target/AArch64/peephole-sxtw.mir
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Log Message:
-----------
[AArch64] Remove superfluous sxtw in peephole opt (#96293)
Across a basic-block we might have in i32 extract from a value that only
operates on upper bits (for example a sxtw). We can replace the COPY
with a new version skipping the sxtw.
Commit: 2d7e136fc0e31207b962397250bc1581203c8d59
https://github.com/llvm/llvm-project/commit/2d7e136fc0e31207b962397250bc1581203c8d59
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Semantics/array-constr-len.f90
Log Message:
-----------
[flang] Adjust semantics of the char length of an array constructor (#97337)
An implied DO loop with no trips in an array constructor does not have a
well-defined character length unless its data items have a length that
is constant expression. That works, but the implementation is too
broadly applied. An array constructor with an explicit type-spec always
has a well-defined length.
Commit: 3f30effe1bd81fa1b039218a9bfe79c3b03fafad
https://github.com/llvm/llvm-project/commit/3f30effe1bd81fa1b039218a9bfe79c3b03fafad
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/benchmarks/LibcDefaultImplementations.cpp
M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
M libc/benchmarks/automemcpy/lib/CodeGen.cpp
M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
M libc/benchmarks/gpu/BenchmarkLogger.cpp
M libc/benchmarks/gpu/BenchmarkLogger.h
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/linux/app.h
M libc/docs/dev/clang_tidy_checks.rst
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/bitset.h
M libc/src/__support/CPP/cstddef.h
M libc/src/__support/CPP/expected.h
M libc/src/__support/CPP/functional.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/mutex.h
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/stringstream.h
M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
M libc/src/__support/CPP/type_traits/add_pointer.h
M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
M libc/src/__support/CPP/type_traits/aligned_storage.h
M libc/src/__support/CPP/type_traits/always_false.h
M libc/src/__support/CPP/type_traits/bool_constant.h
M libc/src/__support/CPP/type_traits/conditional.h
M libc/src/__support/CPP/type_traits/decay.h
M libc/src/__support/CPP/type_traits/enable_if.h
M libc/src/__support/CPP/type_traits/false_type.h
M libc/src/__support/CPP/type_traits/integral_constant.h
M libc/src/__support/CPP/type_traits/invoke.h
M libc/src/__support/CPP/type_traits/invoke_result.h
M libc/src/__support/CPP/type_traits/is_arithmetic.h
M libc/src/__support/CPP/type_traits/is_array.h
M libc/src/__support/CPP/type_traits/is_base_of.h
M libc/src/__support/CPP/type_traits/is_class.h
M libc/src/__support/CPP/type_traits/is_const.h
M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M libc/src/__support/CPP/type_traits/is_convertible.h
M libc/src/__support/CPP/type_traits/is_destructible.h
M libc/src/__support/CPP/type_traits/is_enum.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/CPP/type_traits/is_function.h
M libc/src/__support/CPP/type_traits/is_integral.h
M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
M libc/src/__support/CPP/type_traits/is_member_pointer.h
M libc/src/__support/CPP/type_traits/is_null_pointer.h
M libc/src/__support/CPP/type_traits/is_object.h
M libc/src/__support/CPP/type_traits/is_pointer.h
M libc/src/__support/CPP/type_traits/is_reference.h
M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
M libc/src/__support/CPP/type_traits/is_same.h
M libc/src/__support/CPP/type_traits/is_scalar.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
M libc/src/__support/CPP/type_traits/is_union.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/CPP/type_traits/is_void.h
M libc/src/__support/CPP/type_traits/make_signed.h
M libc/src/__support/CPP/type_traits/make_unsigned.h
M libc/src/__support/CPP/type_traits/remove_all_extents.h
M libc/src/__support/CPP/type_traits/remove_cv.h
M libc/src/__support/CPP/type_traits/remove_cvref.h
M libc/src/__support/CPP/type_traits/remove_extent.h
M libc/src/__support/CPP/type_traits/remove_reference.h
M libc/src/__support/CPP/type_traits/true_type.h
M libc/src/__support/CPP/type_traits/type_identity.h
M libc/src/__support/CPP/type_traits/void_t.h
M libc/src/__support/CPP/utility/declval.h
M libc/src/__support/CPP/utility/forward.h
M libc/src/__support/CPP/utility/in_place.h
M libc/src/__support/CPP/utility/integer_sequence.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/aarch64/nearest_integer.h
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/fpbits_str.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/README.md
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/triple_double.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/FPUtil/x86_64/nearest_integer.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/File/linux/stderr.cpp
M libc/src/__support/File/linux/stdin.cpp
M libc/src/__support/File/linux/stdout.cpp
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/GPU/allocator.h
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/baremetal/exit.cpp
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/__support/OSUtil/darwin/arm/syscall.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/OSUtil/darwin/syscall.h
M libc/src/__support/OSUtil/exit.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/fuchsia/io.h
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/gpu/io.h
M libc/src/__support/OSUtil/linux/aarch64/syscall.h
M libc/src/__support/OSUtil/linux/arm/syscall.h
M libc/src/__support/OSUtil/linux/exit.cpp
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/io.h
M libc/src/__support/OSUtil/linux/riscv/syscall.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/x86_64/syscall.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/RPC/rpc_client.cpp
M libc/src/__support/RPC/rpc_client.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/message_mapper.h
M libc/src/__support/StringUtil/signal_to_string.cpp
M libc/src/__support/StringUtil/signal_to_string.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/arg_list.h
M libc/src/__support/big_int.h
M libc/src/__support/block.h
M libc/src/__support/blockstore.h
M libc/src/__support/c_string.h
M libc/src/__support/char_vector.h
M libc/src/__support/common.h
M libc/src/__support/ctype_utils.h
M libc/src/__support/detailed_powers_of_ten.h
M libc/src/__support/endian.h
M libc/src/__support/error_or.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/fixedvector.h
M libc/src/__support/float_to_string.h
M libc/src/__support/freelist.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/hash.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_operations.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/intrusive_list.h
M libc/src/__support/libc_assert.h
M libc/src/__support/macros/config.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/str_to_num_result.h
M libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/callonce.h
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/fork_callbacks.h
M libc/src/__support/threads/gpu/mutex.h
M libc/src/__support/threads/linux/CndVar.cpp
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/__support/threads/linux/callonce.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/raw_mutex.h
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex_common.h
M libc/src/__support/threads/sleep.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
M libc/src/__support/time/linux/abs_timeout.h
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.h
M libc/src/__support/time/linux/monotonicity.h
M libc/src/__support/time/units.h
M libc/src/__support/wctype_utils.h
M libc/src/assert/__assert_fail.h
M libc/src/assert/generic/__assert_fail.cpp
M libc/src/assert/gpu/__assert_fail.cpp
M libc/src/ctype/isalnum.cpp
M libc/src/ctype/isalnum.h
M libc/src/ctype/isalpha.cpp
M libc/src/ctype/isalpha.h
M libc/src/ctype/isascii.cpp
M libc/src/ctype/isascii.h
M libc/src/ctype/isblank.cpp
M libc/src/ctype/isblank.h
M libc/src/ctype/iscntrl.cpp
M libc/src/ctype/iscntrl.h
M libc/src/ctype/isdigit.cpp
M libc/src/ctype/isdigit.h
M libc/src/ctype/isgraph.cpp
M libc/src/ctype/isgraph.h
M libc/src/ctype/islower.cpp
M libc/src/ctype/islower.h
M libc/src/ctype/isprint.cpp
M libc/src/ctype/isprint.h
M libc/src/ctype/ispunct.cpp
M libc/src/ctype/ispunct.h
M libc/src/ctype/isspace.cpp
M libc/src/ctype/isspace.h
M libc/src/ctype/isupper.cpp
M libc/src/ctype/isupper.h
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit.h
M libc/src/ctype/toascii.cpp
M libc/src/ctype/toascii.h
M libc/src/ctype/tolower.cpp
M libc/src/ctype/tolower.h
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/closedir.h
M libc/src/dirent/dirfd.cpp
M libc/src/dirent/dirfd.h
M libc/src/dirent/opendir.cpp
M libc/src/dirent/opendir.h
M libc/src/dirent/readdir.cpp
M libc/src/dirent/readdir.h
M libc/src/dlfcn/dlclose.cpp
M libc/src/dlfcn/dlclose.h
M libc/src/dlfcn/dlerror.cpp
M libc/src/dlfcn/dlerror.h
M libc/src/dlfcn/dlopen.cpp
M libc/src/dlfcn/dlopen.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/fcntl/creat.h
M libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/fenv/feclearexcept.cpp
M libc/src/fenv/feclearexcept.h
M libc/src/fenv/fedisableexcept.cpp
M libc/src/fenv/fedisableexcept.h
M libc/src/fenv/feenableexcept.cpp
M libc/src/fenv/feenableexcept.h
M libc/src/fenv/fegetenv.cpp
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexcept.cpp
M libc/src/fenv/fegetexcept.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fegetround.cpp
M libc/src/fenv/fegetround.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/feraiseexcept.cpp
M libc/src/fenv/feraiseexcept.h
M libc/src/fenv/fesetenv.cpp
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexcept.cpp
M libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/fesetround.cpp
M libc/src/fenv/fesetround.h
M libc/src/fenv/fetestexcept.cpp
M libc/src/fenv/fetestexcept.h
M libc/src/fenv/fetestexceptflag.cpp
M libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/gpu/rpc_fprintf.cpp
M libc/src/gpu/rpc_fprintf.h
M libc/src/gpu/rpc_host_call.cpp
M libc/src/gpu/rpc_host_call.h
M libc/src/inttypes/imaxabs.cpp
M libc/src/inttypes/imaxabs.h
M libc/src/inttypes/imaxdiv.cpp
M libc/src/inttypes/imaxdiv.h
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoimax.h
M libc/src/inttypes/strtoumax.cpp
M libc/src/inttypes/strtoumax.h
M libc/src/math/aarch64/ceil.cpp
M libc/src/math/aarch64/ceilf.cpp
M libc/src/math/aarch64/floor.cpp
M libc/src/math/aarch64/floorf.cpp
M libc/src/math/aarch64/round.cpp
M libc/src/math/aarch64/roundf.cpp
M libc/src/math/aarch64/trunc.cpp
M libc/src/math/aarch64/truncf.cpp
M libc/src/math/acos.h
M libc/src/math/acosf.h
M libc/src/math/acosh.h
M libc/src/math/acoshf.h
M libc/src/math/amdgpu/acos.cpp
M libc/src/math/amdgpu/acosf.cpp
M libc/src/math/amdgpu/acosh.cpp
M libc/src/math/amdgpu/acoshf.cpp
M libc/src/math/amdgpu/asin.cpp
M libc/src/math/amdgpu/asinf.cpp
M libc/src/math/amdgpu/asinh.cpp
M libc/src/math/amdgpu/asinhf.cpp
M libc/src/math/amdgpu/atan.cpp
M libc/src/math/amdgpu/atan2.cpp
M libc/src/math/amdgpu/atan2f.cpp
M libc/src/math/amdgpu/atanf.cpp
M libc/src/math/amdgpu/atanh.cpp
M libc/src/math/amdgpu/atanhf.cpp
M libc/src/math/amdgpu/ceil.cpp
M libc/src/math/amdgpu/ceilf.cpp
M libc/src/math/amdgpu/copysign.cpp
M libc/src/math/amdgpu/copysignf.cpp
M libc/src/math/amdgpu/cos.cpp
M libc/src/math/amdgpu/cosf.cpp
M libc/src/math/amdgpu/cosh.cpp
M libc/src/math/amdgpu/coshf.cpp
M libc/src/math/amdgpu/declarations.h
M libc/src/math/amdgpu/erf.cpp
M libc/src/math/amdgpu/erff.cpp
M libc/src/math/amdgpu/exp.cpp
M libc/src/math/amdgpu/exp10.cpp
M libc/src/math/amdgpu/exp10f.cpp
M libc/src/math/amdgpu/exp2.cpp
M libc/src/math/amdgpu/exp2f.cpp
M libc/src/math/amdgpu/expf.cpp
M libc/src/math/amdgpu/expm1.cpp
M libc/src/math/amdgpu/expm1f.cpp
M libc/src/math/amdgpu/fabs.cpp
M libc/src/math/amdgpu/fabsf.cpp
M libc/src/math/amdgpu/fdim.cpp
M libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/floor.cpp
M libc/src/math/amdgpu/floorf.cpp
M libc/src/math/amdgpu/fma.cpp
M libc/src/math/amdgpu/fmaf.cpp
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/amdgpu/fmod.cpp
M libc/src/math/amdgpu/fmodf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
M libc/src/math/amdgpu/hypot.cpp
M libc/src/math/amdgpu/hypotf.cpp
M libc/src/math/amdgpu/ilogb.cpp
M libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
M libc/src/math/amdgpu/log.cpp
M libc/src/math/amdgpu/log10.cpp
M libc/src/math/amdgpu/log10f.cpp
M libc/src/math/amdgpu/log1p.cpp
M libc/src/math/amdgpu/log1pf.cpp
M libc/src/math/amdgpu/log2.cpp
M libc/src/math/amdgpu/log2f.cpp
M libc/src/math/amdgpu/logb.cpp
M libc/src/math/amdgpu/logbf.cpp
M libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
M libc/src/math/amdgpu/nearbyint.cpp
M libc/src/math/amdgpu/nearbyintf.cpp
M libc/src/math/amdgpu/nextafter.cpp
M libc/src/math/amdgpu/nextafterf.cpp
M libc/src/math/amdgpu/platform.h
M libc/src/math/amdgpu/pow.cpp
M libc/src/math/amdgpu/powf.cpp
M libc/src/math/amdgpu/powi.cpp
M libc/src/math/amdgpu/powif.cpp
M libc/src/math/amdgpu/remainder.cpp
M libc/src/math/amdgpu/remainderf.cpp
M libc/src/math/amdgpu/remquo.cpp
M libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/rint.cpp
M libc/src/math/amdgpu/rintf.cpp
M libc/src/math/amdgpu/round.cpp
M libc/src/math/amdgpu/roundf.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
M libc/src/math/amdgpu/sin.cpp
M libc/src/math/amdgpu/sincos.cpp
M libc/src/math/amdgpu/sincosf.cpp
M libc/src/math/amdgpu/sinf.cpp
M libc/src/math/amdgpu/sinh.cpp
M libc/src/math/amdgpu/sinhf.cpp
M libc/src/math/amdgpu/sqrt.cpp
M libc/src/math/amdgpu/sqrtf.cpp
M libc/src/math/amdgpu/tan.cpp
M libc/src/math/amdgpu/tanf.cpp
M libc/src/math/amdgpu/tanh.cpp
M libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/amdgpu/trunc.cpp
M libc/src/math/amdgpu/truncf.cpp
M libc/src/math/asin.h
M libc/src/math/asinf.h
M libc/src/math/asinh.h
M libc/src/math/asinhf.h
M libc/src/math/atan.h
M libc/src/math/atan2.h
M libc/src/math/atan2f.h
M libc/src/math/atanf.h
M libc/src/math/atanh.h
M libc/src/math/atanhf.h
M libc/src/math/canonicalize.h
M libc/src/math/canonicalizef.h
M libc/src/math/canonicalizef128.h
M libc/src/math/canonicalizef16.h
M libc/src/math/canonicalizel.h
M libc/src/math/cbrtf.h
M libc/src/math/ceil.h
M libc/src/math/ceilf.h
M libc/src/math/ceilf128.h
M libc/src/math/ceilf16.h
M libc/src/math/ceill.h
M libc/src/math/copysign.h
M libc/src/math/copysignf.h
M libc/src/math/copysignf128.h
M libc/src/math/copysignf16.h
M libc/src/math/copysignl.h
M libc/src/math/cos.h
M libc/src/math/cosf.h
M libc/src/math/cosh.h
M libc/src/math/coshf.h
M libc/src/math/cospif.h
M libc/src/math/erf.h
M libc/src/math/erff.h
M libc/src/math/exp.h
M libc/src/math/exp10.h
M libc/src/math/exp10f.h
M libc/src/math/exp2.h
M libc/src/math/exp2f.h
M libc/src/math/exp2m1f.h
M libc/src/math/expf.h
M libc/src/math/expm1.h
M libc/src/math/expm1f.h
M libc/src/math/f16add.h
M libc/src/math/f16addf.h
M libc/src/math/f16addf128.h
M libc/src/math/f16addl.h
M libc/src/math/f16div.h
M libc/src/math/f16divf.h
M libc/src/math/f16divf128.h
M libc/src/math/f16divl.h
M libc/src/math/f16fma.h
M libc/src/math/f16fmaf.h
M libc/src/math/f16fmaf128.h
M libc/src/math/f16fmal.h
M libc/src/math/f16sqrt.h
M libc/src/math/f16sqrtf.h
M libc/src/math/f16sqrtf128.h
M libc/src/math/f16sqrtl.h
M libc/src/math/f16sub.h
M libc/src/math/f16subf.h
M libc/src/math/f16subf128.h
M libc/src/math/f16subl.h
M libc/src/math/fabs.h
M libc/src/math/fabsf.h
M libc/src/math/fabsf128.h
M libc/src/math/fabsf16.h
M libc/src/math/fabsl.h
M libc/src/math/fdim.h
M libc/src/math/fdimf.h
M libc/src/math/fdimf128.h
M libc/src/math/fdimf16.h
M libc/src/math/fdiml.h
M libc/src/math/floor.h
M libc/src/math/floorf.h
M libc/src/math/floorf128.h
M libc/src/math/floorf16.h
M libc/src/math/floorl.h
M libc/src/math/fma.h
M libc/src/math/fmaf.h
M libc/src/math/fmax.h
M libc/src/math/fmaxf.h
M libc/src/math/fmaxf128.h
M libc/src/math/fmaxf16.h
M libc/src/math/fmaximum.h
M libc/src/math/fmaximum_mag.h
M libc/src/math/fmaximum_mag_num.h
M libc/src/math/fmaximum_mag_numf.h
M libc/src/math/fmaximum_mag_numf128.h
M libc/src/math/fmaximum_mag_numf16.h
M libc/src/math/fmaximum_mag_numl.h
M libc/src/math/fmaximum_magf.h
M libc/src/math/fmaximum_magf128.h
M libc/src/math/fmaximum_magf16.h
M libc/src/math/fmaximum_magl.h
M libc/src/math/fmaximum_num.h
M libc/src/math/fmaximum_numf.h
M libc/src/math/fmaximum_numf128.h
M libc/src/math/fmaximum_numf16.h
M libc/src/math/fmaximum_numl.h
M libc/src/math/fmaximumf.h
M libc/src/math/fmaximumf128.h
M libc/src/math/fmaximumf16.h
M libc/src/math/fmaximuml.h
M libc/src/math/fmaxl.h
M libc/src/math/fmin.h
M libc/src/math/fminf.h
M libc/src/math/fminf128.h
M libc/src/math/fminf16.h
M libc/src/math/fminimum.h
M libc/src/math/fminimum_mag.h
M libc/src/math/fminimum_mag_num.h
M libc/src/math/fminimum_mag_numf.h
M libc/src/math/fminimum_mag_numf128.h
M libc/src/math/fminimum_mag_numf16.h
M libc/src/math/fminimum_mag_numl.h
M libc/src/math/fminimum_magf.h
M libc/src/math/fminimum_magf128.h
M libc/src/math/fminimum_magf16.h
M libc/src/math/fminimum_magl.h
M libc/src/math/fminimum_num.h
M libc/src/math/fminimum_numf.h
M libc/src/math/fminimum_numf128.h
M libc/src/math/fminimum_numf16.h
M libc/src/math/fminimum_numl.h
M libc/src/math/fminimumf.h
M libc/src/math/fminimumf128.h
M libc/src/math/fminimumf16.h
M libc/src/math/fminimuml.h
M libc/src/math/fminl.h
M libc/src/math/fmod.h
M libc/src/math/fmodf.h
M libc/src/math/fmodf128.h
M libc/src/math/fmodf16.h
M libc/src/math/fmodl.h
M libc/src/math/fmul.h
M libc/src/math/frexp.h
M libc/src/math/frexpf.h
M libc/src/math/frexpf128.h
M libc/src/math/frexpf16.h
M libc/src/math/frexpl.h
M libc/src/math/fromfp.h
M libc/src/math/fromfpf.h
M libc/src/math/fromfpf128.h
M libc/src/math/fromfpf16.h
M libc/src/math/fromfpl.h
M libc/src/math/fromfpx.h
M libc/src/math/fromfpxf.h
M libc/src/math/fromfpxf128.h
M libc/src/math/fromfpxf16.h
M libc/src/math/fromfpxl.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/ceil.cpp
M libc/src/math/generic/ceilf.cpp
M libc/src/math/generic/ceilf128.cpp
M libc/src/math/generic/ceilf16.cpp
M libc/src/math/generic/ceill.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/copysign.cpp
M libc/src/math/generic/copysignf.cpp
M libc/src/math/generic/copysignf128.cpp
M libc/src/math/generic/copysignf16.cpp
M libc/src/math/generic/copysignl.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16fma.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16fmal.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/f16sqrtf128.cpp
M libc/src/math/generic/f16sqrtl.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.cpp
M libc/src/math/generic/fabs.cpp
M libc/src/math/generic/fabsf.cpp
M libc/src/math/generic/fabsf128.cpp
M libc/src/math/generic/fabsf16.cpp
M libc/src/math/generic/fabsl.cpp
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/src/math/generic/fma.cpp
M libc/src/math/generic/fmaf.cpp
M libc/src/math/generic/fmax.cpp
M libc/src/math/generic/fmaxf.cpp
M libc/src/math/generic/fmaxf128.cpp
M libc/src/math/generic/fmaxf16.cpp
M libc/src/math/generic/fmaximum.cpp
M libc/src/math/generic/fmaximum_mag.cpp
M libc/src/math/generic/fmaximum_mag_num.cpp
M libc/src/math/generic/fmaximum_mag_numf.cpp
M libc/src/math/generic/fmaximum_mag_numf128.cpp
M libc/src/math/generic/fmaximum_mag_numf16.cpp
M libc/src/math/generic/fmaximum_mag_numl.cpp
M libc/src/math/generic/fmaximum_magf.cpp
M libc/src/math/generic/fmaximum_magf128.cpp
M libc/src/math/generic/fmaximum_magf16.cpp
M libc/src/math/generic/fmaximum_magl.cpp
M libc/src/math/generic/fmaximum_num.cpp
M libc/src/math/generic/fmaximum_numf.cpp
M libc/src/math/generic/fmaximum_numf128.cpp
M libc/src/math/generic/fmaximum_numf16.cpp
M libc/src/math/generic/fmaximum_numl.cpp
M libc/src/math/generic/fmaximumf.cpp
M libc/src/math/generic/fmaximumf128.cpp
M libc/src/math/generic/fmaximumf16.cpp
M libc/src/math/generic/fmaximuml.cpp
M libc/src/math/generic/fmaxl.cpp
M libc/src/math/generic/fmin.cpp
M libc/src/math/generic/fminf.cpp
M libc/src/math/generic/fminf128.cpp
M libc/src/math/generic/fminf16.cpp
M libc/src/math/generic/fminimum.cpp
M libc/src/math/generic/fminimum_mag.cpp
M libc/src/math/generic/fminimum_mag_num.cpp
M libc/src/math/generic/fminimum_mag_numf.cpp
M libc/src/math/generic/fminimum_mag_numf128.cpp
M libc/src/math/generic/fminimum_mag_numf16.cpp
M libc/src/math/generic/fminimum_mag_numl.cpp
M libc/src/math/generic/fminimum_magf.cpp
M libc/src/math/generic/fminimum_magf128.cpp
M libc/src/math/generic/fminimum_magf16.cpp
M libc/src/math/generic/fminimum_magl.cpp
M libc/src/math/generic/fminimum_num.cpp
M libc/src/math/generic/fminimum_numf.cpp
M libc/src/math/generic/fminimum_numf128.cpp
M libc/src/math/generic/fminimum_numf16.cpp
M libc/src/math/generic/fminimum_numl.cpp
M libc/src/math/generic/fminimumf.cpp
M libc/src/math/generic/fminimumf128.cpp
M libc/src/math/generic/fminimumf16.cpp
M libc/src/math/generic/fminimuml.cpp
M libc/src/math/generic/fminl.cpp
M libc/src/math/generic/fmod.cpp
M libc/src/math/generic/fmodf.cpp
M libc/src/math/generic/fmodf128.cpp
M libc/src/math/generic/fmodf16.cpp
M libc/src/math/generic/fmodl.cpp
M libc/src/math/generic/fmul.cpp
M libc/src/math/generic/frexp.cpp
M libc/src/math/generic/frexpf.cpp
M libc/src/math/generic/frexpf128.cpp
M libc/src/math/generic/frexpf16.cpp
M libc/src/math/generic/frexpl.cpp
M libc/src/math/generic/fromfp.cpp
M libc/src/math/generic/fromfpf.cpp
M libc/src/math/generic/fromfpf128.cpp
M libc/src/math/generic/fromfpf16.cpp
M libc/src/math/generic/fromfpl.cpp
M libc/src/math/generic/fromfpx.cpp
M libc/src/math/generic/fromfpxf.cpp
M libc/src/math/generic/fromfpxf128.cpp
M libc/src/math/generic/fromfpxf16.cpp
M libc/src/math/generic/fromfpxl.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/hypot.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/ilogb.cpp
M libc/src/math/generic/ilogbf.cpp
M libc/src/math/generic/ilogbf128.cpp
M libc/src/math/generic/ilogbf16.cpp
M libc/src/math/generic/ilogbl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/isnan.cpp
M libc/src/math/generic/isnanf.cpp
M libc/src/math/generic/isnanl.cpp
M libc/src/math/generic/ldexp.cpp
M libc/src/math/generic/ldexpf.cpp
M libc/src/math/generic/ldexpf128.cpp
M libc/src/math/generic/ldexpf16.cpp
M libc/src/math/generic/ldexpl.cpp
M libc/src/math/generic/llogb.cpp
M libc/src/math/generic/llogbf.cpp
M libc/src/math/generic/llogbf128.cpp
M libc/src/math/generic/llogbf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/llrint.cpp
M libc/src/math/generic/llrintf.cpp
M libc/src/math/generic/llrintf128.cpp
M libc/src/math/generic/llrintf16.cpp
M libc/src/math/generic/llrintl.cpp
M libc/src/math/generic/llround.cpp
M libc/src/math/generic/llroundf.cpp
M libc/src/math/generic/llroundf128.cpp
M libc/src/math/generic/llroundf16.cpp
M libc/src/math/generic/llroundl.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logb.cpp
M libc/src/math/generic/logbf.cpp
M libc/src/math/generic/logbf128.cpp
M libc/src/math/generic/logbf16.cpp
M libc/src/math/generic/logbl.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/lrint.cpp
M libc/src/math/generic/lrintf.cpp
M libc/src/math/generic/lrintf128.cpp
M libc/src/math/generic/lrintf16.cpp
M libc/src/math/generic/lrintl.cpp
M libc/src/math/generic/lround.cpp
M libc/src/math/generic/lroundf.cpp
M libc/src/math/generic/lroundf128.cpp
M libc/src/math/generic/lroundf16.cpp
M libc/src/math/generic/lroundl.cpp
M libc/src/math/generic/modf.cpp
M libc/src/math/generic/modff.cpp
M libc/src/math/generic/modff128.cpp
M libc/src/math/generic/modff16.cpp
M libc/src/math/generic/modfl.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/generic/nearbyint.cpp
M libc/src/math/generic/nearbyintf.cpp
M libc/src/math/generic/nearbyintf128.cpp
M libc/src/math/generic/nearbyintf16.cpp
M libc/src/math/generic/nearbyintl.cpp
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.cpp
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.cpp
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction.h
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/range_reduction_double_fma.h
M libc/src/math/generic/range_reduction_double_nofma.h
M libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/remainder.cpp
M libc/src/math/generic/remainderf.cpp
M libc/src/math/generic/remainderf16.cpp
M libc/src/math/generic/remainderl.cpp
M libc/src/math/generic/remquo.cpp
M libc/src/math/generic/remquof.cpp
M libc/src/math/generic/remquof128.cpp
M libc/src/math/generic/remquof16.cpp
M libc/src/math/generic/remquol.cpp
M libc/src/math/generic/rint.cpp
M libc/src/math/generic/rintf.cpp
M libc/src/math/generic/rintf128.cpp
M libc/src/math/generic/rintf16.cpp
M libc/src/math/generic/rintl.cpp
M libc/src/math/generic/round.cpp
M libc/src/math/generic/roundeven.cpp
M libc/src/math/generic/roundevenf.cpp
M libc/src/math/generic/roundevenf128.cpp
M libc/src/math/generic/roundevenf16.cpp
M libc/src/math/generic/roundevenl.cpp
M libc/src/math/generic/roundf.cpp
M libc/src/math/generic/roundf128.cpp
M libc/src/math/generic/roundf16.cpp
M libc/src/math/generic/roundl.cpp
M libc/src/math/generic/scalblnf16.cpp
M libc/src/math/generic/scalbn.cpp
M libc/src/math/generic/scalbnf.cpp
M libc/src/math/generic/scalbnf128.cpp
M libc/src/math/generic/scalbnf16.cpp
M libc/src/math/generic/scalbnl.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sqrt.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/sqrtl.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/totalorderf16.cpp
M libc/src/math/generic/totalordermagf16.cpp
M libc/src/math/generic/trunc.cpp
M libc/src/math/generic/truncf.cpp
M libc/src/math/generic/truncf128.cpp
M libc/src/math/generic/truncf16.cpp
M libc/src/math/generic/truncl.cpp
M libc/src/math/generic/ufromfp.cpp
M libc/src/math/generic/ufromfpf.cpp
M libc/src/math/generic/ufromfpf128.cpp
M libc/src/math/generic/ufromfpf16.cpp
M libc/src/math/generic/ufromfpl.cpp
M libc/src/math/generic/ufromfpx.cpp
M libc/src/math/generic/ufromfpxf.cpp
M libc/src/math/generic/ufromfpxf128.cpp
M libc/src/math/generic/ufromfpxf16.cpp
M libc/src/math/generic/ufromfpxl.cpp
M libc/src/math/getpayloadf16.h
M libc/src/math/hypot.h
M libc/src/math/hypotf.h
M libc/src/math/ilogb.h
M libc/src/math/ilogbf.h
M libc/src/math/ilogbf128.h
M libc/src/math/ilogbf16.h
M libc/src/math/ilogbl.h
M libc/src/math/isnan.h
M libc/src/math/isnanf.h
M libc/src/math/isnanl.h
M libc/src/math/ldexp.h
M libc/src/math/ldexpf.h
M libc/src/math/ldexpf128.h
M libc/src/math/ldexpf16.h
M libc/src/math/ldexpl.h
M libc/src/math/llogb.h
M libc/src/math/llogbf.h
M libc/src/math/llogbf128.h
M libc/src/math/llogbf16.h
M libc/src/math/llogbl.h
M libc/src/math/llrint.h
M libc/src/math/llrintf.h
M libc/src/math/llrintf128.h
M libc/src/math/llrintf16.h
M libc/src/math/llrintl.h
M libc/src/math/llround.h
M libc/src/math/llroundf.h
M libc/src/math/llroundf128.h
M libc/src/math/llroundf16.h
M libc/src/math/llroundl.h
M libc/src/math/log.h
M libc/src/math/log10.h
M libc/src/math/log10f.h
M libc/src/math/log1p.h
M libc/src/math/log1pf.h
M libc/src/math/log2.h
M libc/src/math/log2f.h
M libc/src/math/logb.h
M libc/src/math/logbf.h
M libc/src/math/logbf128.h
M libc/src/math/logbf16.h
M libc/src/math/logbl.h
M libc/src/math/logf.h
M libc/src/math/lrint.h
M libc/src/math/lrintf.h
M libc/src/math/lrintf128.h
M libc/src/math/lrintf16.h
M libc/src/math/lrintl.h
M libc/src/math/lround.h
M libc/src/math/lroundf.h
M libc/src/math/lroundf128.h
M libc/src/math/lroundf16.h
M libc/src/math/lroundl.h
M libc/src/math/modf.h
M libc/src/math/modff.h
M libc/src/math/modff128.h
M libc/src/math/modff16.h
M libc/src/math/modfl.h
M libc/src/math/nan.h
M libc/src/math/nanf.h
M libc/src/math/nanf128.h
M libc/src/math/nanf16.h
M libc/src/math/nanl.h
M libc/src/math/nearbyint.h
M libc/src/math/nearbyintf.h
M libc/src/math/nearbyintf128.h
M libc/src/math/nearbyintf16.h
M libc/src/math/nearbyintl.h
M libc/src/math/nextafter.h
M libc/src/math/nextafterf.h
M libc/src/math/nextafterf128.h
M libc/src/math/nextafterf16.h
M libc/src/math/nextafterl.h
M libc/src/math/nextdown.h
M libc/src/math/nextdownf.h
M libc/src/math/nextdownf128.h
M libc/src/math/nextdownf16.h
M libc/src/math/nextdownl.h
M libc/src/math/nexttoward.h
M libc/src/math/nexttowardf.h
M libc/src/math/nexttowardf16.h
M libc/src/math/nexttowardl.h
M libc/src/math/nextup.h
M libc/src/math/nextupf.h
M libc/src/math/nextupf128.h
M libc/src/math/nextupf16.h
M libc/src/math/nextupl.h
M libc/src/math/nvptx/acos.cpp
M libc/src/math/nvptx/acosf.cpp
M libc/src/math/nvptx/acosh.cpp
M libc/src/math/nvptx/acoshf.cpp
M libc/src/math/nvptx/asin.cpp
M libc/src/math/nvptx/asinf.cpp
M libc/src/math/nvptx/asinh.cpp
M libc/src/math/nvptx/asinhf.cpp
M libc/src/math/nvptx/atan.cpp
M libc/src/math/nvptx/atan2.cpp
M libc/src/math/nvptx/atan2f.cpp
M libc/src/math/nvptx/atanf.cpp
M libc/src/math/nvptx/atanh.cpp
M libc/src/math/nvptx/atanhf.cpp
M libc/src/math/nvptx/ceil.cpp
M libc/src/math/nvptx/ceilf.cpp
M libc/src/math/nvptx/copysign.cpp
M libc/src/math/nvptx/copysignf.cpp
M libc/src/math/nvptx/cos.cpp
M libc/src/math/nvptx/cosf.cpp
M libc/src/math/nvptx/cosh.cpp
M libc/src/math/nvptx/coshf.cpp
M libc/src/math/nvptx/declarations.h
M libc/src/math/nvptx/erf.cpp
M libc/src/math/nvptx/erff.cpp
M libc/src/math/nvptx/exp.cpp
M libc/src/math/nvptx/exp10.cpp
M libc/src/math/nvptx/exp10f.cpp
M libc/src/math/nvptx/exp2.cpp
M libc/src/math/nvptx/exp2f.cpp
M libc/src/math/nvptx/expf.cpp
M libc/src/math/nvptx/expm1.cpp
M libc/src/math/nvptx/expm1f.cpp
M libc/src/math/nvptx/fabs.cpp
M libc/src/math/nvptx/fabsf.cpp
M libc/src/math/nvptx/fdim.cpp
M libc/src/math/nvptx/fdimf.cpp
M libc/src/math/nvptx/floor.cpp
M libc/src/math/nvptx/floorf.cpp
M libc/src/math/nvptx/fma.cpp
M libc/src/math/nvptx/fmaf.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/src/math/nvptx/fmod.cpp
M libc/src/math/nvptx/fmodf.cpp
M libc/src/math/nvptx/frexp.cpp
M libc/src/math/nvptx/frexpf.cpp
M libc/src/math/nvptx/hypot.cpp
M libc/src/math/nvptx/hypotf.cpp
M libc/src/math/nvptx/ilogb.cpp
M libc/src/math/nvptx/ilogbf.cpp
M libc/src/math/nvptx/ldexp.cpp
M libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/log.cpp
M libc/src/math/nvptx/log10.cpp
M libc/src/math/nvptx/log10f.cpp
M libc/src/math/nvptx/log1p.cpp
M libc/src/math/nvptx/log1pf.cpp
M libc/src/math/nvptx/log2.cpp
M libc/src/math/nvptx/log2f.cpp
M libc/src/math/nvptx/logb.cpp
M libc/src/math/nvptx/logbf.cpp
M libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
M libc/src/math/nvptx/lrintf.cpp
M libc/src/math/nvptx/nearbyint.cpp
M libc/src/math/nvptx/nearbyintf.cpp
M libc/src/math/nvptx/nextafter.cpp
M libc/src/math/nvptx/nextafterf.cpp
M libc/src/math/nvptx/nvptx.h
M libc/src/math/nvptx/pow.cpp
M libc/src/math/nvptx/powf.cpp
M libc/src/math/nvptx/powi.cpp
M libc/src/math/nvptx/powif.cpp
M libc/src/math/nvptx/remainder.cpp
M libc/src/math/nvptx/remainderf.cpp
M libc/src/math/nvptx/remquo.cpp
M libc/src/math/nvptx/remquof.cpp
M libc/src/math/nvptx/rint.cpp
M libc/src/math/nvptx/rintf.cpp
M libc/src/math/nvptx/round.cpp
M libc/src/math/nvptx/roundf.cpp
M libc/src/math/nvptx/scalbn.cpp
M libc/src/math/nvptx/scalbnf.cpp
M libc/src/math/nvptx/sin.cpp
M libc/src/math/nvptx/sincos.cpp
M libc/src/math/nvptx/sincosf.cpp
M libc/src/math/nvptx/sinf.cpp
M libc/src/math/nvptx/sinh.cpp
M libc/src/math/nvptx/sinhf.cpp
M libc/src/math/nvptx/sqrt.cpp
M libc/src/math/nvptx/sqrtf.cpp
M libc/src/math/nvptx/tan.cpp
M libc/src/math/nvptx/tanf.cpp
M libc/src/math/nvptx/tanh.cpp
M libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/math/nvptx/trunc.cpp
M libc/src/math/nvptx/truncf.cpp
M libc/src/math/pow.h
M libc/src/math/powf.h
M libc/src/math/powi.h
M libc/src/math/powif.h
M libc/src/math/remainder.h
M libc/src/math/remainderf.h
M libc/src/math/remainderf16.h
M libc/src/math/remainderl.h
M libc/src/math/remquo.h
M libc/src/math/remquof.h
M libc/src/math/remquof128.h
M libc/src/math/remquof16.h
M libc/src/math/remquol.h
M libc/src/math/rint.h
M libc/src/math/rintf.h
M libc/src/math/rintf128.h
M libc/src/math/rintf16.h
M libc/src/math/rintl.h
M libc/src/math/round.h
M libc/src/math/roundeven.h
M libc/src/math/roundevenf.h
M libc/src/math/roundevenf128.h
M libc/src/math/roundevenf16.h
M libc/src/math/roundevenl.h
M libc/src/math/roundf.h
M libc/src/math/roundf128.h
M libc/src/math/roundf16.h
M libc/src/math/roundl.h
M libc/src/math/scalblnf16.h
M libc/src/math/scalbn.h
M libc/src/math/scalbnf.h
M libc/src/math/scalbnf128.h
M libc/src/math/scalbnf16.h
M libc/src/math/scalbnl.h
M libc/src/math/setpayloadf16.h
M libc/src/math/setpayloadsigf16.h
M libc/src/math/sin.h
M libc/src/math/sincos.h
M libc/src/math/sincosf.h
M libc/src/math/sinf.h
M libc/src/math/sinh.h
M libc/src/math/sinhf.h
M libc/src/math/sinpif.h
M libc/src/math/sqrt.h
M libc/src/math/sqrtf.h
M libc/src/math/sqrtf128.h
M libc/src/math/sqrtl.h
M libc/src/math/tan.h
M libc/src/math/tanf.h
M libc/src/math/tanh.h
M libc/src/math/tanhf.h
M libc/src/math/tgamma.h
M libc/src/math/tgammaf.h
M libc/src/math/totalorderf16.h
M libc/src/math/totalordermagf16.h
M libc/src/math/trunc.h
M libc/src/math/truncf.h
M libc/src/math/truncf128.h
M libc/src/math/truncf16.h
M libc/src/math/truncl.h
M libc/src/math/ufromfp.h
M libc/src/math/ufromfpf.h
M libc/src/math/ufromfpf128.h
M libc/src/math/ufromfpf16.h
M libc/src/math/ufromfpl.h
M libc/src/math/ufromfpx.h
M libc/src/math/ufromfpxf.h
M libc/src/math/ufromfpxf128.h
M libc/src/math/ufromfpxf16.h
M libc/src/math/ufromfpxl.h
M libc/src/network/htonl.cpp
M libc/src/network/htonl.h
M libc/src/network/htons.cpp
M libc/src/network/htons.h
M libc/src/network/ntohl.cpp
M libc/src/network/ntohl.h
M libc/src/network/ntohs.cpp
M libc/src/network/ntohs.h
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_atfork.h
M libc/src/pthread/pthread_attr_destroy.cpp
M libc/src/pthread/pthread_attr_destroy.h
M libc/src/pthread/pthread_attr_getdetachstate.cpp
M libc/src/pthread/pthread_attr_getdetachstate.h
M libc/src/pthread/pthread_attr_getguardsize.cpp
M libc/src/pthread/pthread_attr_getguardsize.h
M libc/src/pthread/pthread_attr_getstack.cpp
M libc/src/pthread/pthread_attr_getstack.h
M libc/src/pthread/pthread_attr_getstacksize.cpp
M libc/src/pthread/pthread_attr_getstacksize.h
M libc/src/pthread/pthread_attr_init.cpp
M libc/src/pthread/pthread_attr_init.h
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setdetachstate.h
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setguardsize.h
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstack.h
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_attr_setstacksize.h
M libc/src/pthread/pthread_condattr_destroy.cpp
M libc/src/pthread/pthread_condattr_destroy.h
M libc/src/pthread/pthread_condattr_getclock.cpp
M libc/src/pthread/pthread_condattr_getclock.h
M libc/src/pthread/pthread_condattr_getpshared.cpp
M libc/src/pthread/pthread_condattr_getpshared.h
M libc/src/pthread/pthread_condattr_init.cpp
M libc/src/pthread/pthread_condattr_init.h
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setclock.h
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_condattr_setpshared.h
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_create.h
M libc/src/pthread/pthread_detach.cpp
M libc/src/pthread/pthread_detach.h
M libc/src/pthread/pthread_equal.cpp
M libc/src/pthread/pthread_equal.h
M libc/src/pthread/pthread_exit.cpp
M libc/src/pthread/pthread_exit.h
M libc/src/pthread/pthread_getname_np.cpp
M libc/src/pthread/pthread_getname_np.h
M libc/src/pthread/pthread_getspecific.cpp
M libc/src/pthread/pthread_getspecific.h
M libc/src/pthread/pthread_join.cpp
M libc/src/pthread/pthread_join.h
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_create.h
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_key_delete.h
M libc/src/pthread/pthread_mutex_destroy.cpp
M libc/src/pthread/pthread_mutex_destroy.h
M libc/src/pthread/pthread_mutex_init.cpp
M libc/src/pthread/pthread_mutex_init.h
M libc/src/pthread/pthread_mutex_lock.cpp
M libc/src/pthread/pthread_mutex_lock.h
M libc/src/pthread/pthread_mutex_unlock.cpp
M libc/src/pthread/pthread_mutex_unlock.h
M libc/src/pthread/pthread_mutexattr.h
M libc/src/pthread/pthread_mutexattr_destroy.cpp
M libc/src/pthread/pthread_mutexattr_destroy.h
M libc/src/pthread/pthread_mutexattr_getpshared.cpp
M libc/src/pthread/pthread_mutexattr_getpshared.h
M libc/src/pthread/pthread_mutexattr_getrobust.cpp
M libc/src/pthread/pthread_mutexattr_getrobust.h
M libc/src/pthread/pthread_mutexattr_gettype.cpp
M libc/src/pthread/pthread_mutexattr_gettype.h
M libc/src/pthread/pthread_mutexattr_init.cpp
M libc/src/pthread/pthread_mutexattr_init.h
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.h
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.h
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_mutexattr_settype.h
M libc/src/pthread/pthread_once.cpp
M libc/src/pthread/pthread_once.h
M libc/src/pthread/pthread_rwlock_destroy.cpp
M libc/src/pthread/pthread_rwlock_destroy.h
M libc/src/pthread/pthread_rwlock_init.cpp
M libc/src/pthread/pthread_rwlock_init.h
M libc/src/pthread/pthread_rwlock_rdlock.cpp
M libc/src/pthread/pthread_rwlock_rdlock.h
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.h
M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
M libc/src/pthread/pthread_rwlock_timedwrlock.h
M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
M libc/src/pthread/pthread_rwlock_tryrdlock.h
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.h
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.h
M libc/src/pthread/pthread_rwlock_wrlock.cpp
M libc/src/pthread/pthread_rwlock_wrlock.h
M libc/src/pthread/pthread_rwlockattr_destroy.cpp
M libc/src/pthread/pthread_rwlockattr_destroy.h
M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
M libc/src/pthread/pthread_rwlockattr_getpshared.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
M libc/src/pthread/pthread_rwlockattr_init.h
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.h
M libc/src/pthread/pthread_self.cpp
M libc/src/pthread/pthread_self.h
M libc/src/pthread/pthread_setname_np.cpp
M libc/src/pthread/pthread_setname_np.h
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/pthread/pthread_setspecific.h
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getcpucount.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/sched/sched_get_priority_max.h
M libc/src/sched/sched_get_priority_min.h
M libc/src/sched/sched_getaffinity.h
M libc/src/sched/sched_getcpucount.h
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_getscheduler.h
M libc/src/sched/sched_rr_get_interval.h
M libc/src/sched/sched_setaffinity.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/src/sched/sched_yield.h
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate.h
M libc/src/search/hcreate_r.cpp
M libc/src/search/hcreate_r.h
M libc/src/search/hdestroy.cpp
M libc/src/search/hdestroy.h
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hdestroy_r.h
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch.h
M libc/src/search/hsearch/global.cpp
M libc/src/search/hsearch/global.h
M libc/src/search/hsearch_r.cpp
M libc/src/search/hsearch_r.h
M libc/src/search/insque.cpp
M libc/src/search/insque.h
M libc/src/search/remque.cpp
M libc/src/search/remque.h
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/src/signal/kill.h
M libc/src/signal/linux/__restore.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/raise.h
M libc/src/signal/sigaction.h
M libc/src/signal/sigaddset.h
M libc/src/signal/sigaltstack.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/signal.h
M libc/src/signal/sigprocmask.h
M libc/src/spawn/file_actions.h
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/spawn/posix_spawn.h
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.h
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.h
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.h
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.h
M libc/src/spawn/posix_spawn_file_actions_init.cpp
M libc/src/spawn/posix_spawn_file_actions_init.h
M libc/src/stdbit/stdc_bit_ceil_uc.cpp
M libc/src/stdbit/stdc_bit_ceil_uc.h
M libc/src/stdbit/stdc_bit_ceil_ui.cpp
M libc/src/stdbit/stdc_bit_ceil_ui.h
M libc/src/stdbit/stdc_bit_ceil_ul.cpp
M libc/src/stdbit/stdc_bit_ceil_ul.h
M libc/src/stdbit/stdc_bit_ceil_ull.cpp
M libc/src/stdbit/stdc_bit_ceil_ull.h
M libc/src/stdbit/stdc_bit_ceil_us.cpp
M libc/src/stdbit/stdc_bit_ceil_us.h
M libc/src/stdbit/stdc_bit_floor_uc.cpp
M libc/src/stdbit/stdc_bit_floor_uc.h
M libc/src/stdbit/stdc_bit_floor_ui.cpp
M libc/src/stdbit/stdc_bit_floor_ui.h
M libc/src/stdbit/stdc_bit_floor_ul.cpp
M libc/src/stdbit/stdc_bit_floor_ul.h
M libc/src/stdbit/stdc_bit_floor_ull.cpp
M libc/src/stdbit/stdc_bit_floor_ull.h
M libc/src/stdbit/stdc_bit_floor_us.cpp
M libc/src/stdbit/stdc_bit_floor_us.h
M libc/src/stdbit/stdc_bit_width_uc.cpp
M libc/src/stdbit/stdc_bit_width_uc.h
M libc/src/stdbit/stdc_bit_width_ui.cpp
M libc/src/stdbit/stdc_bit_width_ui.h
M libc/src/stdbit/stdc_bit_width_ul.cpp
M libc/src/stdbit/stdc_bit_width_ul.h
M libc/src/stdbit/stdc_bit_width_ull.cpp
M libc/src/stdbit/stdc_bit_width_ull.h
M libc/src/stdbit/stdc_bit_width_us.cpp
M libc/src/stdbit/stdc_bit_width_us.h
M libc/src/stdbit/stdc_count_ones_uc.cpp
M libc/src/stdbit/stdc_count_ones_uc.h
M libc/src/stdbit/stdc_count_ones_ui.cpp
M libc/src/stdbit/stdc_count_ones_ui.h
M libc/src/stdbit/stdc_count_ones_ul.cpp
M libc/src/stdbit/stdc_count_ones_ul.h
M libc/src/stdbit/stdc_count_ones_ull.cpp
M libc/src/stdbit/stdc_count_ones_ull.h
M libc/src/stdbit/stdc_count_ones_us.cpp
M libc/src/stdbit/stdc_count_ones_us.h
M libc/src/stdbit/stdc_count_zeros_uc.cpp
M libc/src/stdbit/stdc_count_zeros_uc.h
M libc/src/stdbit/stdc_count_zeros_ui.cpp
M libc/src/stdbit/stdc_count_zeros_ui.h
M libc/src/stdbit/stdc_count_zeros_ul.cpp
M libc/src/stdbit/stdc_count_zeros_ul.h
M libc/src/stdbit/stdc_count_zeros_ull.cpp
M libc/src/stdbit/stdc_count_zeros_ull.h
M libc/src/stdbit/stdc_count_zeros_us.cpp
M libc/src/stdbit/stdc_count_zeros_us.h
M libc/src/stdbit/stdc_first_leading_one_uc.cpp
M libc/src/stdbit/stdc_first_leading_one_uc.h
M libc/src/stdbit/stdc_first_leading_one_ui.cpp
M libc/src/stdbit/stdc_first_leading_one_ui.h
M libc/src/stdbit/stdc_first_leading_one_ul.cpp
M libc/src/stdbit/stdc_first_leading_one_ul.h
M libc/src/stdbit/stdc_first_leading_one_ull.cpp
M libc/src/stdbit/stdc_first_leading_one_ull.h
M libc/src/stdbit/stdc_first_leading_one_us.cpp
M libc/src/stdbit/stdc_first_leading_one_us.h
M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
M libc/src/stdbit/stdc_first_leading_zero_uc.h
M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
M libc/src/stdbit/stdc_first_leading_zero_ui.h
M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
M libc/src/stdbit/stdc_first_leading_zero_ul.h
M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
M libc/src/stdbit/stdc_first_leading_zero_ull.h
M libc/src/stdbit/stdc_first_leading_zero_us.cpp
M libc/src/stdbit/stdc_first_leading_zero_us.h
M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
M libc/src/stdbit/stdc_first_trailing_one_uc.h
M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
M libc/src/stdbit/stdc_first_trailing_one_ui.h
M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
M libc/src/stdbit/stdc_first_trailing_one_ul.h
M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
M libc/src/stdbit/stdc_first_trailing_one_ull.h
M libc/src/stdbit/stdc_first_trailing_one_us.cpp
M libc/src/stdbit/stdc_first_trailing_one_us.h
M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
M libc/src/stdbit/stdc_first_trailing_zero_uc.h
M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ui.h
M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ul.h
M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ull.h
M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
M libc/src/stdbit/stdc_first_trailing_zero_us.h
M libc/src/stdbit/stdc_has_single_bit_uc.cpp
M libc/src/stdbit/stdc_has_single_bit_uc.h
M libc/src/stdbit/stdc_has_single_bit_ui.cpp
M libc/src/stdbit/stdc_has_single_bit_ui.h
M libc/src/stdbit/stdc_has_single_bit_ul.cpp
M libc/src/stdbit/stdc_has_single_bit_ul.h
M libc/src/stdbit/stdc_has_single_bit_ull.cpp
M libc/src/stdbit/stdc_has_single_bit_ull.h
M libc/src/stdbit/stdc_has_single_bit_us.cpp
M libc/src/stdbit/stdc_has_single_bit_us.h
M libc/src/stdbit/stdc_leading_ones_uc.cpp
M libc/src/stdbit/stdc_leading_ones_uc.h
M libc/src/stdbit/stdc_leading_ones_ui.cpp
M libc/src/stdbit/stdc_leading_ones_ui.h
M libc/src/stdbit/stdc_leading_ones_ul.cpp
M libc/src/stdbit/stdc_leading_ones_ul.h
M libc/src/stdbit/stdc_leading_ones_ull.cpp
M libc/src/stdbit/stdc_leading_ones_ull.h
M libc/src/stdbit/stdc_leading_ones_us.cpp
M libc/src/stdbit/stdc_leading_ones_us.h
M libc/src/stdbit/stdc_leading_zeros_uc.cpp
M libc/src/stdbit/stdc_leading_zeros_uc.h
M libc/src/stdbit/stdc_leading_zeros_ui.cpp
M libc/src/stdbit/stdc_leading_zeros_ui.h
M libc/src/stdbit/stdc_leading_zeros_ul.cpp
M libc/src/stdbit/stdc_leading_zeros_ul.h
M libc/src/stdbit/stdc_leading_zeros_ull.cpp
M libc/src/stdbit/stdc_leading_zeros_ull.h
M libc/src/stdbit/stdc_leading_zeros_us.cpp
M libc/src/stdbit/stdc_leading_zeros_us.h
M libc/src/stdbit/stdc_trailing_ones_uc.cpp
M libc/src/stdbit/stdc_trailing_ones_uc.h
M libc/src/stdbit/stdc_trailing_ones_ui.cpp
M libc/src/stdbit/stdc_trailing_ones_ui.h
M libc/src/stdbit/stdc_trailing_ones_ul.cpp
M libc/src/stdbit/stdc_trailing_ones_ul.h
M libc/src/stdbit/stdc_trailing_ones_ull.cpp
M libc/src/stdbit/stdc_trailing_ones_ull.h
M libc/src/stdbit/stdc_trailing_ones_us.cpp
M libc/src/stdbit/stdc_trailing_ones_us.h
M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
M libc/src/stdbit/stdc_trailing_zeros_uc.h
M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
M libc/src/stdbit/stdc_trailing_zeros_ui.h
M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
M libc/src/stdbit/stdc_trailing_zeros_ul.h
M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
M libc/src/stdbit/stdc_trailing_zeros_ull.h
M libc/src/stdbit/stdc_trailing_zeros_us.cpp
M libc/src/stdbit/stdc_trailing_zeros_us.h
M libc/src/stdfix/abshk.cpp
M libc/src/stdfix/abshk.h
M libc/src/stdfix/abshr.cpp
M libc/src/stdfix/abshr.h
M libc/src/stdfix/absk.cpp
M libc/src/stdfix/absk.h
M libc/src/stdfix/abslk.cpp
M libc/src/stdfix/abslk.h
M libc/src/stdfix/abslr.cpp
M libc/src/stdfix/abslr.h
M libc/src/stdfix/absr.cpp
M libc/src/stdfix/absr.h
M libc/src/stdfix/exphk.cpp
M libc/src/stdfix/exphk.h
M libc/src/stdfix/expk.cpp
M libc/src/stdfix/expk.h
M libc/src/stdfix/roundhk.cpp
M libc/src/stdfix/roundhk.h
M libc/src/stdfix/roundhr.cpp
M libc/src/stdfix/roundhr.h
M libc/src/stdfix/roundk.cpp
M libc/src/stdfix/roundk.h
M libc/src/stdfix/roundlk.cpp
M libc/src/stdfix/roundlk.h
M libc/src/stdfix/roundlr.cpp
M libc/src/stdfix/roundlr.h
M libc/src/stdfix/roundr.cpp
M libc/src/stdfix/roundr.h
M libc/src/stdfix/rounduhk.cpp
M libc/src/stdfix/rounduhk.h
M libc/src/stdfix/rounduhr.cpp
M libc/src/stdfix/rounduhr.h
M libc/src/stdfix/rounduk.cpp
M libc/src/stdfix/rounduk.h
M libc/src/stdfix/roundulk.cpp
M libc/src/stdfix/roundulk.h
M libc/src/stdfix/roundulr.cpp
M libc/src/stdfix/roundulr.h
M libc/src/stdfix/roundur.cpp
M libc/src/stdfix/roundur.h
M libc/src/stdfix/sqrtuhk.cpp
M libc/src/stdfix/sqrtuhk.h
M libc/src/stdfix/sqrtuhr.cpp
M libc/src/stdfix/sqrtuhr.h
M libc/src/stdfix/sqrtuk.cpp
M libc/src/stdfix/sqrtuk.h
M libc/src/stdfix/sqrtulr.cpp
M libc/src/stdfix/sqrtulr.h
M libc/src/stdfix/sqrtur.cpp
M libc/src/stdfix/sqrtur.h
M libc/src/stdfix/uhksqrtus.cpp
M libc/src/stdfix/uhksqrtus.h
M libc/src/stdfix/uksqrtui.cpp
M libc/src/stdfix/uksqrtui.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/remove.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/clearerr.h
M libc/src/stdio/clearerr_unlocked.h
M libc/src/stdio/fclose.h
M libc/src/stdio/fdopen.h
M libc/src/stdio/feof.h
M libc/src/stdio/feof_unlocked.h
M libc/src/stdio/ferror.h
M libc/src/stdio/ferror_unlocked.h
M libc/src/stdio/fflush.h
M libc/src/stdio/fgetc.h
M libc/src/stdio/fgetc_unlocked.h
M libc/src/stdio/fgets.h
M libc/src/stdio/fileno.h
M libc/src/stdio/flockfile.cpp
M libc/src/stdio/flockfile.h
M libc/src/stdio/fopen.h
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/fopencookie.h
M libc/src/stdio/fprintf.cpp
M libc/src/stdio/fprintf.h
M libc/src/stdio/fputc.h
M libc/src/stdio/fputs.h
M libc/src/stdio/fread.h
M libc/src/stdio/fread_unlocked.h
M libc/src/stdio/fscanf.cpp
M libc/src/stdio/fscanf.h
M libc/src/stdio/fseek.h
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftell.h
M libc/src/stdio/ftello.h
M libc/src/stdio/funlockfile.cpp
M libc/src/stdio/funlockfile.h
M libc/src/stdio/fwrite.h
M libc/src/stdio/fwrite_unlocked.h
M libc/src/stdio/generic/clearerr.cpp
M libc/src/stdio/generic/clearerr_unlocked.cpp
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/feof.cpp
M libc/src/stdio/generic/feof_unlocked.cpp
M libc/src/stdio/generic/ferror.cpp
M libc/src/stdio/generic/ferror_unlocked.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fileno.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
M libc/src/stdio/generic/printf.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/generic/ungetc.cpp
M libc/src/stdio/generic/vprintf.cpp
M libc/src/stdio/getc.h
M libc/src/stdio/getc_unlocked.h
M libc/src/stdio/getchar.h
M libc/src/stdio/getchar_unlocked.h
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/printf.h
M libc/src/stdio/printf_core/char_converter.h
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_main.cpp
M libc/src/stdio/printf_core/printf_main.h
M libc/src/stdio/printf_core/ptr_converter.h
M libc/src/stdio/printf_core/string_converter.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdio/printf_core/writer.cpp
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/putc.h
M libc/src/stdio/putchar.h
M libc/src/stdio/puts.h
M libc/src/stdio/remove.h
M libc/src/stdio/rename.h
M libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf.h
M libc/src/stdio/scanf_core/converter.cpp
M libc/src/stdio/scanf_core/converter.h
M libc/src/stdio/scanf_core/converter_utils.h
M libc/src/stdio/scanf_core/core_structs.h
M libc/src/stdio/scanf_core/current_pos_converter.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/float_converter.h
M libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/int_converter.h
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.h
M libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/scanf_main.cpp
M libc/src/stdio/scanf_core/scanf_main.h
M libc/src/stdio/scanf_core/string_converter.cpp
M libc/src/stdio/scanf_core/string_converter.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setbuf.h
M libc/src/stdio/setvbuf.cpp
M libc/src/stdio/setvbuf.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/snprintf.h
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/sprintf.h
M libc/src/stdio/sscanf.cpp
M libc/src/stdio/sscanf.h
M libc/src/stdio/ungetc.h
M libc/src/stdio/vfprintf.cpp
M libc/src/stdio/vfprintf.h
M libc/src/stdio/vprintf.h
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsnprintf.h
M libc/src/stdio/vsprintf.cpp
M libc/src/stdio/vsprintf.h
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/_Exit.h
M libc/src/stdlib/abort.h
M libc/src/stdlib/abs.cpp
M libc/src/stdlib/abs.h
M libc/src/stdlib/aligned_alloc.h
M libc/src/stdlib/at_quick_exit.cpp
M libc/src/stdlib/at_quick_exit.h
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/atexit.h
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atof.h
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atoi.h
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atol.h
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/atoll.h
M libc/src/stdlib/baremetal/abort.cpp
M libc/src/stdlib/bsearch.cpp
M libc/src/stdlib/bsearch.h
M libc/src/stdlib/calloc.h
M libc/src/stdlib/div.cpp
M libc/src/stdlib/div.h
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/exit.h
M libc/src/stdlib/exit_handler.cpp
M libc/src/stdlib/exit_handler.h
M libc/src/stdlib/free.h
M libc/src/stdlib/freelist_malloc.cpp
M libc/src/stdlib/getenv.cpp
M libc/src/stdlib/getenv.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/free.cpp
M libc/src/stdlib/gpu/malloc.cpp
M libc/src/stdlib/labs.cpp
M libc/src/stdlib/labs.h
M libc/src/stdlib/ldiv.cpp
M libc/src/stdlib/ldiv.h
M libc/src/stdlib/linux/abort.cpp
M libc/src/stdlib/llabs.cpp
M libc/src/stdlib/llabs.h
M libc/src/stdlib/lldiv.cpp
M libc/src/stdlib/lldiv.h
M libc/src/stdlib/malloc.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_r.h
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_exit.cpp
M libc/src/stdlib/quick_exit.h
M libc/src/stdlib/rand.cpp
M libc/src/stdlib/rand.h
M libc/src/stdlib/rand_util.cpp
M libc/src/stdlib/rand_util.h
M libc/src/stdlib/realloc.h
M libc/src/stdlib/srand.cpp
M libc/src/stdlib/srand.h
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfromf.h
M libc/src/stdlib/strfroml.cpp
M libc/src/stdlib/strfroml.h
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod.h
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof.h
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol.h
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold.h
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll.h
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul.h
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull.h
M libc/src/string/allocating_string_utils.h
M libc/src/string/bcmp.cpp
M libc/src/string/bcmp.h
M libc/src/string/bcopy.cpp
M libc/src/string/bcopy.h
M libc/src/string/bzero.cpp
M libc/src/string/bzero.h
M libc/src/string/index.cpp
M libc/src/string/index.h
M libc/src/string/memccpy.cpp
M libc/src/string/memccpy.h
M libc/src/string/memchr.cpp
M libc/src/string/memchr.h
M libc/src/string/memcmp.cpp
M libc/src/string/memcmp.h
M libc/src/string/memcpy.cpp
M libc/src/string/memcpy.h
M libc/src/string/memmem.cpp
M libc/src/string/memmem.h
M libc/src/string/memmove.cpp
M libc/src/string/memmove.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/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/generic/aligned_access.h
M libc/src/string/memory_utils/generic/builtin.h
M libc/src/string/memory_utils/generic/byte_per_byte.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_bzero.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/inline_memmem.h
M libc/src/string/memory_utils/inline_memmove.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/inline_strcmp.h
M libc/src/string/memory_utils/inline_strstr.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/op_riscv.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/riscv/inline_bcmp.h
M libc/src/string/memory_utils/riscv/inline_memcmp.h
M libc/src/string/memory_utils/riscv/inline_memcpy.h
M libc/src/string/memory_utils/riscv/inline_memmove.h
M libc/src/string/memory_utils/riscv/inline_memset.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
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/src/string/memory_utils/x86_64/inline_memmove.h
M libc/src/string/memory_utils/x86_64/inline_memset.h
M libc/src/string/mempcpy.cpp
M libc/src/string/mempcpy.h
M libc/src/string/memrchr.cpp
M libc/src/string/memrchr.h
M libc/src/string/memset.cpp
M libc/src/string/memset.h
M libc/src/string/memset_explicit.cpp
M libc/src/string/memset_explicit.h
M libc/src/string/rindex.cpp
M libc/src/string/rindex.h
M libc/src/string/stpcpy.cpp
M libc/src/string/stpcpy.h
M libc/src/string/stpncpy.cpp
M libc/src/string/stpncpy.h
M libc/src/string/strcasecmp.cpp
M libc/src/string/strcasecmp.h
M libc/src/string/strcasestr.cpp
M libc/src/string/strcasestr.h
M libc/src/string/strcat.cpp
M libc/src/string/strcat.h
M libc/src/string/strchr.cpp
M libc/src/string/strchr.h
M libc/src/string/strchrnul.cpp
M libc/src/string/strchrnul.h
M libc/src/string/strcmp.cpp
M libc/src/string/strcmp.h
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll.h
M libc/src/string/strcpy.cpp
M libc/src/string/strcpy.h
M libc/src/string/strcspn.cpp
M libc/src/string/strcspn.h
M libc/src/string/strdup.cpp
M libc/src/string/strdup.h
M libc/src/string/strerror.cpp
M libc/src/string/strerror.h
M libc/src/string/strerror_r.cpp
M libc/src/string/strerror_r.h
M libc/src/string/string_utils.h
M libc/src/string/strlcat.cpp
M libc/src/string/strlcat.h
M libc/src/string/strlcpy.cpp
M libc/src/string/strlcpy.h
M libc/src/string/strlen.cpp
M libc/src/string/strlen.h
M libc/src/string/strncasecmp.cpp
M libc/src/string/strncasecmp.h
M libc/src/string/strncat.cpp
M libc/src/string/strncat.h
M libc/src/string/strncmp.cpp
M libc/src/string/strncmp.h
M libc/src/string/strncpy.cpp
M libc/src/string/strncpy.h
M libc/src/string/strndup.cpp
M libc/src/string/strndup.h
M libc/src/string/strnlen.cpp
M libc/src/string/strnlen.h
M libc/src/string/strpbrk.cpp
M libc/src/string/strpbrk.h
M libc/src/string/strrchr.cpp
M libc/src/string/strrchr.h
M libc/src/string/strsep.cpp
M libc/src/string/strsep.h
M libc/src/string/strsignal.cpp
M libc/src/string/strsignal.h
M libc/src/string/strspn.cpp
M libc/src/string/strspn.h
M libc/src/string/strstr.cpp
M libc/src/string/strstr.h
M libc/src/string/strtok.cpp
M libc/src/string/strtok.h
M libc/src/string/strtok_r.cpp
M libc/src/string/strtok_r.h
M libc/src/string/strxfrm.cpp
M libc/src/string/strxfrm.h
M libc/src/sys/auxv/getauxval.h
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/epoll_create.h
M libc/src/sys/epoll/epoll_create1.h
M libc/src/sys/epoll/epoll_ctl.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_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
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/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/posix_madvise.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/sys/mman/madvise.h
M libc/src/sys/mman/mincore.h
M libc/src/sys/mman/mlock.h
M libc/src/sys/mman/mlock2.h
M libc/src/sys/mman/mlockall.h
M libc/src/sys/mman/mmap.h
M libc/src/sys/mman/mprotect.h
M libc/src/sys/mman/msync.h
M libc/src/sys/mman/munlock.h
M libc/src/sys/mman/munlockall.h
M libc/src/sys/mman/munmap.h
M libc/src/sys/mman/posix_madvise.h
M libc/src/sys/mman/shm_open.h
M libc/src/sys/mman/shm_unlink.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/prctl/prctl.h
M libc/src/sys/random/getrandom.h
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/getrlimit.h
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/resource/setrlimit.h
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/select/select.h
M libc/src/sys/sendfile/linux/sendfile.cpp
M libc/src/sys/sendfile/sendfile.h
M libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/socket.h
M libc/src/sys/stat/chmod.h
M libc/src/sys/stat/fchmod.h
M libc/src/sys/stat/fchmodat.h
M libc/src/sys/stat/fstat.h
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/kernel_statx.h
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/stat/lstat.h
M libc/src/sys/stat/mkdir.h
M libc/src/sys/stat/mkdirat.h
M libc/src/sys/stat/stat.h
M libc/src/sys/statvfs/fstatvfs.h
M libc/src/sys/statvfs/linux/fstatvfs.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/statvfs/linux/statvfs.cpp
M libc/src/sys/statvfs/statvfs.h
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/utsname/uname.h
M libc/src/sys/wait/linux/wait.cpp
M libc/src/sys/wait/linux/wait4.cpp
M libc/src/sys/wait/linux/waitpid.cpp
M libc/src/sys/wait/wait.h
M libc/src/sys/wait/wait4.h
M libc/src/sys/wait/wait4Impl.h
M libc/src/sys/wait/waitpid.h
M libc/src/termios/cfgetispeed.h
M libc/src/termios/cfgetospeed.h
M libc/src/termios/cfsetispeed.h
M libc/src/termios/cfsetospeed.h
M libc/src/termios/linux/cfgetispeed.cpp
M libc/src/termios/linux/cfgetospeed.cpp
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/kernel_termios.h
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/termios/tcdrain.h
M libc/src/termios/tcflow.h
M libc/src/termios/tcflush.h
M libc/src/termios/tcgetattr.h
M libc/src/termios/tcgetsid.h
M libc/src/termios/tcsendbreak.h
M libc/src/termios/tcsetattr.h
M libc/src/threads/call_once.cpp
M libc/src/threads/call_once.h
M libc/src/threads/cnd_broadcast.h
M libc/src/threads/cnd_destroy.h
M libc/src/threads/cnd_init.h
M libc/src/threads/cnd_signal.h
M libc/src/threads/cnd_wait.h
M libc/src/threads/linux/Futex.h
M libc/src/threads/linux/cnd_broadcast.cpp
M libc/src/threads/linux/cnd_destroy.cpp
M libc/src/threads/linux/cnd_init.cpp
M libc/src/threads/linux/cnd_signal.cpp
M libc/src/threads/linux/cnd_wait.cpp
M libc/src/threads/mtx_destroy.cpp
M libc/src/threads/mtx_destroy.h
M libc/src/threads/mtx_init.cpp
M libc/src/threads/mtx_init.h
M libc/src/threads/mtx_lock.cpp
M libc/src/threads/mtx_lock.h
M libc/src/threads/mtx_unlock.cpp
M libc/src/threads/mtx_unlock.h
M libc/src/threads/thrd_create.cpp
M libc/src/threads/thrd_create.h
M libc/src/threads/thrd_current.cpp
M libc/src/threads/thrd_current.h
M libc/src/threads/thrd_detach.cpp
M libc/src/threads/thrd_detach.h
M libc/src/threads/thrd_equal.cpp
M libc/src/threads/thrd_equal.h
M libc/src/threads/thrd_exit.cpp
M libc/src/threads/thrd_exit.h
M libc/src/threads/thrd_join.cpp
M libc/src/threads/thrd_join.h
M libc/src/threads/tss_create.cpp
M libc/src/threads/tss_create.h
M libc/src/threads/tss_delete.cpp
M libc/src/threads/tss_delete.h
M libc/src/threads/tss_get.cpp
M libc/src/threads/tss_get.h
M libc/src/threads/tss_set.cpp
M libc/src/threads/tss_set.h
M libc/src/time/asctime.cpp
M libc/src/time/asctime.h
M libc/src/time/asctime_r.cpp
M libc/src/time/asctime_r.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/difftime.cpp
M libc/src/time/difftime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gmtime.cpp
M libc/src/time/gmtime.h
M libc/src/time/gmtime_r.cpp
M libc/src/time/gmtime_r.h
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/mktime.cpp
M libc/src/time/mktime.h
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
M libc/src/time/time_utils.cpp
M libc/src/time/time_utils.h
M libc/src/unistd/_exit.cpp
M libc/src/unistd/_exit.h
M libc/src/unistd/access.h
M libc/src/unistd/chdir.h
M libc/src/unistd/close.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/environ.cpp
M libc/src/unistd/environ.h
M libc/src/unistd/execv.h
M libc/src/unistd/execve.h
M libc/src/unistd/fchdir.h
M libc/src/unistd/fork.h
M libc/src/unistd/fpathconf.h
M libc/src/unistd/fsync.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linkat.h
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fpathconf.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/geteuid.cpp
M libc/src/unistd/linux/getpid.cpp
M libc/src/unistd/linux/getppid.cpp
M libc/src/unistd/linux/getuid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pathconf_utils.h
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pathconf.h
M libc/src/unistd/pipe.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/rmdir.h
M libc/src/unistd/swab.cpp
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/unlink.h
M libc/src/unistd/unlinkat.h
M libc/src/unistd/write.h
M libc/src/wchar/btowc.cpp
M libc/src/wchar/btowc.h
M libc/src/wchar/wctob.cpp
M libc/src/wchar/wctob.h
M libc/startup/baremetal/fini.cpp
M libc/startup/baremetal/init.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/do_start.cpp
M libc/startup/linux/do_start.h
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/tls.cpp
M libc/test/IntegrationTest/test.cpp
M libc/test/UnitTest/BazelFilePath.cpp
M libc/test/UnitTest/CmakeFilePath.cpp
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPExceptMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/GTest.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/UnitTest/PrintfMatcher.h
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/RoundingModeUtils.h
M libc/test/UnitTest/ScanfMatcher.cpp
M libc/test/UnitTest/ScanfMatcher.h
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/UnitTest/TestLogger.h
M libc/test/UnitTest/ZxTest.h
M libc/test/include/sys/queue_test.cpp
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
M libc/test/src/__support/CPP/algorithm_test.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/cstddef_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/__support/HashTable/bitmask_test.cpp
M libc/test/src/__support/HashTable/group_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/endian_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_long_double_test.cpp
M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
M libc/test/src/math/performance_testing/Timer.cpp
M libc/test/src/math/performance_testing/Timer.h
M libc/test/src/math/sdcomp26094.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/string/bcmp_test.cpp
M libc/test/src/string/bcopy_test.cpp
M libc/test/src/string/bzero_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmem_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_explicit_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/time/TmHelper.h
M libc/test/src/time/TmMatcher.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)
This is a part of #97655.
Commit: 60c90336b66c2df1b5ca3d2fb6041bb56c56759c
https://github.com/llvm/llvm-project/commit/60c90336b66c2df1b5ca3d2fb6041bb56c56759c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/type.cpp
M flang/test/Semantics/c_loc01.f90
Log Message:
-----------
[flang] Silence over-eager warning about interoperable character length (#97353)
Make the results of the two IsInteroperableIntrinsicType() utility
routines a tri-state std::optional<bool> so that cases where the
character length is simply unknown can be distinguished from those cases
where the length is known and not acceptable. Use this distinction to
not emit a confusing warning about interoperability with C_LOC()
arguments when the length is unknown and might well be acceptable during
execution.
Commit: 5024a6ec974536596b3d51895e73462f2f71dc0d
https://github.com/llvm/llvm-project/commit/5024a6ec974536596b3d51895e73462f2f71dc0d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/include/flang/Parser/provenance.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/provenance.cpp
A flang/test/Preprocessing/timestamp.F90
Log Message:
-----------
[flang][preprocessor] Support __TIMESTAMP__ (#98057)
Support the predefined macro __TIMESTAMP__ as interpreted by GCC. It
expands to a character literal with the time of last modification of the
top-level source file in asctime(3) format, e.g. "Tue Jul 4 10:18:05
1776".
Commit: 43024a465120315464490ca9c6074553cd968089
https://github.com/llvm/llvm-project/commit/43024a465120315464490ca9c6074553cd968089
Author: Alan Zhao <ayzhao at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/docs/conf.py
Log Message:
-----------
[lldb][man][nfc] Don't register a markdown parser when building man packages (#98420)
This reduces Sphinx dependencies for building lldb man pages as lldb man
pages don't use markdown.
Commit: ea4ae2590dea6ab5acf790a6098863d4ba63300f
https://github.com/llvm/llvm-project/commit/ea4ae2590dea6ab5acf790a6098863d4ba63300f
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/source/Core/Section.cpp
M lldb/test/Shell/Commands/command-target-modules-dump-sections.yaml
Log Message:
-----------
[lldb] Fix section printing to always align. (#98521)
Section IDs are 64 bit and if a section ID was over 4GB, then the
tabular output of the "target modules dump sections" command would not
align to the column headers. Also if the section type's name was too
long, the output wouldn't algin. This patch fixes this issue.
Old output looked like:
```
(lldb) image dump sections a.out
Sections for '/tmp/a.out' (arm):
SectID Type File Address Perm File Off. File Size Flags Section Name
---------- ---------------- --------------------------------------- ---- ---------- ---------- ---------- ----------------------------
0xffffffffffffffff container [0x0000000000001000-0x0000000000001010) rw- 0x00000074 0x00000010 0x00000000 a.out.PT_LOAD[0]
0x00000001 data [0x0000000000001000-0x0000000000001010) rw- 0x00000074 0x00000010 0x00000003 a.out.PT_LOAD[0]..data
0xfffffffffffffffe container [0x0000000000001000-0x0000000000001010) rw- 0x00000084 0x00000000 0x00000000 a.out.PT_TLS[0]
0x00000002 zero-fill [0x0000000000001000-0x0000000000001010) rw- 0x00000084 0x00000000 0x00000403 a.out.PT_TLS[0]..tbss
0x00000003 regular --- 0x00000084 0x00000001 0x00000000 a.out..strtab
0x00000004 regular --- 0x00000085 0x0000001f 0x00000000 a.out..shstrtab
```
New output looks like:
```
(lldb) image dump sections a.out
Sections for '/tmp/a.out' (arm):
SectID Type File Address Perm File Off. File Size Flags Section Name
------------------ ---------------------- --------------------------------------- ---- ---------- ---------- ---------- ----------------------------
0xffffffffffffffff container [0x0000000000001000-0x0000000000001010) rw- 0x00000074 0x00000010 0x00000000 a.out.PT_LOAD[0]
0x0000000000000001 data [0x0000000000001000-0x0000000000001010) rw- 0x00000074 0x00000010 0x00000003 a.out.PT_LOAD[0]..data
0xfffffffffffffffe container [0x0000000000001000-0x0000000000001010) rw- 0x00000084 0x00000000 0x00000000 a.out.PT_TLS[0]
0x0000000000000002 zero-fill [0x0000000000001000-0x0000000000001010) rw- 0x00000084 0x00000000 0x00000403 a.out.PT_TLS[0]..tbss
0x0000000000000003 regular --- 0x00000084 0x00000001 0x00000000 a.out..strtab
0x0000000000000004 regular --- 0x00000085 0x0000001f 0x00000000 a.out..shstrtab
```
Commit: 0b58f34c98e4715c3c920820d79e53e8d99c1b59
https://github.com/llvm/llvm-project/commit/0b58f34c98e4715c3c920820d79e53e8d99c1b59
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/IR/ConstrainedOps.def
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/Assembler/fp-intrinsics-attr.ll
M llvm/test/CodeGen/X86/fp-intrinsics.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp80-strict-libcalls.ll
A llvm/test/CodeGen/X86/llvm.acos.ll
A llvm/test/CodeGen/X86/llvm.asin.ll
A llvm/test/CodeGen/X86/llvm.atan.ll
A llvm/test/CodeGen/X86/llvm.cosh.ll
A llvm/test/CodeGen/X86/llvm.sinh.ll
A llvm/test/CodeGen/X86/llvm.tanh.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/Feature/fp-intrinsics.ll
Log Message:
-----------
[X86][CodeGen] Add base trig intrinsic lowerings (#96222)
This change is an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
This change adds constraint intrinsics and some lowering cases for
`acos`, `asin`, `atan`, `cosh`, `sinh`, and `tanh`.
The only x86 specific change was for f80.
https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966
The x86 lowering is going to be done in three pr changes with this being
the first.
A second PR will be put up for Loop Vectorizing and then SLPVectorizer.
The constraint intrinsics is also going to be in multiple parts, but
just 2.
This part covers just the llvm specific changes, part2 will cover clang
specifc changes and legalization for backends than have special
legalization
requirements like aarch64 and wasm.
Commit: d5285fef00f6c5a725a515118192dd117fc3c665
https://github.com/llvm/llvm-project/commit/d5285fef00f6c5a725a515118192dd117fc3c665
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-nullify.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/definable.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/definable02.f90
M flang/test/Semantics/final03.f90
Log Message:
-----------
[flang] Downgrade error message to a portability warning (#98368)
f18 current emits an error when an assignment is made to an array
section with a vector subscript, and the array is finalized with a
non-elemental final subroutine. Some other compilers emit this error
because (I think) they want variables to only be finalized in place, not
by a subroutine call involving copy-in & copy-out of the finalized
elements.
Since many other Fortran compilers can handle this case, and there's
nothing in the standards to preclude it, let's downgrade this error
message to a portability warning.
This patch got complicated because the API for the WhyNotDefinable()
utility routine was such that it would return a message only in error
cases, and there was no provision for returning non-fatal messages. It
now returns either nothing, a fatal message, or a non-fatal warning
message, and all of its call sites have been modified to cope.
Commit: d6f314ce870266a051a659d09938d8ceb34e36f1
https://github.com/llvm/llvm-project/commit/d6f314ce870266a051a659d09938d8ceb34e36f1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/ignore_tkr01.f90
Log Message:
-----------
[flang] Accept IGNORE_TKR in separate module procedure interface (#98374)
We emit an incorrect error message when !DIR$ IGNORE_TKR appears in a
separate module procedure's interface declaration.
Fixes https://github.com/llvm/llvm-project/issues/98210.
Commit: a074f8869563cb5b296732e0e8af46dcdc286ae5
https://github.com/llvm/llvm-project/commit/a074f8869563cb5b296732e0e8af46dcdc286ae5
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
Log Message:
-----------
[libc] Update libc namespace clang-tidy checks (#98424)
This patch updates the clang-tidy checks for llvm-libc to ensure that
the namespace macro used to declare the libc namespace is updated from
LIBC_NAMESPACE to LIBC_NAMESPACE_DECL which by default has hidden
visibility.
Co-authored-by: Prabhu Rajesakeran <prabhukr at google.com>
Commit: eb9a78bb542434258f4f06097a0a336a055847a3
https://github.com/llvm/llvm-project/commit/eb9a78bb542434258f4f06097a0a336a055847a3
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Fix bad parse tree rewrite into a substring (#98407)
Data designators like "a(j:k)" are parsed into array section references,
but once rank and type information is in hand, some of them turn out to
actually be substring references. The code that recognizes these cases
was suffering from a "false positive" in the case of a construct entity
in a SELECT RANK construct due to the use of a predicate member function
(Symbol::IsObjectArray) that only works on ObjectEntityDetails symbols.
Fix the test to use the more general Symbol::Rank() member function.
Commit: 6f04f46927cf54d19cc2a1470f47d5db4b3b96bb
https://github.com/llvm/llvm-project/commit/6f04f46927cf54d19cc2a1470f47d5db4b3b96bb
Author: Martin Storsjö <martin at martin.st>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Headers/avx512fp16intrin.h
Log Message:
-----------
[clang] [Headers] Don't use unreserved names in avx512fp16intrin.h (#98478)
This can cause breakage with user code that does "#define A ...".
Commit: 657dbc3febb92d8e675b601d127b071c5ba61028
https://github.com/llvm/llvm-project/commit/657dbc3febb92d8e675b601d127b071c5ba61028
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Reorder shuffle operands if one side is an identity (#98534)
Doing so allows one side to fold entirely into the mask applied to the
other recursive call (or a vmerge.vv at worst). This is a generalization
of the existing IsSelect case (both operands are selects), so I removed
that code in the process.
This actually started as an attempt to remove the IsSelect bit as I'd
thought it was fully redundant
with the recursive formulation, but digging into test deltas revealed
that we depended on that
to catch the majority of the identity cases, and that in turn we were
missing some cases where only RHS was an identity.
Commit: c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
https://github.com/llvm/llvm-project/commit/c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/safestack/CMakeLists.txt
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
Revert "[safestack] Various Solaris fixes" (#98541)
Reverts llvm/llvm-project#98469
We can't add this dependency
```
OBJECT_LIBS RTSanitizerCommon
RTSanitizerCommonLibc
```
safestack is security hardening, and RTSanitizerCommon is too fat for
that.
Commit: 65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
https://github.com/llvm/llvm-project/commit/65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/modfile65.f90
Log Message:
-----------
[flang] Add -fhermetic-module-files (#98083)
Module files emitted by this Fortran compiler are valid Fortran source
files. Symbols that are USE-associated into modules are represented in
their module files with USE statements and special comments with hash
codes in them to ensure that those USE statements resolve to the same
modules that were used to build the module when its module file was
generated.
This scheme prevents unchecked module file growth in large applications
by not emitting USE-associated symbols redundantly. This problem can be
especially bad when derived type definitions must be repeated in the
module files of their clients, and the clients of those modules, and so
on. However, this scheme has the disadvantage that clients of modules
must be compiled with dependent modules in the module search path.
This new -fhermetic-module-files option causes module file output to be
free of dependences on any non-intrinsic module files; dependent modules
are instead emitted as part of the module file, rather than being
USE-associated. It is intended for top level library module files that
are shipped with binary libraries when it is not convenient to collect
and ship their dependent module files as well.
Fixes https://github.com/llvm/llvm-project/issues/97398.
Commit: 7a49d80f587eff76d29d1770b1e90e9e13bc5759
https://github.com/llvm/llvm-project/commit/7a49d80f587eff76d29d1770b1e90e9e13bc5759
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
Log Message:
-----------
[VPlan] Skip users outside loop in check for exit pre-compute candidates
When collecting candidates to pre-compute cost for operands of exit
conditions, skip users outside the loop when checking if they are in
ExistInstrs. The users outside the loop should be ignored, as they won't
make a value live in the VPlan.
This fixes a failure when building for X86 with sanitizers on macOS
after b841e2eca3b5c
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-cmake-RgSan/287/)
Commit: 8901c1c2801018ec3efa042a3acc8bada7b790e3
https://github.com/llvm/llvm-project/commit/8901c1c2801018ec3efa042a3acc8bada7b790e3
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/stdlib/CMakeLists.txt
Log Message:
-----------
[libc] Fix atexit not getting linked on linux (#98537)
Atexit needs to be linked into exit on linux since atexit defines
__cxa_finalize. This should probably be fixed a different way but this
works for now.
Commit: 92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
https://github.com/llvm/llvm-project/commit/92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
A clang/test/CodeGenHLSL/loops/unroll.hlsl
A clang/test/SemaHLSL/Loops/unroll.hlsl
Log Message:
-----------
[HLSL] add loop unroll (#93879)
spec: https://github.com/microsoft/hlsl-specs/pull/263
- `Attr.td` - Define the HLSL loop attribute hints (unroll and loop)
- `AttrDocs.td` - Add documentation for unroll and loop
- `CGLoopInfo.cpp` - Add codegen for HLSL unroll that maps to clang
unroll expectations
- `ParseStmt.cpp` - For statements if HLSL define DeclSpecAttrs via
MaybeParseMicrosoftAttributes
- `SemaStmtAttr.cpp` - Add the HLSL loop unroll handeling
resolves #70114
dxc examples:
- for loop: https://hlsl.godbolt.org/z/8EK6Pa139
- while loop: https://hlsl.godbolt.org/z/ebr5MvEcK
- do while: https://hlsl.godbolt.org/z/be8cedoTs
Documentation:
![Screenshot_20240531_143000](https://github.com/llvm/llvm-project/assets/1802579/9da9df9b-68a6-49eb-9d4f-e080aa2eff7f)
Commit: cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
https://github.com/llvm/llvm-project/commit/cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/test/Lower/Intrinsics/atan_real16.f90
Log Message:
-----------
[flang] Fix broken atan_real16 test (#98499)
The names in the `end function` were incorrect. Those have been removed.
Commit: 6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
https://github.com/llvm/llvm-project/commit/6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Define `HUGE_VALF` in math.h (#98522)
This is analogous to `HUGE_VAL`.
Commit: 53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
https://github.com/llvm/llvm-project/commit/53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/__support/macros/config.h
Log Message:
-----------
[libc] Disable hidden visibility for LIBC_NAMESPACE with GCC (#98549)
GCC emits a warning when using the visibility attribute which needs to
be diagnosed and addressed, but this change should unbreak the GCC build
as a temporary workaround.
The issue is tracked as #98548.
Commit: 7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
https://github.com/llvm/llvm-project/commit/7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/test/src/math/performance_testing/CMakeLists.txt
Log Message:
-----------
[libc] Add missing dependency on `src.__support.macros.config` (#98552)
We automatically inject this dependency into all object libraries that
use the libc CMake functions, but `libc_diff_test_utils` uses `add_library`
so we need to add this dependency manually.
Commit: 6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
https://github.com/llvm/llvm-project/commit/6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lld/test/ELF/basic-sparcv9.s
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/test/MC/ELF/osabi.s
Log Message:
-----------
[MC] set OpenBSD's ELFOSABI by default (#98158) (#98553)
This matches what is done for FreeBSD.
OpenBSD has a few special program header types, and other such ELF
extensions. Setting the ELFOSABI like so will allow LLD to support them
without needlessly impacting non-OpenBSD ELFs.
Testing strategy matches 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd.
Take two of #98158 / b64c1de714c50bec7493530446ebf5e540d5f96a, which was
reverted in #98494 / c0261351136e4a826be697e5ebb5fa638abe7485.
Preexisting test is fixed now.
Commit: 280d82e8ad7ee8c6600772ace5345b26f2da8bc0
https://github.com/llvm/llvm-project/commit/280d82e8ad7ee8c6600772ace5345b26f2da8bc0
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lld/test/ELF/basic-sparcv9.s
Log Message:
-----------
Small fix of `lld/test/ELF/basic-sparcv9.s` (#98555)
I made a mistake in https://github.com/llvm/llvm-project/pull/98553.
Sorry.
Commit: 9c1861bd5de0174fded95ea76c46ad7c7175af8b
https://github.com/llvm/llvm-project/commit/9c1861bd5de0174fded95ea76c46ad7c7175af8b
Author: Pranav Kant <prka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][NFC] Remove unused includes (#98557)
Adding dep to TosaDialect increases binary size unnecessarily
Commit: d0d05aec3b6792136a9f75eb85dd2ea66005ae12
https://github.com/llvm/llvm-project/commit/d0d05aec3b6792136a9f75eb85dd2ea66005ae12
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
M llvm/test/CodeGen/ARM/exp10-libcall-names.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
Log Message:
-----------
[Darwin] Fix availability of exp10 for watchOS, tvOS, xROS. (#98542)
Update availability information added in 1eb7f055d9a. exp10 is available
on iOS >= 7.0 and macOS >= 10.9. On all other platforms, it is available
on any version. Also drop the x86 check, as the availability only
depends on the OS version, not the target platform.
PR: https://github.com/llvm/llvm-project/pull/98542
Commit: ac304d5ffdea7676582e987f75caeba33355a5dd
https://github.com/llvm/llvm-project/commit/ac304d5ffdea7676582e987f75caeba33355a5dd
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/newhdrgen/header.py
M libc/newhdrgen/tests/expected_output/test_header.h
M libc/newhdrgen/tests/input/test_small.yaml
Log Message:
-----------
[libc] newheadergen: quick fixes to tests (#98561)
- if there is an object made there is a space after
- fixed tests.yaml -- spacing between characters issue
Commit: ce4aada6e2135e29839f672a6599db628b53295d
https://github.com/llvm/llvm-project/commit/ce4aada6e2135e29839f672a6599db628b53295d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/temp/temp.names/p3-23.cpp
M clang/test/CXX/temp/temp.res/p3.cpp
M clang/test/FixIt/fixit.cpp
M clang/test/Misc/warning-flags.c
M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/static-assert-cxx17.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M libcxx/include/regex
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (#98547)
Reapplies #92957, fixing an instance where the `template` keyword was
missing prior to a dependent name in `llvm/ADT/ArrayRef.h`. An
_alias-declaration_ is used to work around a bug affecting GCC releases
before 11.1 (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799) which
rejects the use of the `template` keyword prior to the
_nested-name-specifier_ in the class member access.
Commit: 1cafde234865cdcd37311dcd77d3ef9a3e12f177
https://github.com/llvm/llvm-project/commit/1cafde234865cdcd37311dcd77d3ef9a3e12f177
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Headers/cpuid.h
A clang/test/Headers/__cpuidex_conflict.c
M clang/test/Headers/cpuid.c
Log Message:
-----------
[clang][X86] Add __cpuidex function to cpuid.h (#97785)
MSVC has a __cpuidex function implemented to call the underlying cpuid
instruction which accepts a leaf, subleaf, and data array that the
output data is written into. This patch adds this functionality into
clang under the cpuid.h header. This also makes clang match GCC's
behavior. GCC has had __cpuidex in its cpuid.h since 2020.
This is another attempt to land https://reviews.llvm.org/D158348.
Commit: 9f8205d9d8ddccd5c821c2a654805434706a43c2
https://github.com/llvm/llvm-project/commit/9f8205d9d8ddccd5c821c2a654805434706a43c2
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
Log Message:
-----------
[MemProf] Track and report profiled sizes through cloning (#98382)
If requested, via the -memprof-report-hinted-sizes option, track the
total profiled size of each MIB through the thin link, then report on
the corresponding allocation coldness after all cloning is complete.
To save size, a different bitcode record type is used for the allocation
info when the option is specified, and the sizes are kept separate from
the MIBs in the index.
Commit: 46307f1a84bf832f32938c8ad2dc0605441a5319
https://github.com/llvm/llvm-project/commit/46307f1a84bf832f32938c8ad2dc0605441a5319
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 90ccf21
Commit: 6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
https://github.com/llvm/llvm-project/commit/6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[ProfileData] Take ArrayRef<InstrProfValueData> in addValueData (NFC) (#97363)
This patch fixes another place in ProfileData where we have a pointer
to an array of InstrProfValueData and its length separately.
addValueData is a bit unique in that it remaps incoming values in
place before adding them to ValueSites. AFAICT, no caller of
addValueData uses updated incoming values. With this patch, we add
value data to ValueSites first and then remaps values there. This
way, we can take ArrayRef<InstrProfValueData> as a parameter.
Commit: 1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
https://github.com/llvm/llvm-project/commit/1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
Log Message:
-----------
[lldb] [NFC] Update TestEarlyProcessLaunch to work on macOS 15
This test sets a breakpoint on malloc, as a way to stop early in
dyld's setting up code, before the system libraries are initialized
so we can confirm that we don't fetch the Objective-C class table
before it's initialized.
In macOS 15 (macOS Sonoma), dyld doesn't call malloc any longer,
so this heuristic/trick isn't working. It does call other things
called *alloc though, so I'm changing this to use a regex breakpoint
on that, to keep the test working.
Commit: 9b6504e98359f5d14fdaa353b2789e7e95239f96
https://github.com/llvm/llvm-project/commit/9b6504e98359f5d14fdaa353b2789e7e95239f96
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Make sure to issue freemem for the allocated temp (#98078)
When implicit data transfer is created, make sure we generate the
`freemem` op on the `allocmem` result value and not the declare op
value.
Commit: e57d7dae6f28af513a17a5d6813399f04245e9e1
https://github.com/llvm/llvm-project/commit/e57d7dae6f28af513a17a5d6813399f04245e9e1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
Log Message:
-----------
[SLP][NFC]Add a test with minnum/maxnum patterns, NFC.
Commit: ce2b28055330b37e67ece18bd42d13beb537955d
https://github.com/llvm/llvm-project/commit/ce2b28055330b37e67ece18bd42d13beb537955d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[BitcodeReader] Remove dead increment (#98412)
This was found by the Clang Static Analyzer.
Commit: db3d3378ba751337c12147d11367006f23becc0c
https://github.com/llvm/llvm-project/commit/db3d3378ba751337c12147d11367006f23becc0c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_linux.cpp
Log Message:
-----------
[NFC][hwasan] Print after protecting gaps
PrintAddressSpaceLayout can accidentally
mmap into the gap.
Commit: cdd29f5bd2f5e55ae116be1a912f0b036d7c98e7
https://github.com/llvm/llvm-project/commit/cdd29f5bd2f5e55ae116be1a912f0b036d7c98e7
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-tlsdesc.s
Log Message:
-----------
[ELF,RISCV] Fix TLSDESC=>IE when there is no TLS section
See the comment in handleTlsRelocation. For TLSDESC=>IE (the TLS symbol
is defined in another DSO), R_RISCV_TLSDESC_{LOAD_LO12,ADD_LO12_I,CALL}
referencing a non-preemptible label uses the `R_RELAX_TLS_GD_TO_LE` code
path.
If there is no TLS section, `getTlsTpOffset` will be called with null
`Out::tlsPhdr`, leading to a null pointer dereference. Since the return
value is used by `RISCV::relocateAlloc` and ignored there, just return
0.
LoongArch TLSDESC doesn't use STT_NOTYPE labels. The `if (..) return 0;`
is a no-op for LoongArch.
This patch is a follow-up to #79239 and fixes some comments.
Pull Request: https://github.com/llvm/llvm-project/pull/98569
Commit: 941f794e492bddf82b01dd4b0cb3475a67dc3b1f
https://github.com/llvm/llvm-project/commit/941f794e492bddf82b01dd4b0cb3475a67dc3b1f
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
Log Message:
-----------
[AArch64][PAC] Reduce the size of synchronous CFI (#96377)
For synchronous unwind tables, the call frame information can be
slightly reduced by bundling the `.cfi_negate_ra_state` instruction with
other CFI instructions in the prolog, saving 1 byte per function used
for `DW_CFA_advance_loc`.
This was suggested in
[D156428](https://reviews.llvm.org/D156428#4554317).
Commit: 1bafe77d773e6cb32243fabbef2c71b4516896fb
https://github.com/llvm/llvm-project/commit/1bafe77d773e6cb32243fabbef2c71b4516896fb
Author: Allen <zhongyunde at huawei.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/sdivpow2.ll
Log Message:
-----------
[AArch64] Improve the codegen for sdiv 2 (#98324)
Same as X86, , if X's size is BitWidth, then X sdiv 2 can be
expressived as
```
X += X >> (BitWidth - 1)
X = X >> 1
```
Fix https://github.com/llvm/llvm-project/issues/97884
Commit: a853fe25df1cda0117055c0d836e7b107d98c791
https://github.com/llvm/llvm-project/commit/a853fe25df1cda0117055c0d836e7b107d98c791
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
A compiler-rt/lib/nsan/nsan_preinit.cpp
M compiler-rt/lib/nsan/tests/CMakeLists.txt
Log Message:
-----------
[nsan] Add nsan_preinit.cpp and make it static library only
#94322 defines .preinit_array to initialize nsan early.
DT_PREINIT_ARRAY can only be used with the main executable. GNU ld would
complain when a DSO has .preinit_array. Therefore,
nsan_preinit.cpp cannot be linked into `libclang_rt.nsan.so` (#98415).
Working with @alexander-shaposhnikov, we noticed that `Nsan-x86_64-Test
--gtest_output=json` without `.preinit_array` will sigsegv. This is
because googletest with the JSON output calls `localtime_r` , which
calls `free(0)` and fails when `REAL(free)` remains uninitialized
(nullptr). This is benign with the default output because malloc/free
are all paired and `REAL(free)(ptr)` is not called.
To fix the unittest failure, `__nsan_init` needs to be called early
(.preinit_array).
`asan/tests/CMakeLists.txt:ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS` ues
`-fsanitize=address` to ensure `asan_preinit.cpp.o` is linked into the
unittest executable. Port the approach and remove
`NSAN_TEST_RUNTIME_OBJECTS`.
Fix #98523
Pull Request: https://github.com/llvm/llvm-project/pull/98564
Commit: 79bd6287a9075efd6ef18755d27c540e744a892c
https://github.com/llvm/llvm-project/commit/79bd6287a9075efd6ef18755d27c540e744a892c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/msan/msan_linux.cpp
Log Message:
-----------
[NFC][msan] Mention sanitizer in error messages
And remove spaces around '-' printing ranges.
Commit: ff8a03a7acca35eeba15bf4f1af8afa009cd04f3
https://github.com/llvm/llvm-project/commit/ff8a03a7acca35eeba15bf4f1af8afa009cd04f3
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Fix coalesced vsetvli's AVL LiveInterval not always being shrunk (#98286)
Most of the time when we coalesce and delete a vsetvli, we shrink the
LiveInterval of its AVL register now that there is one less use. However
there's one edge case we were missing where if we have two vsetvlis with
no users of vl or vtype in between, we coalesced a vsetvli without
shrinking it's AVL.
This fixes it by shrinking the LiveInterval whenever we delete a
vsetvli, and also makes the LiveIntervals consistent in-situ by not
removing the use before shrinking.
This fixes a -verify-machineinstrs assertion in an MIR test case I found
while investigating
https://github.com/llvm/llvm-project/pull/97264#issuecomment-2218036877.
I couldn't recreate this at the LLVM IR level, seemingly because
RISCVInsertVSETVLI will just avoid inserting extra vsetvlis that don't
need coalesced.
Commit: 6dd1f080e16e44cdda1ac72b24e563a3a274d094
https://github.com/llvm/llvm-project/commit/6dd1f080e16e44cdda1ac72b24e563a3a274d094
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/msan/msan_linux.cpp
Log Message:
-----------
[NFC][msan] Use %p to print addresses
Commit: f52a4679e683807d699e105a6139a5a91401667f
https://github.com/llvm/llvm-project/commit/f52a4679e683807d699e105a6139a5a91401667f
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
Log Message:
-----------
[Clang] Ensure the method scope at the late parsing of noexcept specifiers (#98023)
Previously, we only pushed the function scope once we entered the
function definition, whereas tryCaptureVariable() requires at least one
function scope available when ParmVarDecls being captured have been
owned by a function. This led to problems parsing the noexcept
specifiers, as the DeclRefExprs inside them were improperly computed.
Fixes https://github.com/llvm/llvm-project/issues/97453
Commit: 90abdf83e273586a43e1270e5f0a11de5cc35383
https://github.com/llvm/llvm-project/commit/90abdf83e273586a43e1270e5f0a11de5cc35383
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
Log Message:
-----------
[CUDA][HIP][NFC] add CodeGenModule::shouldEmitCUDAGlobalVar (#98543)
Extract the logic whether to emit a global var based on CUDA/HIP
host/device related attributes to CodeGenModule::shouldEmitCUDAGlobalVar
to be used by other places.
Commit: b12e141fb14a8b603984e1d29339e344e0db36ce
https://github.com/llvm/llvm-project/commit/b12e141fb14a8b603984e1d29339e344e0db36ce
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_allocator.h
Log Message:
-----------
[memprof] Switch allocator to dynamic base address (#98510)
memprof_rtl.cpp calls InitializeShadowMemory() - which
dynamically/"randomly" chooses a base address for the shadow mapping -
prior to InitializeAllocator(). If we are unlucky, the shadow memory may
be mapped in the same region where the allocator wants to be.
This patch fixes the issue by changing the allocator to dynamically
choosing a base address, as suggested by Vitaly. For comparison, HWASan
already dynamically chooses the base addresses for the shadow mapping
and allocator.
The "unlucky" failure was observed on a new buildbot:
https://lab.llvm.org/buildbot/#/builders/66/builds/1361/steps/17/logs/stdio
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 56b73f2a73b082c7b6a17cad37799fc218436be1
https://github.com/llvm/llvm-project/commit/56b73f2a73b082c7b6a17cad37799fc218436be1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/msan/msan_linux.cpp
Log Message:
-----------
[msan] Fix compilation broken by invalid conflict resolution
Commit: dcf6b7a8ea9a9be04dd66d20e4a7c55cd0f50a11
https://github.com/llvm/llvm-project/commit/dcf6b7a8ea9a9be04dd66d20e4a7c55cd0f50a11
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTestComments.cpp
Log Message:
-----------
[clang-format] Fix a bug in TCAS_Leave using tabs for indentation (#98427)
Fixes #92530.
Commit: 4f1de83d537f62070cde85e09e88bc229316b3e1
https://github.com/llvm/llvm-project/commit/4f1de83d537f62070cde85e09e88bc229316b3e1
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[Clang][NFC][Coroutine] Do not leave dangling pointers after removing CoroBegin (#98546)
Commit: 062844615db5e141da118c1ad780bf102537f40a
https://github.com/llvm/llvm-project/commit/062844615db5e141da118c1ad780bf102537f40a
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
Log Message:
-----------
[RISCV] Enable framework to resolve encoding conflicts among vendor-specific CSRs (#97287)
This PR is a follow-up of PR #96174 which added the framework to resolve
encoding conflicts among vendor specific CSRs. This PR explicitly
enables this only for the RISCV target.
Commit: 9818ba29b91479e8f484455f36ca9f1b9a845bd1
https://github.com/llvm/llvm-project/commit/9818ba29b91479e8f484455f36ca9f1b9a845bd1
Author: Guillaume Belz <gbdivers.spam at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
Log Message:
-----------
fix assert in AArch64Arm64ECCallLowering.cpp (#98408)
The precedence of `==` operator is superior to `?:` operator. This line
is evaluated as:
```cpp
assert((ArgTranslations.size() == F->isVarArg()) ? 5 : PassthroughArgSize);
```
I guess this is not what is wanted. This causes a warning with gcc:
```
[131/602] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64Arm64ECCallLowering.cpp.o
In file included from /usr/include/c++/11/cassert:44,
from /home/linux/dev/llvm-project/llvm/include/llvm/Support/CommandLine.h:33,
from /home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp:31:
/home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp: In member function ‘llvm::Function* {anonymous}::AArch64Arm64ECCallLowering::buildEntryThunk(llvm::Function*)’:
/home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp:528:50: warning: ‘?:’ using integer constants in boolean context [-Wint-in-bool-context]
528 | assert(ArgTranslations.size() == F->isVarArg() ? 5 : PassthroughArgSize);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
```
Add parenthesis to fix the problem.
Commit: 076ae5821671aa7911b0eba6636e844381115237
https://github.com/llvm/llvm-project/commit/076ae5821671aa7911b0eba6636e844381115237
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
R llvm/test/MC/AsmParser/altmacro-arg.s
Log Message:
-----------
Revert "[MCParser] .altmacro: Support argument expansion not preceded by \"
This reverts commit f8b1ca4992a22b4b65282c09dd6f07a1a2839070.
It incorrectly replaces `t` in `blt` to `h`.
```
.altmacro
.macro gen t
blt 2f
2:
.endm
gen h
```
Fix #98558
Commit: 144dae207a3b1750ec94553248bf44c359b6d452
https://github.com/llvm/llvm-project/commit/144dae207a3b1750ec94553248bf44c359b6d452
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c
Log Message:
-----------
[hwasan] Report unavalible fixed shadow range (#98574)
Before the patch `fixed-shadow.c` test died with an obscure SEGV,
because shadow was mapped over libc.so.
Note, FindDynamicShadowStart is expected to select in available region.
Commit: ecd2bf73cb212452951b3010bbf06e4d96330a92
https://github.com/llvm/llvm-project/commit/ecd2bf73cb212452951b3010bbf06e4d96330a92
Author: vporpo <vporpodas at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add setOperand() and RAUW,RUWIf,RUOW (#98410)
This patch adds the following member functions:
- User::setOperand()
- User::replaceUsesOfWith()
- Value::replaceAllUsesWith()
- Value::replaceUsesWithIf()
Commit: 0d9d5f7ea282f938e39a9b319076ef84c45ee482
https://github.com/llvm/llvm-project/commit/0d9d5f7ea282f938e39a9b319076ef84c45ee482
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCSE.cpp
A llvm/test/CodeGen/AMDGPU/copyprop_regsequence_with_undef.mir
Log Message:
-----------
[CodeGen] Guard copy propagation in machine CSE against undefs (#97413)
Commit: 8698160d1dedfb8bfa9dae094c14443c43b32a31
https://github.com/llvm/llvm-project/commit/8698160d1dedfb8bfa9dae094c14443c43b32a31
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_rtl.cpp
Log Message:
-----------
[NFC][memprof] Use %p to print addresses (#98577)
Commit: d22a419da2aec60ceb84eff489d4f64f7395c73d
https://github.com/llvm/llvm-project/commit/d22a419da2aec60ceb84eff489d4f64f7395c73d
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
A llvm/test/MC/AsmParser/altmacro-arg.s
Log Message:
-----------
[MC,test] Improve .altmacro test
Commit: ec50f5828f25ae8b494475c6e151d9849800da7c
https://github.com/llvm/llvm-project/commit/ec50f5828f25ae8b494475c6e151d9849800da7c
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
A mlir/include/mlir/Support/CyclicReplacerCache.h
M mlir/unittests/Support/CMakeLists.txt
A mlir/unittests/Support/CyclicReplacerCacheTest.cpp
Log Message:
-----------
[MLIR][Support] A cache for cyclical replacers/maps (#98202)
This is a support data structure that acts as a cache for replacer-like
functions that map values between two domains. The difference compared
to just using a map to cache in-out pairs is that this class is able to
handle replacer logic that is self-recursive (and thus may cause
infinite recursion in the naive case).
This class provides a hook for the user to perform cycle pruning when a
cycle is identified, and is able to perform context-sensitive caching so
that the replacement result for an input that is part of a pruned cycle
can be distinct from the replacement result for the same input when it
is not part of a cycle.
In addition, this class allows deferring cycle pruning until specific
inputs are repeated. This is useful for cases where not all elements in
a cycle can perform pruning. The user still must guarantee that at least
one element in any given cycle can perform pruning. Even if not, an
assertion will eventually be tripped instead of infinite recursion (the
run-time is linearly bounded by the maximum cycle length of its input).
Commit: da368f24050f34de0327d04068a608ba971fa47c
https://github.com/llvm/llvm-project/commit/da368f24050f34de0327d04068a608ba971fa47c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/altmacro-arg.s
Log Message:
-----------
[MCParser] .altmacro: Support argument expansion not preceded by \
In the .altmacro mode, an argument can be expanded even if not preceded
by \. This behavior is not enabled for Darwin, which uses $
(`isIdentifierChar('$')` is true) for macro expansion.
This is f8b1ca4992a22b4b65282c09dd6f07a1a2839070 with a fix.
Commit: 51b22f95b8083c764fe39fd95e43f04bfa4be2c1
https://github.com/llvm/llvm-project/commit/51b22f95b8083c764fe39fd95e43f04bfa4be2c1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
Log Message:
-----------
[LoopDist] Fix copy/paste mistake that said vectorize instead of distribute. NFC
Remove mention of sharing with new and old PM. The old PM code is gone.
Commit: 10df988e486061178034b4f41ec574f68170b887
https://github.com/llvm/llvm-project/commit/10df988e486061178034b4f41ec574f68170b887
Author: Vedant Paranjape <vedant.paranjape at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
A llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
A llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-arg-position-pr1259.ll
A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-same-arg-twice-pr1259.ll
Log Message:
-----------
[ArgPromotion] Handle pointer arguments of recursive calls (#78735)
Argument promotion doesn't handle recursive function calls to promote
arguments. This patch adds functionality to handle self recursive
function calls, i.e. whose SCC size is 1. Due to complexity of
ValueTracking in recursive calls with SCC size greater than 1, we bail
out in such cases.
Commit: 870eee464b336cc42e3e1883e5402675be180eec
https://github.com/llvm/llvm-project/commit/870eee464b336cc42e3e1883e5402675be180eec
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/test/asan/TestCases/debug_mapping.cpp
Log Message:
-----------
[NFC][asan] Use %p to print addresses (#98575)
Co-authored-by: vporpo <vporpodas at google.com>
Commit: d384267ad0d5494832f7f53b888c3968b7e688a8
https://github.com/llvm/llvm-project/commit/d384267ad0d5494832f7f53b888c3968b7e688a8
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[NFC] [Modules] Introduce 'DeclBase::isInNamedModule' interface
This patch introduces DeclBase::isInNamedModule API to ease the use
of modules slightly.
Commit: c9df9565ea43930706f8a57418efc03b64988455
https://github.com/llvm/llvm-project/commit/c9df9565ea43930706f8a57418efc03b64988455
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
[NFC][hwasan] Use %p to print addresses (#98576)
Commit: a00754bb2a98ff0ba45fb0c34e55d1c14e24f9af
https://github.com/llvm/llvm-project/commit/a00754bb2a98ff0ba45fb0c34e55d1c14e24f9af
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
Log Message:
-----------
[LV] Fix the cost of min/max reductions. (#98453)
This patch updates the function `getReductionPatternCost` to handle the
cost of min/max reductions by `TTI.getMinMaxReductionCost`.
Commit: 9c9227686bb052eec60ab95a4bd99c629cce22f6
https://github.com/llvm/llvm-project/commit/9c9227686bb052eec60ab95a4bd99c629cce22f6
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
Log Message:
-----------
[ArgumentPromotion] Fix -Wunused-but-set-variable after #78735
Commit: e0d66c242462d63d99a5324f9799ae5f84f2d84f
https://github.com/llvm/llvm-project/commit/e0d66c242462d63d99a5324f9799ae5f84f2d84f
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/export-redecl-in-language-linkage.cppm
Log Message:
-----------
[C++20] [Modules] Allow export redeclarations within language linkage
Close https://github.com/llvm/llvm-project/issues/98583
Currently, clang will reject the following code:
```
export module mod;
extern "C++" void func();
export extern "C++" {
void func();
}
```
while both MSVC and GCC accept it. Although clang's behavior matches the
current wording, from the discussion, the consensus is that we should
accept the above example from the intention. Since the intention to not
allow export redeclaration which is not exported is to make the linkage
clear. But it doesn't matter with the declarations within global module.
Commit: ee42234b6f7b61598a074db761c95acc5c6d2c1f
https://github.com/llvm/llvm-project/commit/ee42234b6f7b61598a074db761c95acc5c6d2c1f
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/include/mlir/Support/CyclicReplacerCache.h
Log Message:
-----------
[mlir] Remove unused includes in CyclicReplacerCache.h, NFC
Commit: c9680bcdc537eeaf09b886107804460905188cd9
https://github.com/llvm/llvm-project/commit/c9680bcdc537eeaf09b886107804460905188cd9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
[compiler-rt] Fix a warning
This patch fixes:
compiler-rt/lib/hwasan/hwasan_report.cpp:331:57: error: format
specifies type 'void *' but the argument has type 'const uptr *'
(aka 'const unsigned long *') [-Werror,-Wformat-pedantic]
Commit: d5c89cc81148eedfdb5cf0086da6230ff936e389
https://github.com/llvm/llvm-project/commit/d5c89cc81148eedfdb5cf0086da6230ff936e389
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DeadStoreElimination] Refactor out `pushMemUses`, drop dead check (NFC)
Commit: d601ca3cb6a277a7750b74f51c959bbfba8c5756
https://github.com/llvm/llvm-project/commit/d601ca3cb6a277a7750b74f51c959bbfba8c5756
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/include/mlir/Support/CyclicReplacerCache.h
M mlir/unittests/Support/CyclicReplacerCacheTest.cpp
Log Message:
-----------
Fix the broken build for ee42234b6f7b61598a074db761c95acc5c6d2c1f
Commit: cbc96b9ef9260e4ebc61e376e97b5b8cb1299c2b
https://github.com/llvm/llvm-project/commit/cbc96b9ef9260e4ebc61e376e97b5b8cb1299c2b
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
Log Message:
-----------
Reapply "[LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy" (#98482)
Reverts llvm/llvm-project#98295, which reverted llvm/llvm-project#97998
The failure in the "InOneWeekend" test of the HIP test suite on
clang-hip-vega20
(https://lab.llvm.org/buildbot/#/builders/123/builds/1498) seems to be
unrelated; I observed it (and a similar failure for the "TheNextWeek"
test in the same suite) intermittently on my system, with and without
the patch applied. (It occurred in 2 out of 50 repeated runs without the
patch and in 1 out of 50 runs with the patch.)
Commit: db27905a0b630bc574f44c5b1f0d054c9c573239
https://github.com/llvm/llvm-project/commit/db27905a0b630bc574f44c5b1f0d054c9c573239
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Remove trailing spaces in AMDGPUUsage.rst
Commit: ef8819e2567e81d8583756187ab5dcf06911fa69
https://github.com/llvm/llvm-project/commit/ef8819e2567e81d8583756187ab5dcf06911fa69
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-op-tile.mlir
Log Message:
-----------
[mlir] Extend `tile_using_for` verifier to fix a crash (#98366)
This patch adds a check for the correct number of `loops` results of the
`transform.structured.tile_using_for` Op to the verifier, fixing a
crash.
Fix https://github.com/llvm/llvm-project/issues/98008
Commit: 37d3f44a58d0a2a2e8782266acd66a6733984842
https://github.com/llvm/llvm-project/commit/37d3f44a58d0a2a2e8782266acd66a6733984842
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
Log Message:
-----------
[Transforms] Use range-based for loops (NFC) (#98465)
Commit: ce9035f5bd3aa09cbd899489cdbc7f6c18acf1e3
https://github.com/llvm/llvm-project/commit/ce9035f5bd3aa09cbd899489cdbc7f6c18acf1e3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/benchmarks/LibcDefaultImplementations.cpp
M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
M libc/benchmarks/automemcpy/lib/CodeGen.cpp
M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
M libc/benchmarks/gpu/BenchmarkLogger.cpp
M libc/benchmarks/gpu/BenchmarkLogger.h
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/linux/app.h
M libc/docs/dev/clang_tidy_checks.rst
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/bitset.h
M libc/src/__support/CPP/cstddef.h
M libc/src/__support/CPP/expected.h
M libc/src/__support/CPP/functional.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/mutex.h
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/stringstream.h
M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
M libc/src/__support/CPP/type_traits/add_pointer.h
M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
M libc/src/__support/CPP/type_traits/aligned_storage.h
M libc/src/__support/CPP/type_traits/always_false.h
M libc/src/__support/CPP/type_traits/bool_constant.h
M libc/src/__support/CPP/type_traits/conditional.h
M libc/src/__support/CPP/type_traits/decay.h
M libc/src/__support/CPP/type_traits/enable_if.h
M libc/src/__support/CPP/type_traits/false_type.h
M libc/src/__support/CPP/type_traits/integral_constant.h
M libc/src/__support/CPP/type_traits/invoke.h
M libc/src/__support/CPP/type_traits/invoke_result.h
M libc/src/__support/CPP/type_traits/is_arithmetic.h
M libc/src/__support/CPP/type_traits/is_array.h
M libc/src/__support/CPP/type_traits/is_base_of.h
M libc/src/__support/CPP/type_traits/is_class.h
M libc/src/__support/CPP/type_traits/is_const.h
M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M libc/src/__support/CPP/type_traits/is_convertible.h
M libc/src/__support/CPP/type_traits/is_destructible.h
M libc/src/__support/CPP/type_traits/is_enum.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/CPP/type_traits/is_function.h
M libc/src/__support/CPP/type_traits/is_integral.h
M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
M libc/src/__support/CPP/type_traits/is_member_pointer.h
M libc/src/__support/CPP/type_traits/is_null_pointer.h
M libc/src/__support/CPP/type_traits/is_object.h
M libc/src/__support/CPP/type_traits/is_pointer.h
M libc/src/__support/CPP/type_traits/is_reference.h
M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
M libc/src/__support/CPP/type_traits/is_same.h
M libc/src/__support/CPP/type_traits/is_scalar.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
M libc/src/__support/CPP/type_traits/is_union.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/CPP/type_traits/is_void.h
M libc/src/__support/CPP/type_traits/make_signed.h
M libc/src/__support/CPP/type_traits/make_unsigned.h
M libc/src/__support/CPP/type_traits/remove_all_extents.h
M libc/src/__support/CPP/type_traits/remove_cv.h
M libc/src/__support/CPP/type_traits/remove_cvref.h
M libc/src/__support/CPP/type_traits/remove_extent.h
M libc/src/__support/CPP/type_traits/remove_reference.h
M libc/src/__support/CPP/type_traits/true_type.h
M libc/src/__support/CPP/type_traits/type_identity.h
M libc/src/__support/CPP/type_traits/void_t.h
M libc/src/__support/CPP/utility/declval.h
M libc/src/__support/CPP/utility/forward.h
M libc/src/__support/CPP/utility/in_place.h
M libc/src/__support/CPP/utility/integer_sequence.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/aarch64/nearest_integer.h
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/fpbits_str.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/README.md
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/triple_double.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/FPUtil/x86_64/nearest_integer.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/File/linux/stderr.cpp
M libc/src/__support/File/linux/stdin.cpp
M libc/src/__support/File/linux/stdout.cpp
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/GPU/allocator.h
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/baremetal/exit.cpp
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/__support/OSUtil/darwin/arm/syscall.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/OSUtil/darwin/syscall.h
M libc/src/__support/OSUtil/exit.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/fuchsia/io.h
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/gpu/io.h
M libc/src/__support/OSUtil/linux/aarch64/syscall.h
M libc/src/__support/OSUtil/linux/arm/syscall.h
M libc/src/__support/OSUtil/linux/exit.cpp
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/io.h
M libc/src/__support/OSUtil/linux/riscv/syscall.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/x86_64/syscall.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/RPC/rpc_client.cpp
M libc/src/__support/RPC/rpc_client.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/message_mapper.h
M libc/src/__support/StringUtil/signal_to_string.cpp
M libc/src/__support/StringUtil/signal_to_string.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/arg_list.h
M libc/src/__support/big_int.h
M libc/src/__support/block.h
M libc/src/__support/blockstore.h
M libc/src/__support/c_string.h
M libc/src/__support/char_vector.h
M libc/src/__support/common.h
M libc/src/__support/ctype_utils.h
M libc/src/__support/detailed_powers_of_ten.h
M libc/src/__support/endian.h
M libc/src/__support/error_or.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/fixedvector.h
M libc/src/__support/float_to_string.h
M libc/src/__support/freelist.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/hash.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_operations.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/intrusive_list.h
M libc/src/__support/libc_assert.h
M libc/src/__support/macros/config.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/str_to_num_result.h
M libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/callonce.h
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/fork_callbacks.h
M libc/src/__support/threads/gpu/mutex.h
M libc/src/__support/threads/linux/CndVar.cpp
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/__support/threads/linux/callonce.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/raw_mutex.h
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex_common.h
M libc/src/__support/threads/sleep.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
M libc/src/__support/time/linux/abs_timeout.h
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.h
M libc/src/__support/time/linux/monotonicity.h
M libc/src/__support/time/units.h
M libc/src/__support/wctype_utils.h
M libc/src/assert/__assert_fail.h
M libc/src/assert/generic/__assert_fail.cpp
M libc/src/assert/gpu/__assert_fail.cpp
M libc/src/ctype/isalnum.cpp
M libc/src/ctype/isalnum.h
M libc/src/ctype/isalpha.cpp
M libc/src/ctype/isalpha.h
M libc/src/ctype/isascii.cpp
M libc/src/ctype/isascii.h
M libc/src/ctype/isblank.cpp
M libc/src/ctype/isblank.h
M libc/src/ctype/iscntrl.cpp
M libc/src/ctype/iscntrl.h
M libc/src/ctype/isdigit.cpp
M libc/src/ctype/isdigit.h
M libc/src/ctype/isgraph.cpp
M libc/src/ctype/isgraph.h
M libc/src/ctype/islower.cpp
M libc/src/ctype/islower.h
M libc/src/ctype/isprint.cpp
M libc/src/ctype/isprint.h
M libc/src/ctype/ispunct.cpp
M libc/src/ctype/ispunct.h
M libc/src/ctype/isspace.cpp
M libc/src/ctype/isspace.h
M libc/src/ctype/isupper.cpp
M libc/src/ctype/isupper.h
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit.h
M libc/src/ctype/toascii.cpp
M libc/src/ctype/toascii.h
M libc/src/ctype/tolower.cpp
M libc/src/ctype/tolower.h
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/closedir.h
M libc/src/dirent/dirfd.cpp
M libc/src/dirent/dirfd.h
M libc/src/dirent/opendir.cpp
M libc/src/dirent/opendir.h
M libc/src/dirent/readdir.cpp
M libc/src/dirent/readdir.h
M libc/src/dlfcn/dlclose.cpp
M libc/src/dlfcn/dlclose.h
M libc/src/dlfcn/dlerror.cpp
M libc/src/dlfcn/dlerror.h
M libc/src/dlfcn/dlopen.cpp
M libc/src/dlfcn/dlopen.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/fcntl/creat.h
M libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/fenv/feclearexcept.cpp
M libc/src/fenv/feclearexcept.h
M libc/src/fenv/fedisableexcept.cpp
M libc/src/fenv/fedisableexcept.h
M libc/src/fenv/feenableexcept.cpp
M libc/src/fenv/feenableexcept.h
M libc/src/fenv/fegetenv.cpp
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexcept.cpp
M libc/src/fenv/fegetexcept.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fegetround.cpp
M libc/src/fenv/fegetround.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/feraiseexcept.cpp
M libc/src/fenv/feraiseexcept.h
M libc/src/fenv/fesetenv.cpp
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexcept.cpp
M libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/fesetround.cpp
M libc/src/fenv/fesetround.h
M libc/src/fenv/fetestexcept.cpp
M libc/src/fenv/fetestexcept.h
M libc/src/fenv/fetestexceptflag.cpp
M libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/gpu/rpc_fprintf.cpp
M libc/src/gpu/rpc_fprintf.h
M libc/src/gpu/rpc_host_call.cpp
M libc/src/gpu/rpc_host_call.h
M libc/src/inttypes/imaxabs.cpp
M libc/src/inttypes/imaxabs.h
M libc/src/inttypes/imaxdiv.cpp
M libc/src/inttypes/imaxdiv.h
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoimax.h
M libc/src/inttypes/strtoumax.cpp
M libc/src/inttypes/strtoumax.h
M libc/src/math/aarch64/ceil.cpp
M libc/src/math/aarch64/ceilf.cpp
M libc/src/math/aarch64/floor.cpp
M libc/src/math/aarch64/floorf.cpp
M libc/src/math/aarch64/round.cpp
M libc/src/math/aarch64/roundf.cpp
M libc/src/math/aarch64/trunc.cpp
M libc/src/math/aarch64/truncf.cpp
M libc/src/math/acos.h
M libc/src/math/acosf.h
M libc/src/math/acosh.h
M libc/src/math/acoshf.h
M libc/src/math/amdgpu/acos.cpp
M libc/src/math/amdgpu/acosf.cpp
M libc/src/math/amdgpu/acosh.cpp
M libc/src/math/amdgpu/acoshf.cpp
M libc/src/math/amdgpu/asin.cpp
M libc/src/math/amdgpu/asinf.cpp
M libc/src/math/amdgpu/asinh.cpp
M libc/src/math/amdgpu/asinhf.cpp
M libc/src/math/amdgpu/atan.cpp
M libc/src/math/amdgpu/atan2.cpp
M libc/src/math/amdgpu/atan2f.cpp
M libc/src/math/amdgpu/atanf.cpp
M libc/src/math/amdgpu/atanh.cpp
M libc/src/math/amdgpu/atanhf.cpp
M libc/src/math/amdgpu/ceil.cpp
M libc/src/math/amdgpu/ceilf.cpp
M libc/src/math/amdgpu/copysign.cpp
M libc/src/math/amdgpu/copysignf.cpp
M libc/src/math/amdgpu/cos.cpp
M libc/src/math/amdgpu/cosf.cpp
M libc/src/math/amdgpu/cosh.cpp
M libc/src/math/amdgpu/coshf.cpp
M libc/src/math/amdgpu/declarations.h
M libc/src/math/amdgpu/erf.cpp
M libc/src/math/amdgpu/erff.cpp
M libc/src/math/amdgpu/exp.cpp
M libc/src/math/amdgpu/exp10.cpp
M libc/src/math/amdgpu/exp10f.cpp
M libc/src/math/amdgpu/exp2.cpp
M libc/src/math/amdgpu/exp2f.cpp
M libc/src/math/amdgpu/expf.cpp
M libc/src/math/amdgpu/expm1.cpp
M libc/src/math/amdgpu/expm1f.cpp
M libc/src/math/amdgpu/fabs.cpp
M libc/src/math/amdgpu/fabsf.cpp
M libc/src/math/amdgpu/fdim.cpp
M libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/floor.cpp
M libc/src/math/amdgpu/floorf.cpp
M libc/src/math/amdgpu/fma.cpp
M libc/src/math/amdgpu/fmaf.cpp
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/amdgpu/fmod.cpp
M libc/src/math/amdgpu/fmodf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
M libc/src/math/amdgpu/hypot.cpp
M libc/src/math/amdgpu/hypotf.cpp
M libc/src/math/amdgpu/ilogb.cpp
M libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
M libc/src/math/amdgpu/log.cpp
M libc/src/math/amdgpu/log10.cpp
M libc/src/math/amdgpu/log10f.cpp
M libc/src/math/amdgpu/log1p.cpp
M libc/src/math/amdgpu/log1pf.cpp
M libc/src/math/amdgpu/log2.cpp
M libc/src/math/amdgpu/log2f.cpp
M libc/src/math/amdgpu/logb.cpp
M libc/src/math/amdgpu/logbf.cpp
M libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
M libc/src/math/amdgpu/nearbyint.cpp
M libc/src/math/amdgpu/nearbyintf.cpp
M libc/src/math/amdgpu/nextafter.cpp
M libc/src/math/amdgpu/nextafterf.cpp
M libc/src/math/amdgpu/platform.h
M libc/src/math/amdgpu/pow.cpp
M libc/src/math/amdgpu/powf.cpp
M libc/src/math/amdgpu/powi.cpp
M libc/src/math/amdgpu/powif.cpp
M libc/src/math/amdgpu/remainder.cpp
M libc/src/math/amdgpu/remainderf.cpp
M libc/src/math/amdgpu/remquo.cpp
M libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/rint.cpp
M libc/src/math/amdgpu/rintf.cpp
M libc/src/math/amdgpu/round.cpp
M libc/src/math/amdgpu/roundf.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
M libc/src/math/amdgpu/sin.cpp
M libc/src/math/amdgpu/sincos.cpp
M libc/src/math/amdgpu/sincosf.cpp
M libc/src/math/amdgpu/sinf.cpp
M libc/src/math/amdgpu/sinh.cpp
M libc/src/math/amdgpu/sinhf.cpp
M libc/src/math/amdgpu/sqrt.cpp
M libc/src/math/amdgpu/sqrtf.cpp
M libc/src/math/amdgpu/tan.cpp
M libc/src/math/amdgpu/tanf.cpp
M libc/src/math/amdgpu/tanh.cpp
M libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/amdgpu/trunc.cpp
M libc/src/math/amdgpu/truncf.cpp
M libc/src/math/asin.h
M libc/src/math/asinf.h
M libc/src/math/asinh.h
M libc/src/math/asinhf.h
M libc/src/math/atan.h
M libc/src/math/atan2.h
M libc/src/math/atan2f.h
M libc/src/math/atanf.h
M libc/src/math/atanh.h
M libc/src/math/atanhf.h
M libc/src/math/canonicalize.h
M libc/src/math/canonicalizef.h
M libc/src/math/canonicalizef128.h
M libc/src/math/canonicalizef16.h
M libc/src/math/canonicalizel.h
M libc/src/math/cbrtf.h
M libc/src/math/ceil.h
M libc/src/math/ceilf.h
M libc/src/math/ceilf128.h
M libc/src/math/ceilf16.h
M libc/src/math/ceill.h
M libc/src/math/copysign.h
M libc/src/math/copysignf.h
M libc/src/math/copysignf128.h
M libc/src/math/copysignf16.h
M libc/src/math/copysignl.h
M libc/src/math/cos.h
M libc/src/math/cosf.h
M libc/src/math/cosh.h
M libc/src/math/coshf.h
M libc/src/math/cospif.h
M libc/src/math/erf.h
M libc/src/math/erff.h
M libc/src/math/exp.h
M libc/src/math/exp10.h
M libc/src/math/exp10f.h
M libc/src/math/exp2.h
M libc/src/math/exp2f.h
M libc/src/math/exp2m1f.h
M libc/src/math/expf.h
M libc/src/math/expm1.h
M libc/src/math/expm1f.h
M libc/src/math/f16add.h
M libc/src/math/f16addf.h
M libc/src/math/f16addf128.h
M libc/src/math/f16addl.h
M libc/src/math/f16div.h
M libc/src/math/f16divf.h
M libc/src/math/f16divf128.h
M libc/src/math/f16divl.h
M libc/src/math/f16fma.h
M libc/src/math/f16fmaf.h
M libc/src/math/f16fmaf128.h
M libc/src/math/f16fmal.h
M libc/src/math/f16sqrt.h
M libc/src/math/f16sqrtf.h
M libc/src/math/f16sqrtf128.h
M libc/src/math/f16sqrtl.h
M libc/src/math/f16sub.h
M libc/src/math/f16subf.h
M libc/src/math/f16subf128.h
M libc/src/math/f16subl.h
M libc/src/math/fabs.h
M libc/src/math/fabsf.h
M libc/src/math/fabsf128.h
M libc/src/math/fabsf16.h
M libc/src/math/fabsl.h
M libc/src/math/fdim.h
M libc/src/math/fdimf.h
M libc/src/math/fdimf128.h
M libc/src/math/fdimf16.h
M libc/src/math/fdiml.h
M libc/src/math/floor.h
M libc/src/math/floorf.h
M libc/src/math/floorf128.h
M libc/src/math/floorf16.h
M libc/src/math/floorl.h
M libc/src/math/fma.h
M libc/src/math/fmaf.h
M libc/src/math/fmax.h
M libc/src/math/fmaxf.h
M libc/src/math/fmaxf128.h
M libc/src/math/fmaxf16.h
M libc/src/math/fmaximum.h
M libc/src/math/fmaximum_mag.h
M libc/src/math/fmaximum_mag_num.h
M libc/src/math/fmaximum_mag_numf.h
M libc/src/math/fmaximum_mag_numf128.h
M libc/src/math/fmaximum_mag_numf16.h
M libc/src/math/fmaximum_mag_numl.h
M libc/src/math/fmaximum_magf.h
M libc/src/math/fmaximum_magf128.h
M libc/src/math/fmaximum_magf16.h
M libc/src/math/fmaximum_magl.h
M libc/src/math/fmaximum_num.h
M libc/src/math/fmaximum_numf.h
M libc/src/math/fmaximum_numf128.h
M libc/src/math/fmaximum_numf16.h
M libc/src/math/fmaximum_numl.h
M libc/src/math/fmaximumf.h
M libc/src/math/fmaximumf128.h
M libc/src/math/fmaximumf16.h
M libc/src/math/fmaximuml.h
M libc/src/math/fmaxl.h
M libc/src/math/fmin.h
M libc/src/math/fminf.h
M libc/src/math/fminf128.h
M libc/src/math/fminf16.h
M libc/src/math/fminimum.h
M libc/src/math/fminimum_mag.h
M libc/src/math/fminimum_mag_num.h
M libc/src/math/fminimum_mag_numf.h
M libc/src/math/fminimum_mag_numf128.h
M libc/src/math/fminimum_mag_numf16.h
M libc/src/math/fminimum_mag_numl.h
M libc/src/math/fminimum_magf.h
M libc/src/math/fminimum_magf128.h
M libc/src/math/fminimum_magf16.h
M libc/src/math/fminimum_magl.h
M libc/src/math/fminimum_num.h
M libc/src/math/fminimum_numf.h
M libc/src/math/fminimum_numf128.h
M libc/src/math/fminimum_numf16.h
M libc/src/math/fminimum_numl.h
M libc/src/math/fminimumf.h
M libc/src/math/fminimumf128.h
M libc/src/math/fminimumf16.h
M libc/src/math/fminimuml.h
M libc/src/math/fminl.h
M libc/src/math/fmod.h
M libc/src/math/fmodf.h
M libc/src/math/fmodf128.h
M libc/src/math/fmodf16.h
M libc/src/math/fmodl.h
M libc/src/math/fmul.h
M libc/src/math/frexp.h
M libc/src/math/frexpf.h
M libc/src/math/frexpf128.h
M libc/src/math/frexpf16.h
M libc/src/math/frexpl.h
M libc/src/math/fromfp.h
M libc/src/math/fromfpf.h
M libc/src/math/fromfpf128.h
M libc/src/math/fromfpf16.h
M libc/src/math/fromfpl.h
M libc/src/math/fromfpx.h
M libc/src/math/fromfpxf.h
M libc/src/math/fromfpxf128.h
M libc/src/math/fromfpxf16.h
M libc/src/math/fromfpxl.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/ceil.cpp
M libc/src/math/generic/ceilf.cpp
M libc/src/math/generic/ceilf128.cpp
M libc/src/math/generic/ceilf16.cpp
M libc/src/math/generic/ceill.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/copysign.cpp
M libc/src/math/generic/copysignf.cpp
M libc/src/math/generic/copysignf128.cpp
M libc/src/math/generic/copysignf16.cpp
M libc/src/math/generic/copysignl.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16fma.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16fmal.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/f16sqrtf128.cpp
M libc/src/math/generic/f16sqrtl.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.cpp
M libc/src/math/generic/fabs.cpp
M libc/src/math/generic/fabsf.cpp
M libc/src/math/generic/fabsf128.cpp
M libc/src/math/generic/fabsf16.cpp
M libc/src/math/generic/fabsl.cpp
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/src/math/generic/fma.cpp
M libc/src/math/generic/fmaf.cpp
M libc/src/math/generic/fmax.cpp
M libc/src/math/generic/fmaxf.cpp
M libc/src/math/generic/fmaxf128.cpp
M libc/src/math/generic/fmaxf16.cpp
M libc/src/math/generic/fmaximum.cpp
M libc/src/math/generic/fmaximum_mag.cpp
M libc/src/math/generic/fmaximum_mag_num.cpp
M libc/src/math/generic/fmaximum_mag_numf.cpp
M libc/src/math/generic/fmaximum_mag_numf128.cpp
M libc/src/math/generic/fmaximum_mag_numf16.cpp
M libc/src/math/generic/fmaximum_mag_numl.cpp
M libc/src/math/generic/fmaximum_magf.cpp
M libc/src/math/generic/fmaximum_magf128.cpp
M libc/src/math/generic/fmaximum_magf16.cpp
M libc/src/math/generic/fmaximum_magl.cpp
M libc/src/math/generic/fmaximum_num.cpp
M libc/src/math/generic/fmaximum_numf.cpp
M libc/src/math/generic/fmaximum_numf128.cpp
M libc/src/math/generic/fmaximum_numf16.cpp
M libc/src/math/generic/fmaximum_numl.cpp
M libc/src/math/generic/fmaximumf.cpp
M libc/src/math/generic/fmaximumf128.cpp
M libc/src/math/generic/fmaximumf16.cpp
M libc/src/math/generic/fmaximuml.cpp
M libc/src/math/generic/fmaxl.cpp
M libc/src/math/generic/fmin.cpp
M libc/src/math/generic/fminf.cpp
M libc/src/math/generic/fminf128.cpp
M libc/src/math/generic/fminf16.cpp
M libc/src/math/generic/fminimum.cpp
M libc/src/math/generic/fminimum_mag.cpp
M libc/src/math/generic/fminimum_mag_num.cpp
M libc/src/math/generic/fminimum_mag_numf.cpp
M libc/src/math/generic/fminimum_mag_numf128.cpp
M libc/src/math/generic/fminimum_mag_numf16.cpp
M libc/src/math/generic/fminimum_mag_numl.cpp
M libc/src/math/generic/fminimum_magf.cpp
M libc/src/math/generic/fminimum_magf128.cpp
M libc/src/math/generic/fminimum_magf16.cpp
M libc/src/math/generic/fminimum_magl.cpp
M libc/src/math/generic/fminimum_num.cpp
M libc/src/math/generic/fminimum_numf.cpp
M libc/src/math/generic/fminimum_numf128.cpp
M libc/src/math/generic/fminimum_numf16.cpp
M libc/src/math/generic/fminimum_numl.cpp
M libc/src/math/generic/fminimumf.cpp
M libc/src/math/generic/fminimumf128.cpp
M libc/src/math/generic/fminimumf16.cpp
M libc/src/math/generic/fminimuml.cpp
M libc/src/math/generic/fminl.cpp
M libc/src/math/generic/fmod.cpp
M libc/src/math/generic/fmodf.cpp
M libc/src/math/generic/fmodf128.cpp
M libc/src/math/generic/fmodf16.cpp
M libc/src/math/generic/fmodl.cpp
M libc/src/math/generic/fmul.cpp
M libc/src/math/generic/frexp.cpp
M libc/src/math/generic/frexpf.cpp
M libc/src/math/generic/frexpf128.cpp
M libc/src/math/generic/frexpf16.cpp
M libc/src/math/generic/frexpl.cpp
M libc/src/math/generic/fromfp.cpp
M libc/src/math/generic/fromfpf.cpp
M libc/src/math/generic/fromfpf128.cpp
M libc/src/math/generic/fromfpf16.cpp
M libc/src/math/generic/fromfpl.cpp
M libc/src/math/generic/fromfpx.cpp
M libc/src/math/generic/fromfpxf.cpp
M libc/src/math/generic/fromfpxf128.cpp
M libc/src/math/generic/fromfpxf16.cpp
M libc/src/math/generic/fromfpxl.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/hypot.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/ilogb.cpp
M libc/src/math/generic/ilogbf.cpp
M libc/src/math/generic/ilogbf128.cpp
M libc/src/math/generic/ilogbf16.cpp
M libc/src/math/generic/ilogbl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/isnan.cpp
M libc/src/math/generic/isnanf.cpp
M libc/src/math/generic/isnanl.cpp
M libc/src/math/generic/ldexp.cpp
M libc/src/math/generic/ldexpf.cpp
M libc/src/math/generic/ldexpf128.cpp
M libc/src/math/generic/ldexpf16.cpp
M libc/src/math/generic/ldexpl.cpp
M libc/src/math/generic/llogb.cpp
M libc/src/math/generic/llogbf.cpp
M libc/src/math/generic/llogbf128.cpp
M libc/src/math/generic/llogbf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/llrint.cpp
M libc/src/math/generic/llrintf.cpp
M libc/src/math/generic/llrintf128.cpp
M libc/src/math/generic/llrintf16.cpp
M libc/src/math/generic/llrintl.cpp
M libc/src/math/generic/llround.cpp
M libc/src/math/generic/llroundf.cpp
M libc/src/math/generic/llroundf128.cpp
M libc/src/math/generic/llroundf16.cpp
M libc/src/math/generic/llroundl.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logb.cpp
M libc/src/math/generic/logbf.cpp
M libc/src/math/generic/logbf128.cpp
M libc/src/math/generic/logbf16.cpp
M libc/src/math/generic/logbl.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/lrint.cpp
M libc/src/math/generic/lrintf.cpp
M libc/src/math/generic/lrintf128.cpp
M libc/src/math/generic/lrintf16.cpp
M libc/src/math/generic/lrintl.cpp
M libc/src/math/generic/lround.cpp
M libc/src/math/generic/lroundf.cpp
M libc/src/math/generic/lroundf128.cpp
M libc/src/math/generic/lroundf16.cpp
M libc/src/math/generic/lroundl.cpp
M libc/src/math/generic/modf.cpp
M libc/src/math/generic/modff.cpp
M libc/src/math/generic/modff128.cpp
M libc/src/math/generic/modff16.cpp
M libc/src/math/generic/modfl.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/generic/nearbyint.cpp
M libc/src/math/generic/nearbyintf.cpp
M libc/src/math/generic/nearbyintf128.cpp
M libc/src/math/generic/nearbyintf16.cpp
M libc/src/math/generic/nearbyintl.cpp
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.cpp
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.cpp
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction.h
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/range_reduction_double_fma.h
M libc/src/math/generic/range_reduction_double_nofma.h
M libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/remainder.cpp
M libc/src/math/generic/remainderf.cpp
M libc/src/math/generic/remainderf16.cpp
M libc/src/math/generic/remainderl.cpp
M libc/src/math/generic/remquo.cpp
M libc/src/math/generic/remquof.cpp
M libc/src/math/generic/remquof128.cpp
M libc/src/math/generic/remquof16.cpp
M libc/src/math/generic/remquol.cpp
M libc/src/math/generic/rint.cpp
M libc/src/math/generic/rintf.cpp
M libc/src/math/generic/rintf128.cpp
M libc/src/math/generic/rintf16.cpp
M libc/src/math/generic/rintl.cpp
M libc/src/math/generic/round.cpp
M libc/src/math/generic/roundeven.cpp
M libc/src/math/generic/roundevenf.cpp
M libc/src/math/generic/roundevenf128.cpp
M libc/src/math/generic/roundevenf16.cpp
M libc/src/math/generic/roundevenl.cpp
M libc/src/math/generic/roundf.cpp
M libc/src/math/generic/roundf128.cpp
M libc/src/math/generic/roundf16.cpp
M libc/src/math/generic/roundl.cpp
M libc/src/math/generic/scalblnf16.cpp
M libc/src/math/generic/scalbn.cpp
M libc/src/math/generic/scalbnf.cpp
M libc/src/math/generic/scalbnf128.cpp
M libc/src/math/generic/scalbnf16.cpp
M libc/src/math/generic/scalbnl.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sqrt.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/sqrtl.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/totalorderf16.cpp
M libc/src/math/generic/totalordermagf16.cpp
M libc/src/math/generic/trunc.cpp
M libc/src/math/generic/truncf.cpp
M libc/src/math/generic/truncf128.cpp
M libc/src/math/generic/truncf16.cpp
M libc/src/math/generic/truncl.cpp
M libc/src/math/generic/ufromfp.cpp
M libc/src/math/generic/ufromfpf.cpp
M libc/src/math/generic/ufromfpf128.cpp
M libc/src/math/generic/ufromfpf16.cpp
M libc/src/math/generic/ufromfpl.cpp
M libc/src/math/generic/ufromfpx.cpp
M libc/src/math/generic/ufromfpxf.cpp
M libc/src/math/generic/ufromfpxf128.cpp
M libc/src/math/generic/ufromfpxf16.cpp
M libc/src/math/generic/ufromfpxl.cpp
M libc/src/math/getpayloadf16.h
M libc/src/math/hypot.h
M libc/src/math/hypotf.h
M libc/src/math/ilogb.h
M libc/src/math/ilogbf.h
M libc/src/math/ilogbf128.h
M libc/src/math/ilogbf16.h
M libc/src/math/ilogbl.h
M libc/src/math/isnan.h
M libc/src/math/isnanf.h
M libc/src/math/isnanl.h
M libc/src/math/ldexp.h
M libc/src/math/ldexpf.h
M libc/src/math/ldexpf128.h
M libc/src/math/ldexpf16.h
M libc/src/math/ldexpl.h
M libc/src/math/llogb.h
M libc/src/math/llogbf.h
M libc/src/math/llogbf128.h
M libc/src/math/llogbf16.h
M libc/src/math/llogbl.h
M libc/src/math/llrint.h
M libc/src/math/llrintf.h
M libc/src/math/llrintf128.h
M libc/src/math/llrintf16.h
M libc/src/math/llrintl.h
M libc/src/math/llround.h
M libc/src/math/llroundf.h
M libc/src/math/llroundf128.h
M libc/src/math/llroundf16.h
M libc/src/math/llroundl.h
M libc/src/math/log.h
M libc/src/math/log10.h
M libc/src/math/log10f.h
M libc/src/math/log1p.h
M libc/src/math/log1pf.h
M libc/src/math/log2.h
M libc/src/math/log2f.h
M libc/src/math/logb.h
M libc/src/math/logbf.h
M libc/src/math/logbf128.h
M libc/src/math/logbf16.h
M libc/src/math/logbl.h
M libc/src/math/logf.h
M libc/src/math/lrint.h
M libc/src/math/lrintf.h
M libc/src/math/lrintf128.h
M libc/src/math/lrintf16.h
M libc/src/math/lrintl.h
M libc/src/math/lround.h
M libc/src/math/lroundf.h
M libc/src/math/lroundf128.h
M libc/src/math/lroundf16.h
M libc/src/math/lroundl.h
M libc/src/math/modf.h
M libc/src/math/modff.h
M libc/src/math/modff128.h
M libc/src/math/modff16.h
M libc/src/math/modfl.h
M libc/src/math/nan.h
M libc/src/math/nanf.h
M libc/src/math/nanf128.h
M libc/src/math/nanf16.h
M libc/src/math/nanl.h
M libc/src/math/nearbyint.h
M libc/src/math/nearbyintf.h
M libc/src/math/nearbyintf128.h
M libc/src/math/nearbyintf16.h
M libc/src/math/nearbyintl.h
M libc/src/math/nextafter.h
M libc/src/math/nextafterf.h
M libc/src/math/nextafterf128.h
M libc/src/math/nextafterf16.h
M libc/src/math/nextafterl.h
M libc/src/math/nextdown.h
M libc/src/math/nextdownf.h
M libc/src/math/nextdownf128.h
M libc/src/math/nextdownf16.h
M libc/src/math/nextdownl.h
M libc/src/math/nexttoward.h
M libc/src/math/nexttowardf.h
M libc/src/math/nexttowardf16.h
M libc/src/math/nexttowardl.h
M libc/src/math/nextup.h
M libc/src/math/nextupf.h
M libc/src/math/nextupf128.h
M libc/src/math/nextupf16.h
M libc/src/math/nextupl.h
M libc/src/math/nvptx/acos.cpp
M libc/src/math/nvptx/acosf.cpp
M libc/src/math/nvptx/acosh.cpp
M libc/src/math/nvptx/acoshf.cpp
M libc/src/math/nvptx/asin.cpp
M libc/src/math/nvptx/asinf.cpp
M libc/src/math/nvptx/asinh.cpp
M libc/src/math/nvptx/asinhf.cpp
M libc/src/math/nvptx/atan.cpp
M libc/src/math/nvptx/atan2.cpp
M libc/src/math/nvptx/atan2f.cpp
M libc/src/math/nvptx/atanf.cpp
M libc/src/math/nvptx/atanh.cpp
M libc/src/math/nvptx/atanhf.cpp
M libc/src/math/nvptx/ceil.cpp
M libc/src/math/nvptx/ceilf.cpp
M libc/src/math/nvptx/copysign.cpp
M libc/src/math/nvptx/copysignf.cpp
M libc/src/math/nvptx/cos.cpp
M libc/src/math/nvptx/cosf.cpp
M libc/src/math/nvptx/cosh.cpp
M libc/src/math/nvptx/coshf.cpp
M libc/src/math/nvptx/declarations.h
M libc/src/math/nvptx/erf.cpp
M libc/src/math/nvptx/erff.cpp
M libc/src/math/nvptx/exp.cpp
M libc/src/math/nvptx/exp10.cpp
M libc/src/math/nvptx/exp10f.cpp
M libc/src/math/nvptx/exp2.cpp
M libc/src/math/nvptx/exp2f.cpp
M libc/src/math/nvptx/expf.cpp
M libc/src/math/nvptx/expm1.cpp
M libc/src/math/nvptx/expm1f.cpp
M libc/src/math/nvptx/fabs.cpp
M libc/src/math/nvptx/fabsf.cpp
M libc/src/math/nvptx/fdim.cpp
M libc/src/math/nvptx/fdimf.cpp
M libc/src/math/nvptx/floor.cpp
M libc/src/math/nvptx/floorf.cpp
M libc/src/math/nvptx/fma.cpp
M libc/src/math/nvptx/fmaf.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/src/math/nvptx/fmod.cpp
M libc/src/math/nvptx/fmodf.cpp
M libc/src/math/nvptx/frexp.cpp
M libc/src/math/nvptx/frexpf.cpp
M libc/src/math/nvptx/hypot.cpp
M libc/src/math/nvptx/hypotf.cpp
M libc/src/math/nvptx/ilogb.cpp
M libc/src/math/nvptx/ilogbf.cpp
M libc/src/math/nvptx/ldexp.cpp
M libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/log.cpp
M libc/src/math/nvptx/log10.cpp
M libc/src/math/nvptx/log10f.cpp
M libc/src/math/nvptx/log1p.cpp
M libc/src/math/nvptx/log1pf.cpp
M libc/src/math/nvptx/log2.cpp
M libc/src/math/nvptx/log2f.cpp
M libc/src/math/nvptx/logb.cpp
M libc/src/math/nvptx/logbf.cpp
M libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
M libc/src/math/nvptx/lrintf.cpp
M libc/src/math/nvptx/nearbyint.cpp
M libc/src/math/nvptx/nearbyintf.cpp
M libc/src/math/nvptx/nextafter.cpp
M libc/src/math/nvptx/nextafterf.cpp
M libc/src/math/nvptx/nvptx.h
M libc/src/math/nvptx/pow.cpp
M libc/src/math/nvptx/powf.cpp
M libc/src/math/nvptx/powi.cpp
M libc/src/math/nvptx/powif.cpp
M libc/src/math/nvptx/remainder.cpp
M libc/src/math/nvptx/remainderf.cpp
M libc/src/math/nvptx/remquo.cpp
M libc/src/math/nvptx/remquof.cpp
M libc/src/math/nvptx/rint.cpp
M libc/src/math/nvptx/rintf.cpp
M libc/src/math/nvptx/round.cpp
M libc/src/math/nvptx/roundf.cpp
M libc/src/math/nvptx/scalbn.cpp
M libc/src/math/nvptx/scalbnf.cpp
M libc/src/math/nvptx/sin.cpp
M libc/src/math/nvptx/sincos.cpp
M libc/src/math/nvptx/sincosf.cpp
M libc/src/math/nvptx/sinf.cpp
M libc/src/math/nvptx/sinh.cpp
M libc/src/math/nvptx/sinhf.cpp
M libc/src/math/nvptx/sqrt.cpp
M libc/src/math/nvptx/sqrtf.cpp
M libc/src/math/nvptx/tan.cpp
M libc/src/math/nvptx/tanf.cpp
M libc/src/math/nvptx/tanh.cpp
M libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/math/nvptx/trunc.cpp
M libc/src/math/nvptx/truncf.cpp
M libc/src/math/pow.h
M libc/src/math/powf.h
M libc/src/math/powi.h
M libc/src/math/powif.h
M libc/src/math/remainder.h
M libc/src/math/remainderf.h
M libc/src/math/remainderf16.h
M libc/src/math/remainderl.h
M libc/src/math/remquo.h
M libc/src/math/remquof.h
M libc/src/math/remquof128.h
M libc/src/math/remquof16.h
M libc/src/math/remquol.h
M libc/src/math/rint.h
M libc/src/math/rintf.h
M libc/src/math/rintf128.h
M libc/src/math/rintf16.h
M libc/src/math/rintl.h
M libc/src/math/round.h
M libc/src/math/roundeven.h
M libc/src/math/roundevenf.h
M libc/src/math/roundevenf128.h
M libc/src/math/roundevenf16.h
M libc/src/math/roundevenl.h
M libc/src/math/roundf.h
M libc/src/math/roundf128.h
M libc/src/math/roundf16.h
M libc/src/math/roundl.h
M libc/src/math/scalblnf16.h
M libc/src/math/scalbn.h
M libc/src/math/scalbnf.h
M libc/src/math/scalbnf128.h
M libc/src/math/scalbnf16.h
M libc/src/math/scalbnl.h
M libc/src/math/setpayloadf16.h
M libc/src/math/setpayloadsigf16.h
M libc/src/math/sin.h
M libc/src/math/sincos.h
M libc/src/math/sincosf.h
M libc/src/math/sinf.h
M libc/src/math/sinh.h
M libc/src/math/sinhf.h
M libc/src/math/sinpif.h
M libc/src/math/sqrt.h
M libc/src/math/sqrtf.h
M libc/src/math/sqrtf128.h
M libc/src/math/sqrtl.h
M libc/src/math/tan.h
M libc/src/math/tanf.h
M libc/src/math/tanh.h
M libc/src/math/tanhf.h
M libc/src/math/tgamma.h
M libc/src/math/tgammaf.h
M libc/src/math/totalorderf16.h
M libc/src/math/totalordermagf16.h
M libc/src/math/trunc.h
M libc/src/math/truncf.h
M libc/src/math/truncf128.h
M libc/src/math/truncf16.h
M libc/src/math/truncl.h
M libc/src/math/ufromfp.h
M libc/src/math/ufromfpf.h
M libc/src/math/ufromfpf128.h
M libc/src/math/ufromfpf16.h
M libc/src/math/ufromfpl.h
M libc/src/math/ufromfpx.h
M libc/src/math/ufromfpxf.h
M libc/src/math/ufromfpxf128.h
M libc/src/math/ufromfpxf16.h
M libc/src/math/ufromfpxl.h
M libc/src/network/htonl.cpp
M libc/src/network/htonl.h
M libc/src/network/htons.cpp
M libc/src/network/htons.h
M libc/src/network/ntohl.cpp
M libc/src/network/ntohl.h
M libc/src/network/ntohs.cpp
M libc/src/network/ntohs.h
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_atfork.h
M libc/src/pthread/pthread_attr_destroy.cpp
M libc/src/pthread/pthread_attr_destroy.h
M libc/src/pthread/pthread_attr_getdetachstate.cpp
M libc/src/pthread/pthread_attr_getdetachstate.h
M libc/src/pthread/pthread_attr_getguardsize.cpp
M libc/src/pthread/pthread_attr_getguardsize.h
M libc/src/pthread/pthread_attr_getstack.cpp
M libc/src/pthread/pthread_attr_getstack.h
M libc/src/pthread/pthread_attr_getstacksize.cpp
M libc/src/pthread/pthread_attr_getstacksize.h
M libc/src/pthread/pthread_attr_init.cpp
M libc/src/pthread/pthread_attr_init.h
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setdetachstate.h
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setguardsize.h
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstack.h
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_attr_setstacksize.h
M libc/src/pthread/pthread_condattr_destroy.cpp
M libc/src/pthread/pthread_condattr_destroy.h
M libc/src/pthread/pthread_condattr_getclock.cpp
M libc/src/pthread/pthread_condattr_getclock.h
M libc/src/pthread/pthread_condattr_getpshared.cpp
M libc/src/pthread/pthread_condattr_getpshared.h
M libc/src/pthread/pthread_condattr_init.cpp
M libc/src/pthread/pthread_condattr_init.h
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setclock.h
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_condattr_setpshared.h
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_create.h
M libc/src/pthread/pthread_detach.cpp
M libc/src/pthread/pthread_detach.h
M libc/src/pthread/pthread_equal.cpp
M libc/src/pthread/pthread_equal.h
M libc/src/pthread/pthread_exit.cpp
M libc/src/pthread/pthread_exit.h
M libc/src/pthread/pthread_getname_np.cpp
M libc/src/pthread/pthread_getname_np.h
M libc/src/pthread/pthread_getspecific.cpp
M libc/src/pthread/pthread_getspecific.h
M libc/src/pthread/pthread_join.cpp
M libc/src/pthread/pthread_join.h
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_create.h
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_key_delete.h
M libc/src/pthread/pthread_mutex_destroy.cpp
M libc/src/pthread/pthread_mutex_destroy.h
M libc/src/pthread/pthread_mutex_init.cpp
M libc/src/pthread/pthread_mutex_init.h
M libc/src/pthread/pthread_mutex_lock.cpp
M libc/src/pthread/pthread_mutex_lock.h
M libc/src/pthread/pthread_mutex_unlock.cpp
M libc/src/pthread/pthread_mutex_unlock.h
M libc/src/pthread/pthread_mutexattr.h
M libc/src/pthread/pthread_mutexattr_destroy.cpp
M libc/src/pthread/pthread_mutexattr_destroy.h
M libc/src/pthread/pthread_mutexattr_getpshared.cpp
M libc/src/pthread/pthread_mutexattr_getpshared.h
M libc/src/pthread/pthread_mutexattr_getrobust.cpp
M libc/src/pthread/pthread_mutexattr_getrobust.h
M libc/src/pthread/pthread_mutexattr_gettype.cpp
M libc/src/pthread/pthread_mutexattr_gettype.h
M libc/src/pthread/pthread_mutexattr_init.cpp
M libc/src/pthread/pthread_mutexattr_init.h
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.h
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.h
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_mutexattr_settype.h
M libc/src/pthread/pthread_once.cpp
M libc/src/pthread/pthread_once.h
M libc/src/pthread/pthread_rwlock_destroy.cpp
M libc/src/pthread/pthread_rwlock_destroy.h
M libc/src/pthread/pthread_rwlock_init.cpp
M libc/src/pthread/pthread_rwlock_init.h
M libc/src/pthread/pthread_rwlock_rdlock.cpp
M libc/src/pthread/pthread_rwlock_rdlock.h
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.h
M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
M libc/src/pthread/pthread_rwlock_timedwrlock.h
M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
M libc/src/pthread/pthread_rwlock_tryrdlock.h
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.h
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.h
M libc/src/pthread/pthread_rwlock_wrlock.cpp
M libc/src/pthread/pthread_rwlock_wrlock.h
M libc/src/pthread/pthread_rwlockattr_destroy.cpp
M libc/src/pthread/pthread_rwlockattr_destroy.h
M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
M libc/src/pthread/pthread_rwlockattr_getpshared.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
M libc/src/pthread/pthread_rwlockattr_init.h
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.h
M libc/src/pthread/pthread_self.cpp
M libc/src/pthread/pthread_self.h
M libc/src/pthread/pthread_setname_np.cpp
M libc/src/pthread/pthread_setname_np.h
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/pthread/pthread_setspecific.h
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getcpucount.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/sched/sched_get_priority_max.h
M libc/src/sched/sched_get_priority_min.h
M libc/src/sched/sched_getaffinity.h
M libc/src/sched/sched_getcpucount.h
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_getscheduler.h
M libc/src/sched/sched_rr_get_interval.h
M libc/src/sched/sched_setaffinity.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/src/sched/sched_yield.h
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate.h
M libc/src/search/hcreate_r.cpp
M libc/src/search/hcreate_r.h
M libc/src/search/hdestroy.cpp
M libc/src/search/hdestroy.h
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hdestroy_r.h
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch.h
M libc/src/search/hsearch/global.cpp
M libc/src/search/hsearch/global.h
M libc/src/search/hsearch_r.cpp
M libc/src/search/hsearch_r.h
M libc/src/search/insque.cpp
M libc/src/search/insque.h
M libc/src/search/remque.cpp
M libc/src/search/remque.h
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/src/signal/kill.h
M libc/src/signal/linux/__restore.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/raise.h
M libc/src/signal/sigaction.h
M libc/src/signal/sigaddset.h
M libc/src/signal/sigaltstack.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/signal.h
M libc/src/signal/sigprocmask.h
M libc/src/spawn/file_actions.h
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/spawn/posix_spawn.h
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.h
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.h
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.h
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.h
M libc/src/spawn/posix_spawn_file_actions_init.cpp
M libc/src/spawn/posix_spawn_file_actions_init.h
M libc/src/stdbit/stdc_bit_ceil_uc.cpp
M libc/src/stdbit/stdc_bit_ceil_uc.h
M libc/src/stdbit/stdc_bit_ceil_ui.cpp
M libc/src/stdbit/stdc_bit_ceil_ui.h
M libc/src/stdbit/stdc_bit_ceil_ul.cpp
M libc/src/stdbit/stdc_bit_ceil_ul.h
M libc/src/stdbit/stdc_bit_ceil_ull.cpp
M libc/src/stdbit/stdc_bit_ceil_ull.h
M libc/src/stdbit/stdc_bit_ceil_us.cpp
M libc/src/stdbit/stdc_bit_ceil_us.h
M libc/src/stdbit/stdc_bit_floor_uc.cpp
M libc/src/stdbit/stdc_bit_floor_uc.h
M libc/src/stdbit/stdc_bit_floor_ui.cpp
M libc/src/stdbit/stdc_bit_floor_ui.h
M libc/src/stdbit/stdc_bit_floor_ul.cpp
M libc/src/stdbit/stdc_bit_floor_ul.h
M libc/src/stdbit/stdc_bit_floor_ull.cpp
M libc/src/stdbit/stdc_bit_floor_ull.h
M libc/src/stdbit/stdc_bit_floor_us.cpp
M libc/src/stdbit/stdc_bit_floor_us.h
M libc/src/stdbit/stdc_bit_width_uc.cpp
M libc/src/stdbit/stdc_bit_width_uc.h
M libc/src/stdbit/stdc_bit_width_ui.cpp
M libc/src/stdbit/stdc_bit_width_ui.h
M libc/src/stdbit/stdc_bit_width_ul.cpp
M libc/src/stdbit/stdc_bit_width_ul.h
M libc/src/stdbit/stdc_bit_width_ull.cpp
M libc/src/stdbit/stdc_bit_width_ull.h
M libc/src/stdbit/stdc_bit_width_us.cpp
M libc/src/stdbit/stdc_bit_width_us.h
M libc/src/stdbit/stdc_count_ones_uc.cpp
M libc/src/stdbit/stdc_count_ones_uc.h
M libc/src/stdbit/stdc_count_ones_ui.cpp
M libc/src/stdbit/stdc_count_ones_ui.h
M libc/src/stdbit/stdc_count_ones_ul.cpp
M libc/src/stdbit/stdc_count_ones_ul.h
M libc/src/stdbit/stdc_count_ones_ull.cpp
M libc/src/stdbit/stdc_count_ones_ull.h
M libc/src/stdbit/stdc_count_ones_us.cpp
M libc/src/stdbit/stdc_count_ones_us.h
M libc/src/stdbit/stdc_count_zeros_uc.cpp
M libc/src/stdbit/stdc_count_zeros_uc.h
M libc/src/stdbit/stdc_count_zeros_ui.cpp
M libc/src/stdbit/stdc_count_zeros_ui.h
M libc/src/stdbit/stdc_count_zeros_ul.cpp
M libc/src/stdbit/stdc_count_zeros_ul.h
M libc/src/stdbit/stdc_count_zeros_ull.cpp
M libc/src/stdbit/stdc_count_zeros_ull.h
M libc/src/stdbit/stdc_count_zeros_us.cpp
M libc/src/stdbit/stdc_count_zeros_us.h
M libc/src/stdbit/stdc_first_leading_one_uc.cpp
M libc/src/stdbit/stdc_first_leading_one_uc.h
M libc/src/stdbit/stdc_first_leading_one_ui.cpp
M libc/src/stdbit/stdc_first_leading_one_ui.h
M libc/src/stdbit/stdc_first_leading_one_ul.cpp
M libc/src/stdbit/stdc_first_leading_one_ul.h
M libc/src/stdbit/stdc_first_leading_one_ull.cpp
M libc/src/stdbit/stdc_first_leading_one_ull.h
M libc/src/stdbit/stdc_first_leading_one_us.cpp
M libc/src/stdbit/stdc_first_leading_one_us.h
M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
M libc/src/stdbit/stdc_first_leading_zero_uc.h
M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
M libc/src/stdbit/stdc_first_leading_zero_ui.h
M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
M libc/src/stdbit/stdc_first_leading_zero_ul.h
M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
M libc/src/stdbit/stdc_first_leading_zero_ull.h
M libc/src/stdbit/stdc_first_leading_zero_us.cpp
M libc/src/stdbit/stdc_first_leading_zero_us.h
M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
M libc/src/stdbit/stdc_first_trailing_one_uc.h
M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
M libc/src/stdbit/stdc_first_trailing_one_ui.h
M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
M libc/src/stdbit/stdc_first_trailing_one_ul.h
M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
M libc/src/stdbit/stdc_first_trailing_one_ull.h
M libc/src/stdbit/stdc_first_trailing_one_us.cpp
M libc/src/stdbit/stdc_first_trailing_one_us.h
M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
M libc/src/stdbit/stdc_first_trailing_zero_uc.h
M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ui.h
M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ul.h
M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ull.h
M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
M libc/src/stdbit/stdc_first_trailing_zero_us.h
M libc/src/stdbit/stdc_has_single_bit_uc.cpp
M libc/src/stdbit/stdc_has_single_bit_uc.h
M libc/src/stdbit/stdc_has_single_bit_ui.cpp
M libc/src/stdbit/stdc_has_single_bit_ui.h
M libc/src/stdbit/stdc_has_single_bit_ul.cpp
M libc/src/stdbit/stdc_has_single_bit_ul.h
M libc/src/stdbit/stdc_has_single_bit_ull.cpp
M libc/src/stdbit/stdc_has_single_bit_ull.h
M libc/src/stdbit/stdc_has_single_bit_us.cpp
M libc/src/stdbit/stdc_has_single_bit_us.h
M libc/src/stdbit/stdc_leading_ones_uc.cpp
M libc/src/stdbit/stdc_leading_ones_uc.h
M libc/src/stdbit/stdc_leading_ones_ui.cpp
M libc/src/stdbit/stdc_leading_ones_ui.h
M libc/src/stdbit/stdc_leading_ones_ul.cpp
M libc/src/stdbit/stdc_leading_ones_ul.h
M libc/src/stdbit/stdc_leading_ones_ull.cpp
M libc/src/stdbit/stdc_leading_ones_ull.h
M libc/src/stdbit/stdc_leading_ones_us.cpp
M libc/src/stdbit/stdc_leading_ones_us.h
M libc/src/stdbit/stdc_leading_zeros_uc.cpp
M libc/src/stdbit/stdc_leading_zeros_uc.h
M libc/src/stdbit/stdc_leading_zeros_ui.cpp
M libc/src/stdbit/stdc_leading_zeros_ui.h
M libc/src/stdbit/stdc_leading_zeros_ul.cpp
M libc/src/stdbit/stdc_leading_zeros_ul.h
M libc/src/stdbit/stdc_leading_zeros_ull.cpp
M libc/src/stdbit/stdc_leading_zeros_ull.h
M libc/src/stdbit/stdc_leading_zeros_us.cpp
M libc/src/stdbit/stdc_leading_zeros_us.h
M libc/src/stdbit/stdc_trailing_ones_uc.cpp
M libc/src/stdbit/stdc_trailing_ones_uc.h
M libc/src/stdbit/stdc_trailing_ones_ui.cpp
M libc/src/stdbit/stdc_trailing_ones_ui.h
M libc/src/stdbit/stdc_trailing_ones_ul.cpp
M libc/src/stdbit/stdc_trailing_ones_ul.h
M libc/src/stdbit/stdc_trailing_ones_ull.cpp
M libc/src/stdbit/stdc_trailing_ones_ull.h
M libc/src/stdbit/stdc_trailing_ones_us.cpp
M libc/src/stdbit/stdc_trailing_ones_us.h
M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
M libc/src/stdbit/stdc_trailing_zeros_uc.h
M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
M libc/src/stdbit/stdc_trailing_zeros_ui.h
M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
M libc/src/stdbit/stdc_trailing_zeros_ul.h
M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
M libc/src/stdbit/stdc_trailing_zeros_ull.h
M libc/src/stdbit/stdc_trailing_zeros_us.cpp
M libc/src/stdbit/stdc_trailing_zeros_us.h
M libc/src/stdfix/abshk.cpp
M libc/src/stdfix/abshk.h
M libc/src/stdfix/abshr.cpp
M libc/src/stdfix/abshr.h
M libc/src/stdfix/absk.cpp
M libc/src/stdfix/absk.h
M libc/src/stdfix/abslk.cpp
M libc/src/stdfix/abslk.h
M libc/src/stdfix/abslr.cpp
M libc/src/stdfix/abslr.h
M libc/src/stdfix/absr.cpp
M libc/src/stdfix/absr.h
M libc/src/stdfix/exphk.cpp
M libc/src/stdfix/exphk.h
M libc/src/stdfix/expk.cpp
M libc/src/stdfix/expk.h
M libc/src/stdfix/roundhk.cpp
M libc/src/stdfix/roundhk.h
M libc/src/stdfix/roundhr.cpp
M libc/src/stdfix/roundhr.h
M libc/src/stdfix/roundk.cpp
M libc/src/stdfix/roundk.h
M libc/src/stdfix/roundlk.cpp
M libc/src/stdfix/roundlk.h
M libc/src/stdfix/roundlr.cpp
M libc/src/stdfix/roundlr.h
M libc/src/stdfix/roundr.cpp
M libc/src/stdfix/roundr.h
M libc/src/stdfix/rounduhk.cpp
M libc/src/stdfix/rounduhk.h
M libc/src/stdfix/rounduhr.cpp
M libc/src/stdfix/rounduhr.h
M libc/src/stdfix/rounduk.cpp
M libc/src/stdfix/rounduk.h
M libc/src/stdfix/roundulk.cpp
M libc/src/stdfix/roundulk.h
M libc/src/stdfix/roundulr.cpp
M libc/src/stdfix/roundulr.h
M libc/src/stdfix/roundur.cpp
M libc/src/stdfix/roundur.h
M libc/src/stdfix/sqrtuhk.cpp
M libc/src/stdfix/sqrtuhk.h
M libc/src/stdfix/sqrtuhr.cpp
M libc/src/stdfix/sqrtuhr.h
M libc/src/stdfix/sqrtuk.cpp
M libc/src/stdfix/sqrtuk.h
M libc/src/stdfix/sqrtulr.cpp
M libc/src/stdfix/sqrtulr.h
M libc/src/stdfix/sqrtur.cpp
M libc/src/stdfix/sqrtur.h
M libc/src/stdfix/uhksqrtus.cpp
M libc/src/stdfix/uhksqrtus.h
M libc/src/stdfix/uksqrtui.cpp
M libc/src/stdfix/uksqrtui.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/remove.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/clearerr.h
M libc/src/stdio/clearerr_unlocked.h
M libc/src/stdio/fclose.h
M libc/src/stdio/fdopen.h
M libc/src/stdio/feof.h
M libc/src/stdio/feof_unlocked.h
M libc/src/stdio/ferror.h
M libc/src/stdio/ferror_unlocked.h
M libc/src/stdio/fflush.h
M libc/src/stdio/fgetc.h
M libc/src/stdio/fgetc_unlocked.h
M libc/src/stdio/fgets.h
M libc/src/stdio/fileno.h
M libc/src/stdio/flockfile.cpp
M libc/src/stdio/flockfile.h
M libc/src/stdio/fopen.h
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/fopencookie.h
M libc/src/stdio/fprintf.cpp
M libc/src/stdio/fprintf.h
M libc/src/stdio/fputc.h
M libc/src/stdio/fputs.h
M libc/src/stdio/fread.h
M libc/src/stdio/fread_unlocked.h
M libc/src/stdio/fscanf.cpp
M libc/src/stdio/fscanf.h
M libc/src/stdio/fseek.h
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftell.h
M libc/src/stdio/ftello.h
M libc/src/stdio/funlockfile.cpp
M libc/src/stdio/funlockfile.h
M libc/src/stdio/fwrite.h
M libc/src/stdio/fwrite_unlocked.h
M libc/src/stdio/generic/clearerr.cpp
M libc/src/stdio/generic/clearerr_unlocked.cpp
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/feof.cpp
M libc/src/stdio/generic/feof_unlocked.cpp
M libc/src/stdio/generic/ferror.cpp
M libc/src/stdio/generic/ferror_unlocked.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fileno.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
M libc/src/stdio/generic/printf.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/generic/ungetc.cpp
M libc/src/stdio/generic/vprintf.cpp
M libc/src/stdio/getc.h
M libc/src/stdio/getc_unlocked.h
M libc/src/stdio/getchar.h
M libc/src/stdio/getchar_unlocked.h
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/printf.h
M libc/src/stdio/printf_core/char_converter.h
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_main.cpp
M libc/src/stdio/printf_core/printf_main.h
M libc/src/stdio/printf_core/ptr_converter.h
M libc/src/stdio/printf_core/string_converter.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdio/printf_core/writer.cpp
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/putc.h
M libc/src/stdio/putchar.h
M libc/src/stdio/puts.h
M libc/src/stdio/remove.h
M libc/src/stdio/rename.h
M libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf.h
M libc/src/stdio/scanf_core/converter.cpp
M libc/src/stdio/scanf_core/converter.h
M libc/src/stdio/scanf_core/converter_utils.h
M libc/src/stdio/scanf_core/core_structs.h
M libc/src/stdio/scanf_core/current_pos_converter.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/float_converter.h
M libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/int_converter.h
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.h
M libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/scanf_main.cpp
M libc/src/stdio/scanf_core/scanf_main.h
M libc/src/stdio/scanf_core/string_converter.cpp
M libc/src/stdio/scanf_core/string_converter.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setbuf.h
M libc/src/stdio/setvbuf.cpp
M libc/src/stdio/setvbuf.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/snprintf.h
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/sprintf.h
M libc/src/stdio/sscanf.cpp
M libc/src/stdio/sscanf.h
M libc/src/stdio/ungetc.h
M libc/src/stdio/vfprintf.cpp
M libc/src/stdio/vfprintf.h
M libc/src/stdio/vprintf.h
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsnprintf.h
M libc/src/stdio/vsprintf.cpp
M libc/src/stdio/vsprintf.h
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/_Exit.h
M libc/src/stdlib/abort.h
M libc/src/stdlib/abs.cpp
M libc/src/stdlib/abs.h
M libc/src/stdlib/aligned_alloc.h
M libc/src/stdlib/at_quick_exit.cpp
M libc/src/stdlib/at_quick_exit.h
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/atexit.h
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atof.h
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atoi.h
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atol.h
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/atoll.h
M libc/src/stdlib/baremetal/abort.cpp
M libc/src/stdlib/bsearch.cpp
M libc/src/stdlib/bsearch.h
M libc/src/stdlib/calloc.h
M libc/src/stdlib/div.cpp
M libc/src/stdlib/div.h
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/exit.h
M libc/src/stdlib/exit_handler.cpp
M libc/src/stdlib/exit_handler.h
M libc/src/stdlib/free.h
M libc/src/stdlib/freelist_malloc.cpp
M libc/src/stdlib/getenv.cpp
M libc/src/stdlib/getenv.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/free.cpp
M libc/src/stdlib/gpu/malloc.cpp
M libc/src/stdlib/labs.cpp
M libc/src/stdlib/labs.h
M libc/src/stdlib/ldiv.cpp
M libc/src/stdlib/ldiv.h
M libc/src/stdlib/linux/abort.cpp
M libc/src/stdlib/llabs.cpp
M libc/src/stdlib/llabs.h
M libc/src/stdlib/lldiv.cpp
M libc/src/stdlib/lldiv.h
M libc/src/stdlib/malloc.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_r.h
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_exit.cpp
M libc/src/stdlib/quick_exit.h
M libc/src/stdlib/rand.cpp
M libc/src/stdlib/rand.h
M libc/src/stdlib/rand_util.cpp
M libc/src/stdlib/rand_util.h
M libc/src/stdlib/realloc.h
M libc/src/stdlib/srand.cpp
M libc/src/stdlib/srand.h
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfromf.h
M libc/src/stdlib/strfroml.cpp
M libc/src/stdlib/strfroml.h
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod.h
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof.h
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol.h
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold.h
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll.h
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul.h
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull.h
M libc/src/string/allocating_string_utils.h
M libc/src/string/bcmp.cpp
M libc/src/string/bcmp.h
M libc/src/string/bcopy.cpp
M libc/src/string/bcopy.h
M libc/src/string/bzero.cpp
M libc/src/string/bzero.h
M libc/src/string/index.cpp
M libc/src/string/index.h
M libc/src/string/memccpy.cpp
M libc/src/string/memccpy.h
M libc/src/string/memchr.cpp
M libc/src/string/memchr.h
M libc/src/string/memcmp.cpp
M libc/src/string/memcmp.h
M libc/src/string/memcpy.cpp
M libc/src/string/memcpy.h
M libc/src/string/memmem.cpp
M libc/src/string/memmem.h
M libc/src/string/memmove.cpp
M libc/src/string/memmove.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/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/generic/aligned_access.h
M libc/src/string/memory_utils/generic/builtin.h
M libc/src/string/memory_utils/generic/byte_per_byte.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_bzero.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/inline_memmem.h
M libc/src/string/memory_utils/inline_memmove.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/inline_strcmp.h
M libc/src/string/memory_utils/inline_strstr.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/op_riscv.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/riscv/inline_bcmp.h
M libc/src/string/memory_utils/riscv/inline_memcmp.h
M libc/src/string/memory_utils/riscv/inline_memcpy.h
M libc/src/string/memory_utils/riscv/inline_memmove.h
M libc/src/string/memory_utils/riscv/inline_memset.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
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/src/string/memory_utils/x86_64/inline_memmove.h
M libc/src/string/memory_utils/x86_64/inline_memset.h
M libc/src/string/mempcpy.cpp
M libc/src/string/mempcpy.h
M libc/src/string/memrchr.cpp
M libc/src/string/memrchr.h
M libc/src/string/memset.cpp
M libc/src/string/memset.h
M libc/src/string/memset_explicit.cpp
M libc/src/string/memset_explicit.h
M libc/src/string/rindex.cpp
M libc/src/string/rindex.h
M libc/src/string/stpcpy.cpp
M libc/src/string/stpcpy.h
M libc/src/string/stpncpy.cpp
M libc/src/string/stpncpy.h
M libc/src/string/strcasecmp.cpp
M libc/src/string/strcasecmp.h
M libc/src/string/strcasestr.cpp
M libc/src/string/strcasestr.h
M libc/src/string/strcat.cpp
M libc/src/string/strcat.h
M libc/src/string/strchr.cpp
M libc/src/string/strchr.h
M libc/src/string/strchrnul.cpp
M libc/src/string/strchrnul.h
M libc/src/string/strcmp.cpp
M libc/src/string/strcmp.h
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll.h
M libc/src/string/strcpy.cpp
M libc/src/string/strcpy.h
M libc/src/string/strcspn.cpp
M libc/src/string/strcspn.h
M libc/src/string/strdup.cpp
M libc/src/string/strdup.h
M libc/src/string/strerror.cpp
M libc/src/string/strerror.h
M libc/src/string/strerror_r.cpp
M libc/src/string/strerror_r.h
M libc/src/string/string_utils.h
M libc/src/string/strlcat.cpp
M libc/src/string/strlcat.h
M libc/src/string/strlcpy.cpp
M libc/src/string/strlcpy.h
M libc/src/string/strlen.cpp
M libc/src/string/strlen.h
M libc/src/string/strncasecmp.cpp
M libc/src/string/strncasecmp.h
M libc/src/string/strncat.cpp
M libc/src/string/strncat.h
M libc/src/string/strncmp.cpp
M libc/src/string/strncmp.h
M libc/src/string/strncpy.cpp
M libc/src/string/strncpy.h
M libc/src/string/strndup.cpp
M libc/src/string/strndup.h
M libc/src/string/strnlen.cpp
M libc/src/string/strnlen.h
M libc/src/string/strpbrk.cpp
M libc/src/string/strpbrk.h
M libc/src/string/strrchr.cpp
M libc/src/string/strrchr.h
M libc/src/string/strsep.cpp
M libc/src/string/strsep.h
M libc/src/string/strsignal.cpp
M libc/src/string/strsignal.h
M libc/src/string/strspn.cpp
M libc/src/string/strspn.h
M libc/src/string/strstr.cpp
M libc/src/string/strstr.h
M libc/src/string/strtok.cpp
M libc/src/string/strtok.h
M libc/src/string/strtok_r.cpp
M libc/src/string/strtok_r.h
M libc/src/string/strxfrm.cpp
M libc/src/string/strxfrm.h
M libc/src/sys/auxv/getauxval.h
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/epoll_create.h
M libc/src/sys/epoll/epoll_create1.h
M libc/src/sys/epoll/epoll_ctl.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_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
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/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/posix_madvise.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/sys/mman/madvise.h
M libc/src/sys/mman/mincore.h
M libc/src/sys/mman/mlock.h
M libc/src/sys/mman/mlock2.h
M libc/src/sys/mman/mlockall.h
M libc/src/sys/mman/mmap.h
M libc/src/sys/mman/mprotect.h
M libc/src/sys/mman/msync.h
M libc/src/sys/mman/munlock.h
M libc/src/sys/mman/munlockall.h
M libc/src/sys/mman/munmap.h
M libc/src/sys/mman/posix_madvise.h
M libc/src/sys/mman/shm_open.h
M libc/src/sys/mman/shm_unlink.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/prctl/prctl.h
M libc/src/sys/random/getrandom.h
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/getrlimit.h
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/resource/setrlimit.h
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/select/select.h
M libc/src/sys/sendfile/linux/sendfile.cpp
M libc/src/sys/sendfile/sendfile.h
M libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/socket.h
M libc/src/sys/stat/chmod.h
M libc/src/sys/stat/fchmod.h
M libc/src/sys/stat/fchmodat.h
M libc/src/sys/stat/fstat.h
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/kernel_statx.h
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/stat/lstat.h
M libc/src/sys/stat/mkdir.h
M libc/src/sys/stat/mkdirat.h
M libc/src/sys/stat/stat.h
M libc/src/sys/statvfs/fstatvfs.h
M libc/src/sys/statvfs/linux/fstatvfs.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/statvfs/linux/statvfs.cpp
M libc/src/sys/statvfs/statvfs.h
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/utsname/uname.h
M libc/src/sys/wait/linux/wait.cpp
M libc/src/sys/wait/linux/wait4.cpp
M libc/src/sys/wait/linux/waitpid.cpp
M libc/src/sys/wait/wait.h
M libc/src/sys/wait/wait4.h
M libc/src/sys/wait/wait4Impl.h
M libc/src/sys/wait/waitpid.h
M libc/src/termios/cfgetispeed.h
M libc/src/termios/cfgetospeed.h
M libc/src/termios/cfsetispeed.h
M libc/src/termios/cfsetospeed.h
M libc/src/termios/linux/cfgetispeed.cpp
M libc/src/termios/linux/cfgetospeed.cpp
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/kernel_termios.h
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/termios/tcdrain.h
M libc/src/termios/tcflow.h
M libc/src/termios/tcflush.h
M libc/src/termios/tcgetattr.h
M libc/src/termios/tcgetsid.h
M libc/src/termios/tcsendbreak.h
M libc/src/termios/tcsetattr.h
M libc/src/threads/call_once.cpp
M libc/src/threads/call_once.h
M libc/src/threads/cnd_broadcast.h
M libc/src/threads/cnd_destroy.h
M libc/src/threads/cnd_init.h
M libc/src/threads/cnd_signal.h
M libc/src/threads/cnd_wait.h
M libc/src/threads/linux/Futex.h
M libc/src/threads/linux/cnd_broadcast.cpp
M libc/src/threads/linux/cnd_destroy.cpp
M libc/src/threads/linux/cnd_init.cpp
M libc/src/threads/linux/cnd_signal.cpp
M libc/src/threads/linux/cnd_wait.cpp
M libc/src/threads/mtx_destroy.cpp
M libc/src/threads/mtx_destroy.h
M libc/src/threads/mtx_init.cpp
M libc/src/threads/mtx_init.h
M libc/src/threads/mtx_lock.cpp
M libc/src/threads/mtx_lock.h
M libc/src/threads/mtx_unlock.cpp
M libc/src/threads/mtx_unlock.h
M libc/src/threads/thrd_create.cpp
M libc/src/threads/thrd_create.h
M libc/src/threads/thrd_current.cpp
M libc/src/threads/thrd_current.h
M libc/src/threads/thrd_detach.cpp
M libc/src/threads/thrd_detach.h
M libc/src/threads/thrd_equal.cpp
M libc/src/threads/thrd_equal.h
M libc/src/threads/thrd_exit.cpp
M libc/src/threads/thrd_exit.h
M libc/src/threads/thrd_join.cpp
M libc/src/threads/thrd_join.h
M libc/src/threads/tss_create.cpp
M libc/src/threads/tss_create.h
M libc/src/threads/tss_delete.cpp
M libc/src/threads/tss_delete.h
M libc/src/threads/tss_get.cpp
M libc/src/threads/tss_get.h
M libc/src/threads/tss_set.cpp
M libc/src/threads/tss_set.h
M libc/src/time/asctime.cpp
M libc/src/time/asctime.h
M libc/src/time/asctime_r.cpp
M libc/src/time/asctime_r.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/difftime.cpp
M libc/src/time/difftime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gmtime.cpp
M libc/src/time/gmtime.h
M libc/src/time/gmtime_r.cpp
M libc/src/time/gmtime_r.h
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/mktime.cpp
M libc/src/time/mktime.h
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
M libc/src/time/time_utils.cpp
M libc/src/time/time_utils.h
M libc/src/unistd/_exit.cpp
M libc/src/unistd/_exit.h
M libc/src/unistd/access.h
M libc/src/unistd/chdir.h
M libc/src/unistd/close.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/environ.cpp
M libc/src/unistd/environ.h
M libc/src/unistd/execv.h
M libc/src/unistd/execve.h
M libc/src/unistd/fchdir.h
M libc/src/unistd/fork.h
M libc/src/unistd/fpathconf.h
M libc/src/unistd/fsync.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linkat.h
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fpathconf.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/geteuid.cpp
M libc/src/unistd/linux/getpid.cpp
M libc/src/unistd/linux/getppid.cpp
M libc/src/unistd/linux/getuid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pathconf_utils.h
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pathconf.h
M libc/src/unistd/pipe.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/rmdir.h
M libc/src/unistd/swab.cpp
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/unlink.h
M libc/src/unistd/unlinkat.h
M libc/src/unistd/write.h
M libc/src/wchar/btowc.cpp
M libc/src/wchar/btowc.h
M libc/src/wchar/wctob.cpp
M libc/src/wchar/wctob.h
M libc/startup/baremetal/fini.cpp
M libc/startup/baremetal/init.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/do_start.cpp
M libc/startup/linux/do_start.h
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/tls.cpp
M libc/test/IntegrationTest/test.cpp
M libc/test/UnitTest/BazelFilePath.cpp
M libc/test/UnitTest/CmakeFilePath.cpp
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPExceptMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/GTest.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/UnitTest/PrintfMatcher.h
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/RoundingModeUtils.h
M libc/test/UnitTest/ScanfMatcher.cpp
M libc/test/UnitTest/ScanfMatcher.h
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/UnitTest/TestLogger.h
M libc/test/UnitTest/ZxTest.h
M libc/test/include/sys/queue_test.cpp
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
M libc/test/src/__support/CPP/algorithm_test.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/cstddef_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/__support/HashTable/bitmask_test.cpp
M libc/test/src/__support/HashTable/group_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/endian_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_long_double_test.cpp
M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
M libc/test/src/math/performance_testing/Timer.cpp
M libc/test/src/math/performance_testing/Timer.h
M libc/test/src/math/sdcomp26094.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/string/bcmp_test.cpp
M libc/test/src/string/bcopy_test.cpp
M libc/test/src/string/bzero_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmem_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_explicit_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/time/TmHelper.h
M libc/test/src/time/TmMatcher.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration" (#98593)
Reverts llvm/llvm-project#98075
bots are broken
Commit: 7a7d370742dff82caa6a713bc2b1e2c0c51a9f30
https://github.com/llvm/llvm-project/commit/7a7d370742dff82caa6a713bc2b1e2c0c51a9f30
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
Log Message:
-----------
[NFC] Add DIExpression::calculateFragmentIntersect (#97738)
Patch [3/x] to fix structured bindings debug info in SROA.
This function computes a fragment, bit-extract operation if needed, and new
constant offset to describe a part of a variable covered by some memory.
This generalises, simplifies, and replaces at::calculateFragmentIntersect. That
version is still used as a wrapper for now though to keep this change NFC.
The new version takes doesn't have a DbgRecord parameter, instead using an
explicit address and address offset. The old version only operates on
dbg_assigns and this change means it can also operate on dbg_declare records
easily, which it will do in a subsequent patch.
The new version has a new out-param OffsetFromLocationInBits which is set to
the difference between the first bit of the variable location and the first
bit of the memory slice. This will be used in a subsequent patch in SROA to
determine the new offset to use in the address expression after splitting an
alloca.
Commit: 099899961c1e89a1789f534579d35a74a2ef1dda
https://github.com/llvm/llvm-project/commit/099899961c1e89a1789f534579d35a74a2ef1dda
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
M llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/SpillPlacement.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp
A llvm/test/CodeGen/X86/machine-block-freq.mir
Log Message:
-----------
[CodeGen][NewPM] Port `machine-block-freq` to new pass manager (#98317)
- Add `MachineBlockFrequencyAnalysis`.
- Add `MachineBlockFrequencyPrinterPass`.
- Use `MachineBlockFrequencyInfoWrapperPass` in legacy pass manager.
- `LazyMachineBlockFrequencyInfo::print` is empty, drop it due to new
pass manager migration.
Commit: 345861b186645f82c0b812427fdafe6ebd62a058
https://github.com/llvm/llvm-project/commit/345861b186645f82c0b812427fdafe6ebd62a058
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Optimize loops in MC (#98114)
https://llvm.org/docs/CodingStandards.html tells us that we should avoid
evaluating `.end()` each time if possible.
Commit: c5ee3c05ca61f3fae11337c5853aee7b450a9dc6
https://github.com/llvm/llvm-project/commit/c5ee3c05ca61f3fae11337c5853aee7b450a9dc6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/machine-block-freq.mir
Log Message:
-----------
[test] Add triple in test introduced in #98317 (#98600)
Missing `-mtriple` in test, causes failure on some none x86 default
targets.
Commit: fe9767105af65f0a7345afb6bb2f14e5d4404a15
https://github.com/llvm/llvm-project/commit/fe9767105af65f0a7345afb6bb2f14e5d4404a15
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lldb/unittests/Expression/ClangParserTest.cpp
Log Message:
-----------
[lldb][test] Fix ComputeClangResourceDirectory test when CLANG_RESOURCE_DIR is set (#98464)
This was found during testing of llvm snapshots for Fedora.
This test was looking for an exact string match of the path calculated
by starting with lib/liblldb and with bin/lldb. However when
CLANG_RESOURCE_DIR is set to something e.g. "../lib/clang/19", the way
the initial path is handled is different.
Instead of taking the parent of the parent of the binary, that is
foo/bin/lldb/ -> foo/, it uses the parent of the binary and appends
CLANG_RESOURCE_DIR to that. As CLANG_RESOURCE_DIR is defined as being a
path relative to the parent dir's of the clang binary.
This means that if you start with foo/lib/lidblldb the resulting path is
lib/../lib/clang/19, but if you start with bin/lldb the result is
bin/../lib/clang/19.
I don't want to change the starting path of
DefaultComputeClangResourceDirectory (which is bin/lldb) as I suspect
that's chosen instead of liblldb for good reason.
So the way to make this test work is to check not for exact path matches
but that the "real" (".." resolved) version of the paths are the same.
That way foo/bin/../lib and foo/lib/../lib will be the same.
Commit: 6479a5a438a9545dd8f449be96d4024d0a08beba
https://github.com/llvm/llvm-project/commit/6479a5a438a9545dd8f449be96d4024d0a08beba
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Restrict DropInnerMostUnitDimsTransfer{Read|Write} (#96218)
Restrict `DropInnerMostUnitDimsTransfer{Read|Write}` so that it fails
when one of the indices to be dropped could be != 0 and "out of bounds":
```mlir
func.func @negative_example(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %idx_1: index, %idx_2: index) {
vector.transfer_write %arg1, %arg0[%idx_1, %idx_2] {in_bounds = [true, false]} : vector<8x1xf32>, memref<16x1xf32>
return
}
```
This is an edge case that could represent an out-of-bounds access,
though that will depend on the actual value of %i. Importantly, without
this change it would be transformed as follows:
```mlir
func.func @negative_example(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index, %arg3: index) {
%subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
%0 = vector.shape_cast %arg1 : vector<8x1xf32> to vector<8xf32>
vector.transfer_write %0, %subview[%arg2] {in_bounds = [true]} : vector<8xf32>, memref<16xf32, strided<[1]>>
return
}
```
This is incorrect - `%idx_2` is ignored and the "out of bounds" flags is
not propagated. Hence the extra restriction to avoid such cases.
NOTE: This is a follow-up for: #94904
Commit: 4570a34f929693e442c7d09dc6aef7e801c2dc1d
https://github.com/llvm/llvm-project/commit/4570a34f929693e442c7d09dc6aef7e801c2dc1d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/AllocationOrder.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#98459)
Commit: 6dc2c3db6233b4537765e242b37ff526cf7ffdaf
https://github.com/llvm/llvm-project/commit/6dc2c3db6233b4537765e242b37ff526cf7ffdaf
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M utils/bazel/README.md
Log Message:
-----------
remove outdated section about bazel pre-merge testing
Commit: ca715de4bcf31085ee7a35aaf60843e994801f10
https://github.com/llvm/llvm-project/commit/ca715de4bcf31085ee7a35aaf60843e994801f10
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/test/DebugInfo/Generic/debug-info-enum.ll
M llvm/test/DebugInfo/X86/dbg-rust-valid-enum-as-scope.ll
Log Message:
-----------
[llvm][DebugInfo] Add DW_AT_type to DW_TAG_enumeration_type in non-strict DWARF v2 mode (#98335)
During testing of https://github.com/llvm/llvm-project/pull/96202 we
found that when clang set to DWARF v2 was used to build the test file,
lldb could not tell that the unsigned enum type was in fact unsigned. So
it defaulted to signed and printed the wrong value.
The reason for this is that DWARFv2 does not include DW_AT_type in
DW_TAG_enumeration_type. This was added in DWARF v3:
"The enumeration type entry may also have a DW_AT_type attribute which
refers to the underlying data type used to implement the enumeration.
In C or C++, the underlying type will be the appropriate integral type
determined by the compiler from the properties of the enumeration
literal values."
I noticed that gcc does emit this attribute for DWARF v2 but not when
strict DWARF is requested (more details in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16063#c7).
This patch changes to clang to do the same. This will improve the
experience of anyone using tools that can understand the attribute but
for whatever reason are stuck building binaries containing v2 only.
You can see a current clang/gcc comparison here:
https://godbolt.org/z/eG9Kc9WGf
https://reviews.llvm.org/D42734 added the original code that emitted
this for >= v3 only.
Commit: f34a1654d6f7d1b072a01e690f2330cfb2ca07d8
https://github.com/llvm/llvm-project/commit/f34a1654d6f7d1b072a01e690f2330cfb2ca07d8
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
Log Message:
-----------
[NFC][Clang] Move set functions out BranchProtectionInfo. (#98451)
To reduce build times move them to TargetCodeGenInfo.
Refactor of #98329
Commit: a4cdd94ed0afe76854f837ce3c49c74e712d721d
https://github.com/llvm/llvm-project/commit/a4cdd94ed0afe76854f837ce3c49c74e712d721d
Author: Jannick Kremer <51118500+DeinAlptraum at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/bindings/python/clang/cindex.py
R clang/bindings/python/clang/enumerations.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_token_kind.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Refactor enum usage (#95608)
Use Python's builtin enum class instead of writing our own.
This is preparation for passing a strict type check in PR #78114 ,
fixing 927 out of 1341 strict typing errors
---------
Co-authored-by: Jannick Kremer <jannick-kremer at gmx.de>
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 4a02b0be261e265690b81a692cfd617b01649a51
https://github.com/llvm/llvm-project/commit/4a02b0be261e265690b81a692cfd617b01649a51
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port for a4cdd94ed0afe76854f837ce3c49c74e712d721d
Commit: c0a5bf80018122735fab18d81e8b7fbbb9466ddc
https://github.com/llvm/llvm-project/commit/c0a5bf80018122735fab18d81e8b7fbbb9466ddc
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-srl.ll
Log Message:
-----------
[X86][AVX] Fix handling of out-of-bounds shift amounts in AVX2 vector logical shift nodes #83840 (#86922)
Resolve #83840
Commit: 87bf82d14d7f03ce67ddd56d9da457a23c316f0e
https://github.com/llvm/llvm-project/commit/87bf82d14d7f03ce67ddd56d9da457a23c316f0e
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
A mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
Log Message:
-----------
[mlir][OpenMP] Lower REDUCTION clause for SECTIONS construct (#97859)
This shares code with WsloopOp (the changes to Wsloop should be NFC).
OpenMPIRBuilder basically implements SECTIONS as a wsloop over a case
statement with each SECTION as a case for a particular loopiv value.
Unfortunately it proved very difficult to share code between these and
ParallelOp. ParallelOp does quite a few things differently (doing more
work inside of the bodygen callback and laying out blocks differently).
Aligning reduction implementations for wsloop and parallel will probably
involve functional changes to both, so I won't attempt that in this
commit.
Commit: de90391ea88c51da8bcde95206f3f31ecbaf97a3
https://github.com/llvm/llvm-project/commit/de90391ea88c51da8bcde95206f3f31ecbaf97a3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/sections-array-reduction.f90
A flang/test/Lower/OpenMP/sections-reduction.f90
Log Message:
-----------
[flang][OpenMP] Lower REDUCTION clause for SECTIONS (#97858)
The tricky bit here is that we need to generate the reduction symbol
mapping inside each of the nested SECTION constructs. This is a bit
similar to omp.canonical_loop inside of omp.wsloop, except the SECTION
constructs come from the PFT.
To make this work I moved the lowering of the SECTION constructs inside
of the lowering SECTIONS (where reduction information is still
available). This subverts the normal control flow for OpenMP lowering a
bit.
One alternative option I investigated would be to generate the SECTION
CONSTRUCTS as normal as though there were no reduction, and then to fix
them up after control returns back to genSectionsOp. The problem here is
that the code generated for the section body has the wrong symbol
mapping for the reduction variable, so all of the nested code has to be
patched up. In my prototype version this was even more hacky than what
the solution I settled upon.
Commit: 70f57d25743ca7230bcad3cae7e3072f0aded6f7
https://github.com/llvm/llvm-project/commit/70f57d25743ca7230bcad3cae7e3072f0aded6f7
Author: Budimir Aranđelović <123091736+budimirarandjelovicsyrmia at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Attr.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/Sema/attr-format-missing.c
A clang/test/Sema/attr-format-missing.cpp
Log Message:
-----------
[clang] Catch missing format attributes (#70024)
Enable flag -Wmissing-format-attribute to catch missing attributes.
Fixes #60718
Commit: 5b0dba13a5632d944d1eac8b39f44f65ec524e86
https://github.com/llvm/llvm-project/commit/5b0dba13a5632d944d1eac8b39f44f65ec524e86
Author: ManuelJBrito <59119670+ManuelJBrito at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/cache-safe-phiofops.ll
Log Message:
-----------
[NewGVN] Fix caching for OpIsSafeForPhiOfOps (#98340)
The caching mechanism for 'OpIsSafeForPhiOfOps' is unsound. An operand
is deemed unsafe for PhiOfOps if it depends on a phi that resides in the
same block as the Phi block, i.e., where we are performing the PhiOfOps.
This is to avoid having to materialize the translated subexpressions. To
avoid redundant code walking, a cache is used to store these results.
Note, however, that since the safety is specific to the Phi block, we
cannot, in general, use the cached results for other blocks.
This patch addresses this by having a cache per block instead of a
single one for the entire function. closes #63335
Commit: 3b362ee7e6e9d30e0a381b7fe46eec41beea622d
https://github.com/llvm/llvm-project/commit/3b362ee7e6e9d30e0a381b7fe46eec41beea622d
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Semantics/array-constr-len.f90
Log Message:
-----------
Revert "[flang] Adjust semantics of the char length of an array constructor" (#98612)
Reverts llvm/llvm-project#97337
This has caused llvm test suite failures on our bots, for example:
https://lab.llvm.org/buildbot/#/builders/17/builds/709
```
FAIL: test-suite::gfortran-regression-execute-regression__char_length_21_f90.test
FAIL: test-suite::gfortran-regression-execute-regression__char_length_20_f90.test
```
Commit: 43e357fa60383b48f1debccbb6ea63a8a8583722
https://github.com/llvm/llvm-project/commit/43e357fa60383b48f1debccbb6ea63a8a8583722
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Update sra(x,umin(amt,bw-1)) -> psrav(x,amt) fold to use SDPatternMatch. NFC.
First tentative attempt to use SDPatternMatch for x86 combine matching - main problem so far is namespace clashing when trying to expose llvm::SDPatternMatch to the entire file.
Commit: 1bad7024561bc64ed4bfda0772b16376b475eba5
https://github.com/llvm/llvm-project/commit/1bad7024561bc64ed4bfda0772b16376b475eba5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineShiftToPMULH - reuse existing SDLoc. NFC.
Commit: 0913547d0e3939cc420e88ecd037240f33736820
https://github.com/llvm/llvm-project/commit/0913547d0e3939cc420e88ecd037240f33736820
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
A clang/test/C/C2y/n3244.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim partial conformance to WG14 N3244 (#98525)
This paper had several changes within it, and Clang implements some of
the changes, but not others. This updates the status accordingly.
Commit: 2369a54fbeb61f965a3a425e660c878ae8b962c3
https://github.com/llvm/llvm-project/commit/2369a54fbeb61f965a3a425e660c878ae8b962c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
R clang/lib/Basic/Targets/Le64.cpp
R clang/lib/Basic/Targets/Le64.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/bitfield-access-tail.cpp
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
Finish deleting the le32/le64 targets (#98497)
This is a revert of ef5e7f90ea4d5063ce68b952c5de473e610afc02 which was a
temporary partial revert of 77ac823fd285973cfb3517932c09d82e6a32f46d.
The le32 and le64 targets are no longer necessary to retain, so this
removes them entirely.
Commit: 9d1017204a253782a82d1b7d16c59eea3f811a11
https://github.com/llvm/llvm-project/commit/9d1017204a253782a82d1b7d16c59eea3f811a11
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Attr.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
R clang/test/Sema/attr-format-missing.c
R clang/test/Sema/attr-format-missing.cpp
Log Message:
-----------
Revert "[clang] Catch missing format attributes" (#98617)
Reverts llvm/llvm-project#70024
It broke several post-commit bots:
https://lab.llvm.org/buildbot/#/builders/193/builds/896
https://lab.llvm.org/buildbot/#/builders/23/builds/925
https://lab.llvm.org/buildbot/#/builders/13/builds/686
and others
Commit: 2c2148de851faaca5fe0f47bcac84a10fcd53017
https://github.com/llvm/llvm-project/commit/2c2148de851faaca5fe0f47bcac84a10fcd53017
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
A clang/test/C/C2y/n3262.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Add documentation to conform to WG14 N3262; NFC (#98146)
This paper is about whether a copy of a va_list object which was not
produced by calling va_copy is valid to use or not. While this may work
on some targets, we explicitly document it as undefined behavior for all
targets so there's not confusion as to when it's valid or not. It's not
a burden for a user to use va_copy explicitly.
Commit: 84bc0a9e02bbcfc0f1e1333f642be37e687fb429
https://github.com/llvm/llvm-project/commit/84bc0a9e02bbcfc0f1e1333f642be37e687fb429
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Parser/cxx-concepts-requires-clause.cpp
Log Message:
-----------
[Clang] Fix parsing of invalid type-requirement (#98545)
A type-requirement cannot be an operator-function-id
Fixes #51868
Commit: 8ef26f1289bf069ccc0d6383f2f4c0116a1206c1
https://github.com/llvm/llvm-project/commit/8ef26f1289bf069ccc0d6383f2f4c0116a1206c1
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/test/Misc/warning-flags.c
Log Message:
-----------
[clang] Add option to opt out of the missing_dependent_template_keyword diagnostic (#98613)
After commit ce4aada6e2135e29839f672a6599db628b53295d, we observed many
warnings in our internal codebase. It is infeasible to fix all at once.
Currently, there is no way to disable this warning. This patch provides
a way to disable it using the `-Wno-missing-dependent-template-keyword` flag.
Commit: 8681202dd638c552eecb818d41312cbbfd48e606
https://github.com/llvm/llvm-project/commit/8681202dd638c552eecb818d41312cbbfd48e606
Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M compiler-rt/include/sanitizer/allocator_interface.h
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/hwasan/hwasan_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_interface.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
A compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
A compiler-rt/test/hwasan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
[ASan] [HWASan] Add __sanitizer_ignore_free_hook() (#96749)
This change adds a new weak API function which makes the sanitizer
ignore the call to free(), and implements the
functionality in ASan and HWAsan. The runtime that implements this hook
can then call free() at a later point again on the same pointer (and
making sure the hook returns zero so that the memory will actually be
freed) when it's actually ready for the memory to be cleaned up.
This is needed in order to implement an sanitizer-compatible version
of Chrome's BackupRefPtr algorithm, since process-wide double-shimming
of malloc/free does not work on some platforms.
Requested and designed by @c01db33f (Mark) from Project Zero.
---------
Co-authored-by: Mark Brand <markbrand at google.com>
Commit: c471d3650aa3c6c1ddab64c029b7b89b12d18938
https://github.com/llvm/llvm-project/commit/c471d3650aa3c6c1ddab64c029b7b89b12d18938
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lldb/test/API/commands/expression/bitfield_enums/TestBitfieldEnums.py
Log Message:
-----------
[lldb][test] Narrow enum test xfail to clang < 19.0 (#98616)
Since #98335 clang adds DW_AT_type, unless strict DWARF is requested.
Commit: 83845b178eaea271da66f95bacec9d2878ef60e7
https://github.com/llvm/llvm-project/commit/83845b178eaea271da66f95bacec9d2878ef60e7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.cpp
Log Message:
-----------
[DWARFLinker] Use a range-based for loop (NFC) (#98585)
Commit: db41a3043383067a5684ae98e6f5b30af173921d
https://github.com/llvm/llvm-project/commit/db41a3043383067a5684ae98e6f5b30af173921d
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[OpenMP]Support for lowering masked op (#98401)
Commit: ba29e3a58dcdf0012df9fdaa3e7ed10cee56d5c5
https://github.com/llvm/llvm-project/commit/ba29e3a58dcdf0012df9fdaa3e7ed10cee56d5c5
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Add early exit to/unindent `ActOnOpenMPLoopInitialization`
NFC
Commit: 7a935089d4593de6767901810594058904412106
https://github.com/llvm/llvm-project/commit/7a935089d4593de6767901810594058904412106
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Reject calling function pointers if types don't match
Commit: e616fa5bc0c628962afec7ee51288b442fbb09d6
https://github.com/llvm/llvm-project/commit/e616fa5bc0c628962afec7ee51288b442fbb09d6
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep for vfprintf_internal
Commit: 77fd30f7ce0795b4bbc22e65b3ff42856839d708
https://github.com/llvm/llvm-project/commit/77fd30f7ce0795b4bbc22e65b3ff42856839d708
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCUDA/template-class-static-member.cu
Log Message:
-----------
[CUDA][HIP] Fix template static member (#98580)
Should check host/device attributes before emitting static member of
template instantiation.
Fixes: https://github.com/llvm/llvm-project/issues/98151
Commit: 424ad163c715e478d37cfd1efaae148cdd6aa815
https://github.com/llvm/llvm-project/commit/424ad163c715e478d37cfd1efaae148cdd6aa815
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M flang/cmake/modules/AddFlang.cmake
Log Message:
-----------
[flang] Simplify LIBTYPE logic (#98072)
When the `add_flang_library` was first added, it was apparently copied
over from `add_clang_library`, including its logic to determine the
library type. It includes a workaround: If `BUILD_SHARED_LIBS` is
enabled, it should build all libraries as shared, including those that
are explicitly marked as `STATIC`[^1], because `add_clang_library`
always passes at least one of `STATIC`/`SHARED` to `llvm_add_library`,
and `llvm_add_library` could not distinguish the two cases.
Then, the two implementations diverged. For its runtime libraries, Flang
requires some libraries to always be static libraries, so if a library
is explicitly marked as `STATIC`, `BUILD_SHARED_LIBS` is ignored[^2].
I noticed the two implementations of the same functionality, modified
only the `add_clang_library`, and copied over the result to
`add_flang_library`[^3], without noticing that they are slightly
different. As a result, Flang runtime libraries would be built as shared
libraries with `-DBUILD_SHARED_LIBS=ON`, which may break some build
configurations[^4].
This PR fixes the problem and at the same time simplifies the library
type algorithm by just passing SHARED/STATIC verbatim to
`llvm_add_library`. This is effectively what [^2] should have done
instead adding more code to undo the workaround of [^1]. Ideally, one
would use
```
llvm_add_library(${name} ${ARG_STATIC} ${ARG_SHARED} [...])
```
but `ARG_STATIC`/`ARG_SHARED` as set by `cmake_parse_arguments` contain
`TRUE`/`FALSE` instead of the keywords themselves. I could imagine a
utility function akin to `pythonize_bool` that does this.
This simplification adds two more changes:
1. Object libraries are not explicitly requested anymore.
`llvm_add_library` itself should determine whether an object library is
necessary. As the comment notes, using an object library is not without
problems and seem of no use here since it works fine without object
library when in `XCODE`/`MSVC_IDE` mode.
2. The property `CLANG_STATIC_LIBS` was removed. It was
`FLANG_STATIC_LIBS` before to copy&paste error of #93519 [^3] which not
used anywhere. In clang, `CLANG_STATIC_LIBS` is used for `clang-shlib`
to include all component libraries in a single large library. There is
no equivalent `flang-shlib`.
[^1]: dbc2a12c7311ff4cc2cd7887d128b506bd35b579
[^2]: 3d2e05d542e646891745c5278a09950d3c4fb4a5
[^3]: #93519
[^4]:
https://github.com/llvm/llvm-project/pull/93519#issuecomment-2192359002
Commit: dd4658f660ad6a9876df1ba375b5d2af5d07b0ad
https://github.com/llvm/llvm-project/commit/dd4658f660ad6a9876df1ba375b5d2af5d07b0ad
Author: David Green <david.green at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Log Message:
-----------
[AArch64] Add a few more umull / umaddl test case. NFC
>From #98481.
Commit: 7918e624add98b409332c6996c89a70c74126994
https://github.com/llvm/llvm-project/commit/7918e624add98b409332c6996c89a70c74126994
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libcxx/test/std/algorithms/alg.sorting/alg.clamp/ranges.clamp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/container_test_types.h
M libcxx/test/support/filesystem_test_helper.h
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++] Test suite portability improvements (#98527)
This patch contains a number of small portability improvements for the
test suite, making it easier to run the test suite with other standard
library implementations.
- Guard checks for _LIBCPP_HARDENING_MODE to avoid -Wundef
- Avoid defining _LIBCPP_HARDENING_MODE even when no hardening mode is
specified -- we should use the default mode of the library in that case.
- Add missing includes and qualify a few function calls.
- Avoid opening namespace std to forward declare stdlib containers. The
test suite should represent user code, and user code isn't allowed to do
that.
Commit: 05f987743170cbd9fc97699c7a9b352055de7300
https://github.com/llvm/llvm-project/commit/05f987743170cbd9fc97699c7a9b352055de7300
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-srl.ll
Log Message:
-----------
[X86] Add handling for shift_logical(select(icmp_uge(amt,BW),0,x),amt) -> avx2 shift(x,amt)
We need to catch this otherwise pre-AVX512 targets will fold this to shift_logical(and(icmp_ult(amt,BW),x),amt)
Commit: 09b1cfceb62332ebf8e5d319ee048492a709995d
https://github.com/llvm/llvm-project/commit/09b1cfceb62332ebf8e5d319ee048492a709995d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Add additional test case for (add (zext (add nuw X, C2), C1). NFC
Add test where the zext has an additional use, but the entire
expression can be replaced with (zext X). Folding even though there
is an additional use would not increase the number of instructions.
Commit: c45f939e34dafaf0f57fd1d93df7df5cc89f1dec
https://github.com/llvm/llvm-project/commit/c45f939e34dafaf0f57fd1d93df7df5cc89f1dec
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Log Message:
-----------
[InstCombine] Generalize ptrtoint(gep) fold (NFC)
We're currently handling a special case of
ptrtoint gep -> add ptrtoint. Reframe the code to make it easier
to add more patterns for this transform.
Commit: 98edc0cb1f4ca53bd2d490916566ff7d217110f8
https://github.com/llvm/llvm-project/commit/98edc0cb1f4ca53bd2d490916566ff7d217110f8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/test/AST/Interp/memberpointers.cpp
Log Message:
-----------
[clang][Interp] Fix member pointer temporaries
PT_MemberPtr also needs its ctor/dtor called, so add that.
However, this exposed a problem in initializing virtual bases,
so fix that as well.
Commit: 01ceb9840a5b768232961444e3606a303ed4beed
https://github.com/llvm/llvm-project/commit/01ceb9840a5b768232961444e3606a303ed4beed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Fold (zext (X +nuw C)) + -C --> zext(X) when zext has additional use. (#98533)
We have a general fold for (zext (X +nuw C2)) + C1 --> zext (X + (C2 +
trunc(C1)))
but this fold is disabled if the zext has an additional use.
If the two constants cancel, we can fold the whole expression to
zext(X) without increasing the number of instructions.
Commit: 007e32d024f31ef157e3e16117a6c000bfaa2754
https://github.com/llvm/llvm-project/commit/007e32d024f31ef157e3e16117a6c000bfaa2754
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
Log Message:
-----------
[clang][Interp][NFC] Simplify record creation
Try to keep the indentation width lower here.
Commit: ac2426e08e6f7c1eb97725f1d6cc35a8a6ddc5ef
https://github.com/llvm/llvm-project/commit/ac2426e08e6f7c1eb97725f1d6cc35a8a6ddc5ef
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3232
This is an editorial change, so no tests were added
Commit: b94c2488f06a5f7692d552e8a5fb85ea0c920a02
https://github.com/llvm/llvm-project/commit/b94c2488f06a5f7692d552e8a5fb85ea0c920a02
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-a64fx.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1a.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a10.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a11.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a12.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a13.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a14.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a7.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8-r.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.1-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.2-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.3-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.5-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.6-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-carmel.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a34.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a35.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a53.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a55.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a57.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a72.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a73.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a75.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a77.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78c.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1c.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m3.c
M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m5.c
M clang/test/Driver/print-enabled-extensions/aarch64-falkor.c
M clang/test/Driver/print-enabled-extensions/aarch64-generic.c
M clang/test/Driver/print-enabled-extensions/aarch64-kryo.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-e1.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n1.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v1.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-oryon-1.c
M clang/test/Driver/print-enabled-extensions/aarch64-saphira.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderx.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderx2t99.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderx3t110.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt81.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt83.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt88.c
M clang/test/Driver/print-enabled-extensions/aarch64-tsv110.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Make user-visible Arm architecture version strings consistent (#98550)
Textual strings for architecture feature flags have not been
consistently written, so there are a wide variety of styles,
capitalisation, etc. and some are missing information. I have
tidied this up mechanically for AArch64, so that the output of
`--print-supported-extensions` looks much more consistent,
since it's user-visible.
Commit: d873630fda191c327c2762c42186fa142c45934a
https://github.com/llvm/llvm-project/commit/d873630fda191c327c2762c42186fa142c45934a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Log Message:
-----------
Revert "[InstCombine] Generalize ptrtoint(gep) fold (NFC)"
This reverts commit c45f939e34dafaf0f57fd1d93df7df5cc89f1dec.
This refactoring turned out to not be useful for the case I had
originally in mind, so revert it for now.
Commit: 840e857a1969927f513a17e46445bf9a56cf81ba
https://github.com/llvm/llvm-project/commit/840e857a1969927f513a17e46445bf9a56cf81ba
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
Log Message:
-----------
[libc++] Fix sporadic test failure in condition_variable notify_all test (#97622)
fixes #95944
Commit: fa2421392802025e842454a31ed50dbfab643130
https://github.com/llvm/llvm-project/commit/fa2421392802025e842454a31ed50dbfab643130
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/lifetime.ll
A llvm/test/Transforms/MemCpyOpt/memcpy-memcpy-offset.ll
A llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
Log Message:
-----------
[MemCpyOpt] Forward `memcpy` based on the actual copy memory location. (#87190)
Fixes #85560.
We can forward `memcpy` as long as the actual memory location being
copied have not been altered.
alive2: https://alive2.llvm.org/ce/z/q9JaHV
Commit: da1f491a9d37f549159657ddaba799a7fb39e84a
https://github.com/llvm/llvm-project/commit/da1f491a9d37f549159657ddaba799a7fb39e84a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[LLVM][runtimes] Prepopulate `LLVM_BUILTIN_TARGETS` with runtimes values (#95554)
Summary:
We create the builtins separately because these are required to set up
before others are built. It's configured with a default value if not
specified, but this doesn't respect the runtimes from other targets.
This patch changes the behavior to prepopulate the builtins list with
all the targets that have `compiler-rt` enabled if not overridden by the
user.
Commit: 216db5e051733cf1c6250310392cbbe9cafce1b5
https://github.com/llvm/llvm-project/commit/216db5e051733cf1c6250310392cbbe9cafce1b5
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/cmake/modules/Findzstd.cmake
Log Message:
-----------
Fix Findzstd.cmake for compiler-rt with MSVC (#98645)
When building compiler-rt with MSVC, CMAKE_INSTALL_LIBDIR and
CMAKE_INSTALL_BINDIR are empty.
This causes error in Findzstd.cmake like the following:
CMake Error at C:/llvm/cmake/modules/Findzstd.cmake:39 (string):
string sub-command REGEX, mode REPLACE: regex "$" matched an empty
string.
Do not do the REGEX when CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_BINDIR
are empty.
Similar issues were reported by others at
https://github.com/llvm/llvm-project/commit/e7fc7540daa9333f0be4f380fc9c619236d17f57
Commit: 9e261c5bee4c5618723c243986c4b39236713378
https://github.com/llvm/llvm-project/commit/9e261c5bee4c5618723c243986c4b39236713378
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
Log Message:
-----------
[SLP]Do not salvage debug info from instructions, marked for deletion already.
If the instruction was processed already for the deletion, no need to
process it second time, it may cause compiler crash.
Commit: 25871b35050d255be67834286d035ffe6e2c2d72
https://github.com/llvm/llvm-project/commit/25871b35050d255be67834286d035ffe6e2c2d72
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
A llvm/test/Transforms/InstSimplify/ptrtoint.ll
Log Message:
-----------
[InstSimplify] Add tests for ptrtoint of gep fold (NFC)
Commit: 1752b7bc521ae878355a1c9e48644b0ad320dbe5
https://github.com/llvm/llvm-project/commit/1752b7bc521ae878355a1c9e48644b0ad320dbe5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.h
Log Message:
-----------
[clang][Interp][NFC] Apply some clang-tidy suggestions
Remove unused includes and don't use an else after a return.
Commit: 840c7c6e1fba52748e3ceccd2842e5d96f658f2e
https://github.com/llvm/llvm-project/commit/840c7c6e1fba52748e3ceccd2842e5d96f658f2e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix Pointer::expand() checking for metadata size
The == 0 check here was used before blocks had metadata, but doesn't
work anymore today.
Commit: c784abf2007a98c5fea64a84b56fa21974983d90
https://github.com/llvm/llvm-project/commit/c784abf2007a98c5fea64a84b56fa21974983d90
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/AST/Interp/memberpointers.cpp
Log Message:
-----------
[clang][Interp] Delay compiling functions that don't have a body yet
Sometimes, isDefined() returns true, even though the function doesn't
have a body yet, but will have one later. This is for example the case
when referring to a class member function via a member pointer before
the member function has been fully parsed. Reject them at first and
compile them later.
Commit: 026566a5a8bf5223e3f58ed9d80e7f3d5886decf
https://github.com/llvm/llvm-project/commit/026566a5a8bf5223e3f58ed9d80e7f3d5886decf
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
Log Message:
-----------
[flang][cuda][NFC] Update description to match op assembly format (#98573)
Commit: 06bbbf1ee01fae55faf68f14c2c3e45d5b863da1
https://github.com/llvm/llvm-project/commit/06bbbf1ee01fae55faf68f14c2c3e45d5b863da1
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/include/mlir/IR/AttrTypeSubElements.h
M mlir/lib/IR/AttrTypeSubElements.cpp
A mlir/unittests/IR/AttrTypeReplacerTest.cpp
M mlir/unittests/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Cyclic AttrType Replacer (#98206)
The current `AttrTypeReplacer` does not allow for custom handling of
replacer functions that may cause self-recursion. For example, the
replacement of one attr/type may depend on the replacement of another
attr/type (by calling into the replacer manually again), which in turn
may depend on the replacement of the original attr/type.
To enable this functionality, this PR broke out the original
AttrTypeReplacer into two parts:
- An uncached base version (`detail::AttrTypeReplacerBase`) that allows
registering replacer functions and has logic for invoking it on
attr/types & their sub-elements
- A cached version (`AttrTypeReplacer`) that provides the same caching
as the original one. This is still the one used everywhere and behavior
is unchanged.
On top of the uncached base version, a `CyclicAttrTypeReplacer` is
introduced that provides caching & cycle-handling for replacer logic
that is cyclic. Cycle-breaking & caching is provided by the
`CyclicReplacerCache` from
https://github.com/llvm/llvm-project/pull/98202.
Both concrete implementations of the uncached base version use CRTP to
avoid dynamic dispatch. The base class merely provides replacer
registration & invocation, and is not meant to be used, or otherwise
extended elsewhere.
Commit: dd866040aeb2703debacc141f60429ea0f567146
https://github.com/llvm/llvm-project/commit/dd866040aeb2703debacc141f60429ea0f567146
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/test/Target/LLVMIR/Import/debug-info.ll
Log Message:
-----------
[MLIR][LLVM] Use CyclicReplacerCache for recursive DIType import (#98203)
Use the new CyclicReplacerCache from
https://github.com/llvm/llvm-project/pull/98202 to support importing of
recursive DITypes in LLVM dialect's DebugImporter. This helps simplify
the implementation, allows for separate testing of the cache infra
itself, and as a result we even got more efficient translations.
Commit: 5ff3ff33ff930e4ec49da7910612d8a41eb068cb
https://github.com/llvm/llvm-project/commit/5ff3ff33ff930e4ec49da7910612d8a41eb068cb
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/benchmarks/LibcDefaultImplementations.cpp
M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
M libc/benchmarks/automemcpy/lib/CodeGen.cpp
M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
M libc/benchmarks/gpu/BenchmarkLogger.cpp
M libc/benchmarks/gpu/BenchmarkLogger.h
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/linux/app.h
M libc/docs/dev/clang_tidy_checks.rst
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/bitset.h
M libc/src/__support/CPP/cstddef.h
M libc/src/__support/CPP/expected.h
M libc/src/__support/CPP/functional.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/mutex.h
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/stringstream.h
M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
M libc/src/__support/CPP/type_traits/add_pointer.h
M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
M libc/src/__support/CPP/type_traits/aligned_storage.h
M libc/src/__support/CPP/type_traits/always_false.h
M libc/src/__support/CPP/type_traits/bool_constant.h
M libc/src/__support/CPP/type_traits/conditional.h
M libc/src/__support/CPP/type_traits/decay.h
M libc/src/__support/CPP/type_traits/enable_if.h
M libc/src/__support/CPP/type_traits/false_type.h
M libc/src/__support/CPP/type_traits/integral_constant.h
M libc/src/__support/CPP/type_traits/invoke.h
M libc/src/__support/CPP/type_traits/invoke_result.h
M libc/src/__support/CPP/type_traits/is_arithmetic.h
M libc/src/__support/CPP/type_traits/is_array.h
M libc/src/__support/CPP/type_traits/is_base_of.h
M libc/src/__support/CPP/type_traits/is_class.h
M libc/src/__support/CPP/type_traits/is_const.h
M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M libc/src/__support/CPP/type_traits/is_convertible.h
M libc/src/__support/CPP/type_traits/is_destructible.h
M libc/src/__support/CPP/type_traits/is_enum.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/CPP/type_traits/is_function.h
M libc/src/__support/CPP/type_traits/is_integral.h
M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
M libc/src/__support/CPP/type_traits/is_member_pointer.h
M libc/src/__support/CPP/type_traits/is_null_pointer.h
M libc/src/__support/CPP/type_traits/is_object.h
M libc/src/__support/CPP/type_traits/is_pointer.h
M libc/src/__support/CPP/type_traits/is_reference.h
M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
M libc/src/__support/CPP/type_traits/is_same.h
M libc/src/__support/CPP/type_traits/is_scalar.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
M libc/src/__support/CPP/type_traits/is_union.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/CPP/type_traits/is_void.h
M libc/src/__support/CPP/type_traits/make_signed.h
M libc/src/__support/CPP/type_traits/make_unsigned.h
M libc/src/__support/CPP/type_traits/remove_all_extents.h
M libc/src/__support/CPP/type_traits/remove_cv.h
M libc/src/__support/CPP/type_traits/remove_cvref.h
M libc/src/__support/CPP/type_traits/remove_extent.h
M libc/src/__support/CPP/type_traits/remove_reference.h
M libc/src/__support/CPP/type_traits/true_type.h
M libc/src/__support/CPP/type_traits/type_identity.h
M libc/src/__support/CPP/type_traits/void_t.h
M libc/src/__support/CPP/utility/declval.h
M libc/src/__support/CPP/utility/forward.h
M libc/src/__support/CPP/utility/in_place.h
M libc/src/__support/CPP/utility/integer_sequence.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/aarch64/nearest_integer.h
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/fpbits_str.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/README.md
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/triple_double.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/FPUtil/x86_64/nearest_integer.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/File/linux/stderr.cpp
M libc/src/__support/File/linux/stdin.cpp
M libc/src/__support/File/linux/stdout.cpp
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/GPU/allocator.h
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/baremetal/exit.cpp
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/__support/OSUtil/darwin/arm/syscall.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/OSUtil/darwin/syscall.h
M libc/src/__support/OSUtil/exit.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/fuchsia/io.h
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/gpu/io.h
M libc/src/__support/OSUtil/linux/aarch64/syscall.h
M libc/src/__support/OSUtil/linux/arm/syscall.h
M libc/src/__support/OSUtil/linux/exit.cpp
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/io.h
M libc/src/__support/OSUtil/linux/riscv/syscall.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/x86_64/syscall.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/RPC/rpc_client.cpp
M libc/src/__support/RPC/rpc_client.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/message_mapper.h
M libc/src/__support/StringUtil/signal_to_string.cpp
M libc/src/__support/StringUtil/signal_to_string.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/arg_list.h
M libc/src/__support/big_int.h
M libc/src/__support/block.h
M libc/src/__support/blockstore.h
M libc/src/__support/c_string.h
M libc/src/__support/char_vector.h
M libc/src/__support/common.h
M libc/src/__support/ctype_utils.h
M libc/src/__support/detailed_powers_of_ten.h
M libc/src/__support/endian.h
M libc/src/__support/error_or.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/fixedvector.h
M libc/src/__support/float_to_string.h
M libc/src/__support/freelist.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/hash.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_operations.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/intrusive_list.h
M libc/src/__support/libc_assert.h
M libc/src/__support/macros/config.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/str_to_num_result.h
M libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/callonce.h
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/fork_callbacks.h
M libc/src/__support/threads/gpu/mutex.h
M libc/src/__support/threads/linux/CndVar.cpp
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/__support/threads/linux/callonce.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/raw_mutex.h
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex_common.h
M libc/src/__support/threads/sleep.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
M libc/src/__support/time/linux/abs_timeout.h
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.h
M libc/src/__support/time/linux/monotonicity.h
M libc/src/__support/time/units.h
M libc/src/__support/wctype_utils.h
M libc/src/assert/__assert_fail.h
M libc/src/assert/generic/__assert_fail.cpp
M libc/src/assert/gpu/__assert_fail.cpp
M libc/src/ctype/isalnum.cpp
M libc/src/ctype/isalnum.h
M libc/src/ctype/isalpha.cpp
M libc/src/ctype/isalpha.h
M libc/src/ctype/isascii.cpp
M libc/src/ctype/isascii.h
M libc/src/ctype/isblank.cpp
M libc/src/ctype/isblank.h
M libc/src/ctype/iscntrl.cpp
M libc/src/ctype/iscntrl.h
M libc/src/ctype/isdigit.cpp
M libc/src/ctype/isdigit.h
M libc/src/ctype/isgraph.cpp
M libc/src/ctype/isgraph.h
M libc/src/ctype/islower.cpp
M libc/src/ctype/islower.h
M libc/src/ctype/isprint.cpp
M libc/src/ctype/isprint.h
M libc/src/ctype/ispunct.cpp
M libc/src/ctype/ispunct.h
M libc/src/ctype/isspace.cpp
M libc/src/ctype/isspace.h
M libc/src/ctype/isupper.cpp
M libc/src/ctype/isupper.h
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit.h
M libc/src/ctype/toascii.cpp
M libc/src/ctype/toascii.h
M libc/src/ctype/tolower.cpp
M libc/src/ctype/tolower.h
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/closedir.h
M libc/src/dirent/dirfd.cpp
M libc/src/dirent/dirfd.h
M libc/src/dirent/opendir.cpp
M libc/src/dirent/opendir.h
M libc/src/dirent/readdir.cpp
M libc/src/dirent/readdir.h
M libc/src/dlfcn/dlclose.cpp
M libc/src/dlfcn/dlclose.h
M libc/src/dlfcn/dlerror.cpp
M libc/src/dlfcn/dlerror.h
M libc/src/dlfcn/dlopen.cpp
M libc/src/dlfcn/dlopen.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/fcntl/creat.h
M libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/fenv/feclearexcept.cpp
M libc/src/fenv/feclearexcept.h
M libc/src/fenv/fedisableexcept.cpp
M libc/src/fenv/fedisableexcept.h
M libc/src/fenv/feenableexcept.cpp
M libc/src/fenv/feenableexcept.h
M libc/src/fenv/fegetenv.cpp
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexcept.cpp
M libc/src/fenv/fegetexcept.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fegetround.cpp
M libc/src/fenv/fegetround.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/feraiseexcept.cpp
M libc/src/fenv/feraiseexcept.h
M libc/src/fenv/fesetenv.cpp
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexcept.cpp
M libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/fesetround.cpp
M libc/src/fenv/fesetround.h
M libc/src/fenv/fetestexcept.cpp
M libc/src/fenv/fetestexcept.h
M libc/src/fenv/fetestexceptflag.cpp
M libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/gpu/rpc_fprintf.cpp
M libc/src/gpu/rpc_fprintf.h
M libc/src/gpu/rpc_host_call.cpp
M libc/src/gpu/rpc_host_call.h
M libc/src/inttypes/imaxabs.cpp
M libc/src/inttypes/imaxabs.h
M libc/src/inttypes/imaxdiv.cpp
M libc/src/inttypes/imaxdiv.h
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoimax.h
M libc/src/inttypes/strtoumax.cpp
M libc/src/inttypes/strtoumax.h
M libc/src/math/aarch64/ceil.cpp
M libc/src/math/aarch64/ceilf.cpp
M libc/src/math/aarch64/floor.cpp
M libc/src/math/aarch64/floorf.cpp
M libc/src/math/aarch64/round.cpp
M libc/src/math/aarch64/roundf.cpp
M libc/src/math/aarch64/trunc.cpp
M libc/src/math/aarch64/truncf.cpp
M libc/src/math/acos.h
M libc/src/math/acosf.h
M libc/src/math/acosh.h
M libc/src/math/acoshf.h
M libc/src/math/amdgpu/acos.cpp
M libc/src/math/amdgpu/acosf.cpp
M libc/src/math/amdgpu/acosh.cpp
M libc/src/math/amdgpu/acoshf.cpp
M libc/src/math/amdgpu/asin.cpp
M libc/src/math/amdgpu/asinf.cpp
M libc/src/math/amdgpu/asinh.cpp
M libc/src/math/amdgpu/asinhf.cpp
M libc/src/math/amdgpu/atan.cpp
M libc/src/math/amdgpu/atan2.cpp
M libc/src/math/amdgpu/atan2f.cpp
M libc/src/math/amdgpu/atanf.cpp
M libc/src/math/amdgpu/atanh.cpp
M libc/src/math/amdgpu/atanhf.cpp
M libc/src/math/amdgpu/ceil.cpp
M libc/src/math/amdgpu/ceilf.cpp
M libc/src/math/amdgpu/copysign.cpp
M libc/src/math/amdgpu/copysignf.cpp
M libc/src/math/amdgpu/cos.cpp
M libc/src/math/amdgpu/cosf.cpp
M libc/src/math/amdgpu/cosh.cpp
M libc/src/math/amdgpu/coshf.cpp
M libc/src/math/amdgpu/declarations.h
M libc/src/math/amdgpu/erf.cpp
M libc/src/math/amdgpu/erff.cpp
M libc/src/math/amdgpu/exp.cpp
M libc/src/math/amdgpu/exp10.cpp
M libc/src/math/amdgpu/exp10f.cpp
M libc/src/math/amdgpu/exp2.cpp
M libc/src/math/amdgpu/exp2f.cpp
M libc/src/math/amdgpu/expf.cpp
M libc/src/math/amdgpu/expm1.cpp
M libc/src/math/amdgpu/expm1f.cpp
M libc/src/math/amdgpu/fabs.cpp
M libc/src/math/amdgpu/fabsf.cpp
M libc/src/math/amdgpu/fdim.cpp
M libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/floor.cpp
M libc/src/math/amdgpu/floorf.cpp
M libc/src/math/amdgpu/fma.cpp
M libc/src/math/amdgpu/fmaf.cpp
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/amdgpu/fmod.cpp
M libc/src/math/amdgpu/fmodf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
M libc/src/math/amdgpu/hypot.cpp
M libc/src/math/amdgpu/hypotf.cpp
M libc/src/math/amdgpu/ilogb.cpp
M libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
M libc/src/math/amdgpu/log.cpp
M libc/src/math/amdgpu/log10.cpp
M libc/src/math/amdgpu/log10f.cpp
M libc/src/math/amdgpu/log1p.cpp
M libc/src/math/amdgpu/log1pf.cpp
M libc/src/math/amdgpu/log2.cpp
M libc/src/math/amdgpu/log2f.cpp
M libc/src/math/amdgpu/logb.cpp
M libc/src/math/amdgpu/logbf.cpp
M libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
M libc/src/math/amdgpu/nearbyint.cpp
M libc/src/math/amdgpu/nearbyintf.cpp
M libc/src/math/amdgpu/nextafter.cpp
M libc/src/math/amdgpu/nextafterf.cpp
M libc/src/math/amdgpu/platform.h
M libc/src/math/amdgpu/pow.cpp
M libc/src/math/amdgpu/powf.cpp
M libc/src/math/amdgpu/powi.cpp
M libc/src/math/amdgpu/powif.cpp
M libc/src/math/amdgpu/remainder.cpp
M libc/src/math/amdgpu/remainderf.cpp
M libc/src/math/amdgpu/remquo.cpp
M libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/rint.cpp
M libc/src/math/amdgpu/rintf.cpp
M libc/src/math/amdgpu/round.cpp
M libc/src/math/amdgpu/roundf.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
M libc/src/math/amdgpu/sin.cpp
M libc/src/math/amdgpu/sincos.cpp
M libc/src/math/amdgpu/sincosf.cpp
M libc/src/math/amdgpu/sinf.cpp
M libc/src/math/amdgpu/sinh.cpp
M libc/src/math/amdgpu/sinhf.cpp
M libc/src/math/amdgpu/sqrt.cpp
M libc/src/math/amdgpu/sqrtf.cpp
M libc/src/math/amdgpu/tan.cpp
M libc/src/math/amdgpu/tanf.cpp
M libc/src/math/amdgpu/tanh.cpp
M libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/amdgpu/trunc.cpp
M libc/src/math/amdgpu/truncf.cpp
M libc/src/math/asin.h
M libc/src/math/asinf.h
M libc/src/math/asinh.h
M libc/src/math/asinhf.h
M libc/src/math/atan.h
M libc/src/math/atan2.h
M libc/src/math/atan2f.h
M libc/src/math/atanf.h
M libc/src/math/atanh.h
M libc/src/math/atanhf.h
M libc/src/math/canonicalize.h
M libc/src/math/canonicalizef.h
M libc/src/math/canonicalizef128.h
M libc/src/math/canonicalizef16.h
M libc/src/math/canonicalizel.h
M libc/src/math/cbrtf.h
M libc/src/math/ceil.h
M libc/src/math/ceilf.h
M libc/src/math/ceilf128.h
M libc/src/math/ceilf16.h
M libc/src/math/ceill.h
M libc/src/math/copysign.h
M libc/src/math/copysignf.h
M libc/src/math/copysignf128.h
M libc/src/math/copysignf16.h
M libc/src/math/copysignl.h
M libc/src/math/cos.h
M libc/src/math/cosf.h
M libc/src/math/cosh.h
M libc/src/math/coshf.h
M libc/src/math/cospif.h
M libc/src/math/erf.h
M libc/src/math/erff.h
M libc/src/math/exp.h
M libc/src/math/exp10.h
M libc/src/math/exp10f.h
M libc/src/math/exp2.h
M libc/src/math/exp2f.h
M libc/src/math/exp2m1f.h
M libc/src/math/expf.h
M libc/src/math/expm1.h
M libc/src/math/expm1f.h
M libc/src/math/f16add.h
M libc/src/math/f16addf.h
M libc/src/math/f16addf128.h
M libc/src/math/f16addl.h
M libc/src/math/f16div.h
M libc/src/math/f16divf.h
M libc/src/math/f16divf128.h
M libc/src/math/f16divl.h
M libc/src/math/f16fma.h
M libc/src/math/f16fmaf.h
M libc/src/math/f16fmaf128.h
M libc/src/math/f16fmal.h
M libc/src/math/f16sqrt.h
M libc/src/math/f16sqrtf.h
M libc/src/math/f16sqrtf128.h
M libc/src/math/f16sqrtl.h
M libc/src/math/f16sub.h
M libc/src/math/f16subf.h
M libc/src/math/f16subf128.h
M libc/src/math/f16subl.h
M libc/src/math/fabs.h
M libc/src/math/fabsf.h
M libc/src/math/fabsf128.h
M libc/src/math/fabsf16.h
M libc/src/math/fabsl.h
M libc/src/math/fdim.h
M libc/src/math/fdimf.h
M libc/src/math/fdimf128.h
M libc/src/math/fdimf16.h
M libc/src/math/fdiml.h
M libc/src/math/floor.h
M libc/src/math/floorf.h
M libc/src/math/floorf128.h
M libc/src/math/floorf16.h
M libc/src/math/floorl.h
M libc/src/math/fma.h
M libc/src/math/fmaf.h
M libc/src/math/fmax.h
M libc/src/math/fmaxf.h
M libc/src/math/fmaxf128.h
M libc/src/math/fmaxf16.h
M libc/src/math/fmaximum.h
M libc/src/math/fmaximum_mag.h
M libc/src/math/fmaximum_mag_num.h
M libc/src/math/fmaximum_mag_numf.h
M libc/src/math/fmaximum_mag_numf128.h
M libc/src/math/fmaximum_mag_numf16.h
M libc/src/math/fmaximum_mag_numl.h
M libc/src/math/fmaximum_magf.h
M libc/src/math/fmaximum_magf128.h
M libc/src/math/fmaximum_magf16.h
M libc/src/math/fmaximum_magl.h
M libc/src/math/fmaximum_num.h
M libc/src/math/fmaximum_numf.h
M libc/src/math/fmaximum_numf128.h
M libc/src/math/fmaximum_numf16.h
M libc/src/math/fmaximum_numl.h
M libc/src/math/fmaximumf.h
M libc/src/math/fmaximumf128.h
M libc/src/math/fmaximumf16.h
M libc/src/math/fmaximuml.h
M libc/src/math/fmaxl.h
M libc/src/math/fmin.h
M libc/src/math/fminf.h
M libc/src/math/fminf128.h
M libc/src/math/fminf16.h
M libc/src/math/fminimum.h
M libc/src/math/fminimum_mag.h
M libc/src/math/fminimum_mag_num.h
M libc/src/math/fminimum_mag_numf.h
M libc/src/math/fminimum_mag_numf128.h
M libc/src/math/fminimum_mag_numf16.h
M libc/src/math/fminimum_mag_numl.h
M libc/src/math/fminimum_magf.h
M libc/src/math/fminimum_magf128.h
M libc/src/math/fminimum_magf16.h
M libc/src/math/fminimum_magl.h
M libc/src/math/fminimum_num.h
M libc/src/math/fminimum_numf.h
M libc/src/math/fminimum_numf128.h
M libc/src/math/fminimum_numf16.h
M libc/src/math/fminimum_numl.h
M libc/src/math/fminimumf.h
M libc/src/math/fminimumf128.h
M libc/src/math/fminimumf16.h
M libc/src/math/fminimuml.h
M libc/src/math/fminl.h
M libc/src/math/fmod.h
M libc/src/math/fmodf.h
M libc/src/math/fmodf128.h
M libc/src/math/fmodf16.h
M libc/src/math/fmodl.h
M libc/src/math/fmul.h
M libc/src/math/frexp.h
M libc/src/math/frexpf.h
M libc/src/math/frexpf128.h
M libc/src/math/frexpf16.h
M libc/src/math/frexpl.h
M libc/src/math/fromfp.h
M libc/src/math/fromfpf.h
M libc/src/math/fromfpf128.h
M libc/src/math/fromfpf16.h
M libc/src/math/fromfpl.h
M libc/src/math/fromfpx.h
M libc/src/math/fromfpxf.h
M libc/src/math/fromfpxf128.h
M libc/src/math/fromfpxf16.h
M libc/src/math/fromfpxl.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/ceil.cpp
M libc/src/math/generic/ceilf.cpp
M libc/src/math/generic/ceilf128.cpp
M libc/src/math/generic/ceilf16.cpp
M libc/src/math/generic/ceill.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/copysign.cpp
M libc/src/math/generic/copysignf.cpp
M libc/src/math/generic/copysignf128.cpp
M libc/src/math/generic/copysignf16.cpp
M libc/src/math/generic/copysignl.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16fma.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16fmal.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/f16sqrtf128.cpp
M libc/src/math/generic/f16sqrtl.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.cpp
M libc/src/math/generic/fabs.cpp
M libc/src/math/generic/fabsf.cpp
M libc/src/math/generic/fabsf128.cpp
M libc/src/math/generic/fabsf16.cpp
M libc/src/math/generic/fabsl.cpp
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/src/math/generic/fma.cpp
M libc/src/math/generic/fmaf.cpp
M libc/src/math/generic/fmax.cpp
M libc/src/math/generic/fmaxf.cpp
M libc/src/math/generic/fmaxf128.cpp
M libc/src/math/generic/fmaxf16.cpp
M libc/src/math/generic/fmaximum.cpp
M libc/src/math/generic/fmaximum_mag.cpp
M libc/src/math/generic/fmaximum_mag_num.cpp
M libc/src/math/generic/fmaximum_mag_numf.cpp
M libc/src/math/generic/fmaximum_mag_numf128.cpp
M libc/src/math/generic/fmaximum_mag_numf16.cpp
M libc/src/math/generic/fmaximum_mag_numl.cpp
M libc/src/math/generic/fmaximum_magf.cpp
M libc/src/math/generic/fmaximum_magf128.cpp
M libc/src/math/generic/fmaximum_magf16.cpp
M libc/src/math/generic/fmaximum_magl.cpp
M libc/src/math/generic/fmaximum_num.cpp
M libc/src/math/generic/fmaximum_numf.cpp
M libc/src/math/generic/fmaximum_numf128.cpp
M libc/src/math/generic/fmaximum_numf16.cpp
M libc/src/math/generic/fmaximum_numl.cpp
M libc/src/math/generic/fmaximumf.cpp
M libc/src/math/generic/fmaximumf128.cpp
M libc/src/math/generic/fmaximumf16.cpp
M libc/src/math/generic/fmaximuml.cpp
M libc/src/math/generic/fmaxl.cpp
M libc/src/math/generic/fmin.cpp
M libc/src/math/generic/fminf.cpp
M libc/src/math/generic/fminf128.cpp
M libc/src/math/generic/fminf16.cpp
M libc/src/math/generic/fminimum.cpp
M libc/src/math/generic/fminimum_mag.cpp
M libc/src/math/generic/fminimum_mag_num.cpp
M libc/src/math/generic/fminimum_mag_numf.cpp
M libc/src/math/generic/fminimum_mag_numf128.cpp
M libc/src/math/generic/fminimum_mag_numf16.cpp
M libc/src/math/generic/fminimum_mag_numl.cpp
M libc/src/math/generic/fminimum_magf.cpp
M libc/src/math/generic/fminimum_magf128.cpp
M libc/src/math/generic/fminimum_magf16.cpp
M libc/src/math/generic/fminimum_magl.cpp
M libc/src/math/generic/fminimum_num.cpp
M libc/src/math/generic/fminimum_numf.cpp
M libc/src/math/generic/fminimum_numf128.cpp
M libc/src/math/generic/fminimum_numf16.cpp
M libc/src/math/generic/fminimum_numl.cpp
M libc/src/math/generic/fminimumf.cpp
M libc/src/math/generic/fminimumf128.cpp
M libc/src/math/generic/fminimumf16.cpp
M libc/src/math/generic/fminimuml.cpp
M libc/src/math/generic/fminl.cpp
M libc/src/math/generic/fmod.cpp
M libc/src/math/generic/fmodf.cpp
M libc/src/math/generic/fmodf128.cpp
M libc/src/math/generic/fmodf16.cpp
M libc/src/math/generic/fmodl.cpp
M libc/src/math/generic/fmul.cpp
M libc/src/math/generic/frexp.cpp
M libc/src/math/generic/frexpf.cpp
M libc/src/math/generic/frexpf128.cpp
M libc/src/math/generic/frexpf16.cpp
M libc/src/math/generic/frexpl.cpp
M libc/src/math/generic/fromfp.cpp
M libc/src/math/generic/fromfpf.cpp
M libc/src/math/generic/fromfpf128.cpp
M libc/src/math/generic/fromfpf16.cpp
M libc/src/math/generic/fromfpl.cpp
M libc/src/math/generic/fromfpx.cpp
M libc/src/math/generic/fromfpxf.cpp
M libc/src/math/generic/fromfpxf128.cpp
M libc/src/math/generic/fromfpxf16.cpp
M libc/src/math/generic/fromfpxl.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/hypot.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/ilogb.cpp
M libc/src/math/generic/ilogbf.cpp
M libc/src/math/generic/ilogbf128.cpp
M libc/src/math/generic/ilogbf16.cpp
M libc/src/math/generic/ilogbl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/isnan.cpp
M libc/src/math/generic/isnanf.cpp
M libc/src/math/generic/isnanl.cpp
M libc/src/math/generic/ldexp.cpp
M libc/src/math/generic/ldexpf.cpp
M libc/src/math/generic/ldexpf128.cpp
M libc/src/math/generic/ldexpf16.cpp
M libc/src/math/generic/ldexpl.cpp
M libc/src/math/generic/llogb.cpp
M libc/src/math/generic/llogbf.cpp
M libc/src/math/generic/llogbf128.cpp
M libc/src/math/generic/llogbf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/llrint.cpp
M libc/src/math/generic/llrintf.cpp
M libc/src/math/generic/llrintf128.cpp
M libc/src/math/generic/llrintf16.cpp
M libc/src/math/generic/llrintl.cpp
M libc/src/math/generic/llround.cpp
M libc/src/math/generic/llroundf.cpp
M libc/src/math/generic/llroundf128.cpp
M libc/src/math/generic/llroundf16.cpp
M libc/src/math/generic/llroundl.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logb.cpp
M libc/src/math/generic/logbf.cpp
M libc/src/math/generic/logbf128.cpp
M libc/src/math/generic/logbf16.cpp
M libc/src/math/generic/logbl.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/lrint.cpp
M libc/src/math/generic/lrintf.cpp
M libc/src/math/generic/lrintf128.cpp
M libc/src/math/generic/lrintf16.cpp
M libc/src/math/generic/lrintl.cpp
M libc/src/math/generic/lround.cpp
M libc/src/math/generic/lroundf.cpp
M libc/src/math/generic/lroundf128.cpp
M libc/src/math/generic/lroundf16.cpp
M libc/src/math/generic/lroundl.cpp
M libc/src/math/generic/modf.cpp
M libc/src/math/generic/modff.cpp
M libc/src/math/generic/modff128.cpp
M libc/src/math/generic/modff16.cpp
M libc/src/math/generic/modfl.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/generic/nearbyint.cpp
M libc/src/math/generic/nearbyintf.cpp
M libc/src/math/generic/nearbyintf128.cpp
M libc/src/math/generic/nearbyintf16.cpp
M libc/src/math/generic/nearbyintl.cpp
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.cpp
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.cpp
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction.h
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/range_reduction_double_fma.h
M libc/src/math/generic/range_reduction_double_nofma.h
M libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/remainder.cpp
M libc/src/math/generic/remainderf.cpp
M libc/src/math/generic/remainderf16.cpp
M libc/src/math/generic/remainderl.cpp
M libc/src/math/generic/remquo.cpp
M libc/src/math/generic/remquof.cpp
M libc/src/math/generic/remquof128.cpp
M libc/src/math/generic/remquof16.cpp
M libc/src/math/generic/remquol.cpp
M libc/src/math/generic/rint.cpp
M libc/src/math/generic/rintf.cpp
M libc/src/math/generic/rintf128.cpp
M libc/src/math/generic/rintf16.cpp
M libc/src/math/generic/rintl.cpp
M libc/src/math/generic/round.cpp
M libc/src/math/generic/roundeven.cpp
M libc/src/math/generic/roundevenf.cpp
M libc/src/math/generic/roundevenf128.cpp
M libc/src/math/generic/roundevenf16.cpp
M libc/src/math/generic/roundevenl.cpp
M libc/src/math/generic/roundf.cpp
M libc/src/math/generic/roundf128.cpp
M libc/src/math/generic/roundf16.cpp
M libc/src/math/generic/roundl.cpp
M libc/src/math/generic/scalblnf16.cpp
M libc/src/math/generic/scalbn.cpp
M libc/src/math/generic/scalbnf.cpp
M libc/src/math/generic/scalbnf128.cpp
M libc/src/math/generic/scalbnf16.cpp
M libc/src/math/generic/scalbnl.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sqrt.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/sqrtl.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/totalorderf16.cpp
M libc/src/math/generic/totalordermagf16.cpp
M libc/src/math/generic/trunc.cpp
M libc/src/math/generic/truncf.cpp
M libc/src/math/generic/truncf128.cpp
M libc/src/math/generic/truncf16.cpp
M libc/src/math/generic/truncl.cpp
M libc/src/math/generic/ufromfp.cpp
M libc/src/math/generic/ufromfpf.cpp
M libc/src/math/generic/ufromfpf128.cpp
M libc/src/math/generic/ufromfpf16.cpp
M libc/src/math/generic/ufromfpl.cpp
M libc/src/math/generic/ufromfpx.cpp
M libc/src/math/generic/ufromfpxf.cpp
M libc/src/math/generic/ufromfpxf128.cpp
M libc/src/math/generic/ufromfpxf16.cpp
M libc/src/math/generic/ufromfpxl.cpp
M libc/src/math/getpayloadf16.h
M libc/src/math/hypot.h
M libc/src/math/hypotf.h
M libc/src/math/ilogb.h
M libc/src/math/ilogbf.h
M libc/src/math/ilogbf128.h
M libc/src/math/ilogbf16.h
M libc/src/math/ilogbl.h
M libc/src/math/isnan.h
M libc/src/math/isnanf.h
M libc/src/math/isnanl.h
M libc/src/math/ldexp.h
M libc/src/math/ldexpf.h
M libc/src/math/ldexpf128.h
M libc/src/math/ldexpf16.h
M libc/src/math/ldexpl.h
M libc/src/math/llogb.h
M libc/src/math/llogbf.h
M libc/src/math/llogbf128.h
M libc/src/math/llogbf16.h
M libc/src/math/llogbl.h
M libc/src/math/llrint.h
M libc/src/math/llrintf.h
M libc/src/math/llrintf128.h
M libc/src/math/llrintf16.h
M libc/src/math/llrintl.h
M libc/src/math/llround.h
M libc/src/math/llroundf.h
M libc/src/math/llroundf128.h
M libc/src/math/llroundf16.h
M libc/src/math/llroundl.h
M libc/src/math/log.h
M libc/src/math/log10.h
M libc/src/math/log10f.h
M libc/src/math/log1p.h
M libc/src/math/log1pf.h
M libc/src/math/log2.h
M libc/src/math/log2f.h
M libc/src/math/logb.h
M libc/src/math/logbf.h
M libc/src/math/logbf128.h
M libc/src/math/logbf16.h
M libc/src/math/logbl.h
M libc/src/math/logf.h
M libc/src/math/lrint.h
M libc/src/math/lrintf.h
M libc/src/math/lrintf128.h
M libc/src/math/lrintf16.h
M libc/src/math/lrintl.h
M libc/src/math/lround.h
M libc/src/math/lroundf.h
M libc/src/math/lroundf128.h
M libc/src/math/lroundf16.h
M libc/src/math/lroundl.h
M libc/src/math/modf.h
M libc/src/math/modff.h
M libc/src/math/modff128.h
M libc/src/math/modff16.h
M libc/src/math/modfl.h
M libc/src/math/nan.h
M libc/src/math/nanf.h
M libc/src/math/nanf128.h
M libc/src/math/nanf16.h
M libc/src/math/nanl.h
M libc/src/math/nearbyint.h
M libc/src/math/nearbyintf.h
M libc/src/math/nearbyintf128.h
M libc/src/math/nearbyintf16.h
M libc/src/math/nearbyintl.h
M libc/src/math/nextafter.h
M libc/src/math/nextafterf.h
M libc/src/math/nextafterf128.h
M libc/src/math/nextafterf16.h
M libc/src/math/nextafterl.h
M libc/src/math/nextdown.h
M libc/src/math/nextdownf.h
M libc/src/math/nextdownf128.h
M libc/src/math/nextdownf16.h
M libc/src/math/nextdownl.h
M libc/src/math/nexttoward.h
M libc/src/math/nexttowardf.h
M libc/src/math/nexttowardf16.h
M libc/src/math/nexttowardl.h
M libc/src/math/nextup.h
M libc/src/math/nextupf.h
M libc/src/math/nextupf128.h
M libc/src/math/nextupf16.h
M libc/src/math/nextupl.h
M libc/src/math/nvptx/acos.cpp
M libc/src/math/nvptx/acosf.cpp
M libc/src/math/nvptx/acosh.cpp
M libc/src/math/nvptx/acoshf.cpp
M libc/src/math/nvptx/asin.cpp
M libc/src/math/nvptx/asinf.cpp
M libc/src/math/nvptx/asinh.cpp
M libc/src/math/nvptx/asinhf.cpp
M libc/src/math/nvptx/atan.cpp
M libc/src/math/nvptx/atan2.cpp
M libc/src/math/nvptx/atan2f.cpp
M libc/src/math/nvptx/atanf.cpp
M libc/src/math/nvptx/atanh.cpp
M libc/src/math/nvptx/atanhf.cpp
M libc/src/math/nvptx/ceil.cpp
M libc/src/math/nvptx/ceilf.cpp
M libc/src/math/nvptx/copysign.cpp
M libc/src/math/nvptx/copysignf.cpp
M libc/src/math/nvptx/cos.cpp
M libc/src/math/nvptx/cosf.cpp
M libc/src/math/nvptx/cosh.cpp
M libc/src/math/nvptx/coshf.cpp
M libc/src/math/nvptx/declarations.h
M libc/src/math/nvptx/erf.cpp
M libc/src/math/nvptx/erff.cpp
M libc/src/math/nvptx/exp.cpp
M libc/src/math/nvptx/exp10.cpp
M libc/src/math/nvptx/exp10f.cpp
M libc/src/math/nvptx/exp2.cpp
M libc/src/math/nvptx/exp2f.cpp
M libc/src/math/nvptx/expf.cpp
M libc/src/math/nvptx/expm1.cpp
M libc/src/math/nvptx/expm1f.cpp
M libc/src/math/nvptx/fabs.cpp
M libc/src/math/nvptx/fabsf.cpp
M libc/src/math/nvptx/fdim.cpp
M libc/src/math/nvptx/fdimf.cpp
M libc/src/math/nvptx/floor.cpp
M libc/src/math/nvptx/floorf.cpp
M libc/src/math/nvptx/fma.cpp
M libc/src/math/nvptx/fmaf.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/src/math/nvptx/fmod.cpp
M libc/src/math/nvptx/fmodf.cpp
M libc/src/math/nvptx/frexp.cpp
M libc/src/math/nvptx/frexpf.cpp
M libc/src/math/nvptx/hypot.cpp
M libc/src/math/nvptx/hypotf.cpp
M libc/src/math/nvptx/ilogb.cpp
M libc/src/math/nvptx/ilogbf.cpp
M libc/src/math/nvptx/ldexp.cpp
M libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/log.cpp
M libc/src/math/nvptx/log10.cpp
M libc/src/math/nvptx/log10f.cpp
M libc/src/math/nvptx/log1p.cpp
M libc/src/math/nvptx/log1pf.cpp
M libc/src/math/nvptx/log2.cpp
M libc/src/math/nvptx/log2f.cpp
M libc/src/math/nvptx/logb.cpp
M libc/src/math/nvptx/logbf.cpp
M libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
M libc/src/math/nvptx/lrintf.cpp
M libc/src/math/nvptx/nearbyint.cpp
M libc/src/math/nvptx/nearbyintf.cpp
M libc/src/math/nvptx/nextafter.cpp
M libc/src/math/nvptx/nextafterf.cpp
M libc/src/math/nvptx/nvptx.h
M libc/src/math/nvptx/pow.cpp
M libc/src/math/nvptx/powf.cpp
M libc/src/math/nvptx/powi.cpp
M libc/src/math/nvptx/powif.cpp
M libc/src/math/nvptx/remainder.cpp
M libc/src/math/nvptx/remainderf.cpp
M libc/src/math/nvptx/remquo.cpp
M libc/src/math/nvptx/remquof.cpp
M libc/src/math/nvptx/rint.cpp
M libc/src/math/nvptx/rintf.cpp
M libc/src/math/nvptx/round.cpp
M libc/src/math/nvptx/roundf.cpp
M libc/src/math/nvptx/scalbn.cpp
M libc/src/math/nvptx/scalbnf.cpp
M libc/src/math/nvptx/sin.cpp
M libc/src/math/nvptx/sincos.cpp
M libc/src/math/nvptx/sincosf.cpp
M libc/src/math/nvptx/sinf.cpp
M libc/src/math/nvptx/sinh.cpp
M libc/src/math/nvptx/sinhf.cpp
M libc/src/math/nvptx/sqrt.cpp
M libc/src/math/nvptx/sqrtf.cpp
M libc/src/math/nvptx/tan.cpp
M libc/src/math/nvptx/tanf.cpp
M libc/src/math/nvptx/tanh.cpp
M libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/math/nvptx/trunc.cpp
M libc/src/math/nvptx/truncf.cpp
M libc/src/math/pow.h
M libc/src/math/powf.h
M libc/src/math/powi.h
M libc/src/math/powif.h
M libc/src/math/remainder.h
M libc/src/math/remainderf.h
M libc/src/math/remainderf16.h
M libc/src/math/remainderl.h
M libc/src/math/remquo.h
M libc/src/math/remquof.h
M libc/src/math/remquof128.h
M libc/src/math/remquof16.h
M libc/src/math/remquol.h
M libc/src/math/rint.h
M libc/src/math/rintf.h
M libc/src/math/rintf128.h
M libc/src/math/rintf16.h
M libc/src/math/rintl.h
M libc/src/math/round.h
M libc/src/math/roundeven.h
M libc/src/math/roundevenf.h
M libc/src/math/roundevenf128.h
M libc/src/math/roundevenf16.h
M libc/src/math/roundevenl.h
M libc/src/math/roundf.h
M libc/src/math/roundf128.h
M libc/src/math/roundf16.h
M libc/src/math/roundl.h
M libc/src/math/scalblnf16.h
M libc/src/math/scalbn.h
M libc/src/math/scalbnf.h
M libc/src/math/scalbnf128.h
M libc/src/math/scalbnf16.h
M libc/src/math/scalbnl.h
M libc/src/math/setpayloadf16.h
M libc/src/math/setpayloadsigf16.h
M libc/src/math/sin.h
M libc/src/math/sincos.h
M libc/src/math/sincosf.h
M libc/src/math/sinf.h
M libc/src/math/sinh.h
M libc/src/math/sinhf.h
M libc/src/math/sinpif.h
M libc/src/math/sqrt.h
M libc/src/math/sqrtf.h
M libc/src/math/sqrtf128.h
M libc/src/math/sqrtl.h
M libc/src/math/tan.h
M libc/src/math/tanf.h
M libc/src/math/tanh.h
M libc/src/math/tanhf.h
M libc/src/math/tgamma.h
M libc/src/math/tgammaf.h
M libc/src/math/totalorderf16.h
M libc/src/math/totalordermagf16.h
M libc/src/math/trunc.h
M libc/src/math/truncf.h
M libc/src/math/truncf128.h
M libc/src/math/truncf16.h
M libc/src/math/truncl.h
M libc/src/math/ufromfp.h
M libc/src/math/ufromfpf.h
M libc/src/math/ufromfpf128.h
M libc/src/math/ufromfpf16.h
M libc/src/math/ufromfpl.h
M libc/src/math/ufromfpx.h
M libc/src/math/ufromfpxf.h
M libc/src/math/ufromfpxf128.h
M libc/src/math/ufromfpxf16.h
M libc/src/math/ufromfpxl.h
M libc/src/network/htonl.cpp
M libc/src/network/htonl.h
M libc/src/network/htons.cpp
M libc/src/network/htons.h
M libc/src/network/ntohl.cpp
M libc/src/network/ntohl.h
M libc/src/network/ntohs.cpp
M libc/src/network/ntohs.h
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_atfork.h
M libc/src/pthread/pthread_attr_destroy.cpp
M libc/src/pthread/pthread_attr_destroy.h
M libc/src/pthread/pthread_attr_getdetachstate.cpp
M libc/src/pthread/pthread_attr_getdetachstate.h
M libc/src/pthread/pthread_attr_getguardsize.cpp
M libc/src/pthread/pthread_attr_getguardsize.h
M libc/src/pthread/pthread_attr_getstack.cpp
M libc/src/pthread/pthread_attr_getstack.h
M libc/src/pthread/pthread_attr_getstacksize.cpp
M libc/src/pthread/pthread_attr_getstacksize.h
M libc/src/pthread/pthread_attr_init.cpp
M libc/src/pthread/pthread_attr_init.h
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setdetachstate.h
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setguardsize.h
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstack.h
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_attr_setstacksize.h
M libc/src/pthread/pthread_condattr_destroy.cpp
M libc/src/pthread/pthread_condattr_destroy.h
M libc/src/pthread/pthread_condattr_getclock.cpp
M libc/src/pthread/pthread_condattr_getclock.h
M libc/src/pthread/pthread_condattr_getpshared.cpp
M libc/src/pthread/pthread_condattr_getpshared.h
M libc/src/pthread/pthread_condattr_init.cpp
M libc/src/pthread/pthread_condattr_init.h
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setclock.h
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_condattr_setpshared.h
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_create.h
M libc/src/pthread/pthread_detach.cpp
M libc/src/pthread/pthread_detach.h
M libc/src/pthread/pthread_equal.cpp
M libc/src/pthread/pthread_equal.h
M libc/src/pthread/pthread_exit.cpp
M libc/src/pthread/pthread_exit.h
M libc/src/pthread/pthread_getname_np.cpp
M libc/src/pthread/pthread_getname_np.h
M libc/src/pthread/pthread_getspecific.cpp
M libc/src/pthread/pthread_getspecific.h
M libc/src/pthread/pthread_join.cpp
M libc/src/pthread/pthread_join.h
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_create.h
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_key_delete.h
M libc/src/pthread/pthread_mutex_destroy.cpp
M libc/src/pthread/pthread_mutex_destroy.h
M libc/src/pthread/pthread_mutex_init.cpp
M libc/src/pthread/pthread_mutex_init.h
M libc/src/pthread/pthread_mutex_lock.cpp
M libc/src/pthread/pthread_mutex_lock.h
M libc/src/pthread/pthread_mutex_unlock.cpp
M libc/src/pthread/pthread_mutex_unlock.h
M libc/src/pthread/pthread_mutexattr.h
M libc/src/pthread/pthread_mutexattr_destroy.cpp
M libc/src/pthread/pthread_mutexattr_destroy.h
M libc/src/pthread/pthread_mutexattr_getpshared.cpp
M libc/src/pthread/pthread_mutexattr_getpshared.h
M libc/src/pthread/pthread_mutexattr_getrobust.cpp
M libc/src/pthread/pthread_mutexattr_getrobust.h
M libc/src/pthread/pthread_mutexattr_gettype.cpp
M libc/src/pthread/pthread_mutexattr_gettype.h
M libc/src/pthread/pthread_mutexattr_init.cpp
M libc/src/pthread/pthread_mutexattr_init.h
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.h
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.h
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_mutexattr_settype.h
M libc/src/pthread/pthread_once.cpp
M libc/src/pthread/pthread_once.h
M libc/src/pthread/pthread_rwlock_destroy.cpp
M libc/src/pthread/pthread_rwlock_destroy.h
M libc/src/pthread/pthread_rwlock_init.cpp
M libc/src/pthread/pthread_rwlock_init.h
M libc/src/pthread/pthread_rwlock_rdlock.cpp
M libc/src/pthread/pthread_rwlock_rdlock.h
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.h
M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
M libc/src/pthread/pthread_rwlock_timedwrlock.h
M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
M libc/src/pthread/pthread_rwlock_tryrdlock.h
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.h
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.h
M libc/src/pthread/pthread_rwlock_wrlock.cpp
M libc/src/pthread/pthread_rwlock_wrlock.h
M libc/src/pthread/pthread_rwlockattr_destroy.cpp
M libc/src/pthread/pthread_rwlockattr_destroy.h
M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
M libc/src/pthread/pthread_rwlockattr_getpshared.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
M libc/src/pthread/pthread_rwlockattr_init.h
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.h
M libc/src/pthread/pthread_self.cpp
M libc/src/pthread/pthread_self.h
M libc/src/pthread/pthread_setname_np.cpp
M libc/src/pthread/pthread_setname_np.h
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/pthread/pthread_setspecific.h
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getcpucount.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/sched/sched_get_priority_max.h
M libc/src/sched/sched_get_priority_min.h
M libc/src/sched/sched_getaffinity.h
M libc/src/sched/sched_getcpucount.h
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_getscheduler.h
M libc/src/sched/sched_rr_get_interval.h
M libc/src/sched/sched_setaffinity.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/src/sched/sched_yield.h
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate.h
M libc/src/search/hcreate_r.cpp
M libc/src/search/hcreate_r.h
M libc/src/search/hdestroy.cpp
M libc/src/search/hdestroy.h
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hdestroy_r.h
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch.h
M libc/src/search/hsearch/global.cpp
M libc/src/search/hsearch/global.h
M libc/src/search/hsearch_r.cpp
M libc/src/search/hsearch_r.h
M libc/src/search/insque.cpp
M libc/src/search/insque.h
M libc/src/search/remque.cpp
M libc/src/search/remque.h
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/src/signal/kill.h
M libc/src/signal/linux/__restore.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/raise.h
M libc/src/signal/sigaction.h
M libc/src/signal/sigaddset.h
M libc/src/signal/sigaltstack.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/signal.h
M libc/src/signal/sigprocmask.h
M libc/src/spawn/file_actions.h
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/spawn/posix_spawn.h
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.h
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.h
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.h
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.h
M libc/src/spawn/posix_spawn_file_actions_init.cpp
M libc/src/spawn/posix_spawn_file_actions_init.h
M libc/src/stdbit/stdc_bit_ceil_uc.cpp
M libc/src/stdbit/stdc_bit_ceil_uc.h
M libc/src/stdbit/stdc_bit_ceil_ui.cpp
M libc/src/stdbit/stdc_bit_ceil_ui.h
M libc/src/stdbit/stdc_bit_ceil_ul.cpp
M libc/src/stdbit/stdc_bit_ceil_ul.h
M libc/src/stdbit/stdc_bit_ceil_ull.cpp
M libc/src/stdbit/stdc_bit_ceil_ull.h
M libc/src/stdbit/stdc_bit_ceil_us.cpp
M libc/src/stdbit/stdc_bit_ceil_us.h
M libc/src/stdbit/stdc_bit_floor_uc.cpp
M libc/src/stdbit/stdc_bit_floor_uc.h
M libc/src/stdbit/stdc_bit_floor_ui.cpp
M libc/src/stdbit/stdc_bit_floor_ui.h
M libc/src/stdbit/stdc_bit_floor_ul.cpp
M libc/src/stdbit/stdc_bit_floor_ul.h
M libc/src/stdbit/stdc_bit_floor_ull.cpp
M libc/src/stdbit/stdc_bit_floor_ull.h
M libc/src/stdbit/stdc_bit_floor_us.cpp
M libc/src/stdbit/stdc_bit_floor_us.h
M libc/src/stdbit/stdc_bit_width_uc.cpp
M libc/src/stdbit/stdc_bit_width_uc.h
M libc/src/stdbit/stdc_bit_width_ui.cpp
M libc/src/stdbit/stdc_bit_width_ui.h
M libc/src/stdbit/stdc_bit_width_ul.cpp
M libc/src/stdbit/stdc_bit_width_ul.h
M libc/src/stdbit/stdc_bit_width_ull.cpp
M libc/src/stdbit/stdc_bit_width_ull.h
M libc/src/stdbit/stdc_bit_width_us.cpp
M libc/src/stdbit/stdc_bit_width_us.h
M libc/src/stdbit/stdc_count_ones_uc.cpp
M libc/src/stdbit/stdc_count_ones_uc.h
M libc/src/stdbit/stdc_count_ones_ui.cpp
M libc/src/stdbit/stdc_count_ones_ui.h
M libc/src/stdbit/stdc_count_ones_ul.cpp
M libc/src/stdbit/stdc_count_ones_ul.h
M libc/src/stdbit/stdc_count_ones_ull.cpp
M libc/src/stdbit/stdc_count_ones_ull.h
M libc/src/stdbit/stdc_count_ones_us.cpp
M libc/src/stdbit/stdc_count_ones_us.h
M libc/src/stdbit/stdc_count_zeros_uc.cpp
M libc/src/stdbit/stdc_count_zeros_uc.h
M libc/src/stdbit/stdc_count_zeros_ui.cpp
M libc/src/stdbit/stdc_count_zeros_ui.h
M libc/src/stdbit/stdc_count_zeros_ul.cpp
M libc/src/stdbit/stdc_count_zeros_ul.h
M libc/src/stdbit/stdc_count_zeros_ull.cpp
M libc/src/stdbit/stdc_count_zeros_ull.h
M libc/src/stdbit/stdc_count_zeros_us.cpp
M libc/src/stdbit/stdc_count_zeros_us.h
M libc/src/stdbit/stdc_first_leading_one_uc.cpp
M libc/src/stdbit/stdc_first_leading_one_uc.h
M libc/src/stdbit/stdc_first_leading_one_ui.cpp
M libc/src/stdbit/stdc_first_leading_one_ui.h
M libc/src/stdbit/stdc_first_leading_one_ul.cpp
M libc/src/stdbit/stdc_first_leading_one_ul.h
M libc/src/stdbit/stdc_first_leading_one_ull.cpp
M libc/src/stdbit/stdc_first_leading_one_ull.h
M libc/src/stdbit/stdc_first_leading_one_us.cpp
M libc/src/stdbit/stdc_first_leading_one_us.h
M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
M libc/src/stdbit/stdc_first_leading_zero_uc.h
M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
M libc/src/stdbit/stdc_first_leading_zero_ui.h
M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
M libc/src/stdbit/stdc_first_leading_zero_ul.h
M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
M libc/src/stdbit/stdc_first_leading_zero_ull.h
M libc/src/stdbit/stdc_first_leading_zero_us.cpp
M libc/src/stdbit/stdc_first_leading_zero_us.h
M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
M libc/src/stdbit/stdc_first_trailing_one_uc.h
M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
M libc/src/stdbit/stdc_first_trailing_one_ui.h
M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
M libc/src/stdbit/stdc_first_trailing_one_ul.h
M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
M libc/src/stdbit/stdc_first_trailing_one_ull.h
M libc/src/stdbit/stdc_first_trailing_one_us.cpp
M libc/src/stdbit/stdc_first_trailing_one_us.h
M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
M libc/src/stdbit/stdc_first_trailing_zero_uc.h
M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ui.h
M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ul.h
M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
M libc/src/stdbit/stdc_first_trailing_zero_ull.h
M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
M libc/src/stdbit/stdc_first_trailing_zero_us.h
M libc/src/stdbit/stdc_has_single_bit_uc.cpp
M libc/src/stdbit/stdc_has_single_bit_uc.h
M libc/src/stdbit/stdc_has_single_bit_ui.cpp
M libc/src/stdbit/stdc_has_single_bit_ui.h
M libc/src/stdbit/stdc_has_single_bit_ul.cpp
M libc/src/stdbit/stdc_has_single_bit_ul.h
M libc/src/stdbit/stdc_has_single_bit_ull.cpp
M libc/src/stdbit/stdc_has_single_bit_ull.h
M libc/src/stdbit/stdc_has_single_bit_us.cpp
M libc/src/stdbit/stdc_has_single_bit_us.h
M libc/src/stdbit/stdc_leading_ones_uc.cpp
M libc/src/stdbit/stdc_leading_ones_uc.h
M libc/src/stdbit/stdc_leading_ones_ui.cpp
M libc/src/stdbit/stdc_leading_ones_ui.h
M libc/src/stdbit/stdc_leading_ones_ul.cpp
M libc/src/stdbit/stdc_leading_ones_ul.h
M libc/src/stdbit/stdc_leading_ones_ull.cpp
M libc/src/stdbit/stdc_leading_ones_ull.h
M libc/src/stdbit/stdc_leading_ones_us.cpp
M libc/src/stdbit/stdc_leading_ones_us.h
M libc/src/stdbit/stdc_leading_zeros_uc.cpp
M libc/src/stdbit/stdc_leading_zeros_uc.h
M libc/src/stdbit/stdc_leading_zeros_ui.cpp
M libc/src/stdbit/stdc_leading_zeros_ui.h
M libc/src/stdbit/stdc_leading_zeros_ul.cpp
M libc/src/stdbit/stdc_leading_zeros_ul.h
M libc/src/stdbit/stdc_leading_zeros_ull.cpp
M libc/src/stdbit/stdc_leading_zeros_ull.h
M libc/src/stdbit/stdc_leading_zeros_us.cpp
M libc/src/stdbit/stdc_leading_zeros_us.h
M libc/src/stdbit/stdc_trailing_ones_uc.cpp
M libc/src/stdbit/stdc_trailing_ones_uc.h
M libc/src/stdbit/stdc_trailing_ones_ui.cpp
M libc/src/stdbit/stdc_trailing_ones_ui.h
M libc/src/stdbit/stdc_trailing_ones_ul.cpp
M libc/src/stdbit/stdc_trailing_ones_ul.h
M libc/src/stdbit/stdc_trailing_ones_ull.cpp
M libc/src/stdbit/stdc_trailing_ones_ull.h
M libc/src/stdbit/stdc_trailing_ones_us.cpp
M libc/src/stdbit/stdc_trailing_ones_us.h
M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
M libc/src/stdbit/stdc_trailing_zeros_uc.h
M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
M libc/src/stdbit/stdc_trailing_zeros_ui.h
M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
M libc/src/stdbit/stdc_trailing_zeros_ul.h
M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
M libc/src/stdbit/stdc_trailing_zeros_ull.h
M libc/src/stdbit/stdc_trailing_zeros_us.cpp
M libc/src/stdbit/stdc_trailing_zeros_us.h
M libc/src/stdfix/abshk.cpp
M libc/src/stdfix/abshk.h
M libc/src/stdfix/abshr.cpp
M libc/src/stdfix/abshr.h
M libc/src/stdfix/absk.cpp
M libc/src/stdfix/absk.h
M libc/src/stdfix/abslk.cpp
M libc/src/stdfix/abslk.h
M libc/src/stdfix/abslr.cpp
M libc/src/stdfix/abslr.h
M libc/src/stdfix/absr.cpp
M libc/src/stdfix/absr.h
M libc/src/stdfix/exphk.cpp
M libc/src/stdfix/exphk.h
M libc/src/stdfix/expk.cpp
M libc/src/stdfix/expk.h
M libc/src/stdfix/roundhk.cpp
M libc/src/stdfix/roundhk.h
M libc/src/stdfix/roundhr.cpp
M libc/src/stdfix/roundhr.h
M libc/src/stdfix/roundk.cpp
M libc/src/stdfix/roundk.h
M libc/src/stdfix/roundlk.cpp
M libc/src/stdfix/roundlk.h
M libc/src/stdfix/roundlr.cpp
M libc/src/stdfix/roundlr.h
M libc/src/stdfix/roundr.cpp
M libc/src/stdfix/roundr.h
M libc/src/stdfix/rounduhk.cpp
M libc/src/stdfix/rounduhk.h
M libc/src/stdfix/rounduhr.cpp
M libc/src/stdfix/rounduhr.h
M libc/src/stdfix/rounduk.cpp
M libc/src/stdfix/rounduk.h
M libc/src/stdfix/roundulk.cpp
M libc/src/stdfix/roundulk.h
M libc/src/stdfix/roundulr.cpp
M libc/src/stdfix/roundulr.h
M libc/src/stdfix/roundur.cpp
M libc/src/stdfix/roundur.h
M libc/src/stdfix/sqrtuhk.cpp
M libc/src/stdfix/sqrtuhk.h
M libc/src/stdfix/sqrtuhr.cpp
M libc/src/stdfix/sqrtuhr.h
M libc/src/stdfix/sqrtuk.cpp
M libc/src/stdfix/sqrtuk.h
M libc/src/stdfix/sqrtulr.cpp
M libc/src/stdfix/sqrtulr.h
M libc/src/stdfix/sqrtur.cpp
M libc/src/stdfix/sqrtur.h
M libc/src/stdfix/uhksqrtus.cpp
M libc/src/stdfix/uhksqrtus.h
M libc/src/stdfix/uksqrtui.cpp
M libc/src/stdfix/uksqrtui.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/remove.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/clearerr.h
M libc/src/stdio/clearerr_unlocked.h
M libc/src/stdio/fclose.h
M libc/src/stdio/fdopen.h
M libc/src/stdio/feof.h
M libc/src/stdio/feof_unlocked.h
M libc/src/stdio/ferror.h
M libc/src/stdio/ferror_unlocked.h
M libc/src/stdio/fflush.h
M libc/src/stdio/fgetc.h
M libc/src/stdio/fgetc_unlocked.h
M libc/src/stdio/fgets.h
M libc/src/stdio/fileno.h
M libc/src/stdio/flockfile.cpp
M libc/src/stdio/flockfile.h
M libc/src/stdio/fopen.h
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/fopencookie.h
M libc/src/stdio/fprintf.cpp
M libc/src/stdio/fprintf.h
M libc/src/stdio/fputc.h
M libc/src/stdio/fputs.h
M libc/src/stdio/fread.h
M libc/src/stdio/fread_unlocked.h
M libc/src/stdio/fscanf.cpp
M libc/src/stdio/fscanf.h
M libc/src/stdio/fseek.h
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftell.h
M libc/src/stdio/ftello.h
M libc/src/stdio/funlockfile.cpp
M libc/src/stdio/funlockfile.h
M libc/src/stdio/fwrite.h
M libc/src/stdio/fwrite_unlocked.h
M libc/src/stdio/generic/clearerr.cpp
M libc/src/stdio/generic/clearerr_unlocked.cpp
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/feof.cpp
M libc/src/stdio/generic/feof_unlocked.cpp
M libc/src/stdio/generic/ferror.cpp
M libc/src/stdio/generic/ferror_unlocked.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fileno.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
M libc/src/stdio/generic/printf.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/generic/ungetc.cpp
M libc/src/stdio/generic/vprintf.cpp
M libc/src/stdio/getc.h
M libc/src/stdio/getc_unlocked.h
M libc/src/stdio/getchar.h
M libc/src/stdio/getchar_unlocked.h
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/printf.h
M libc/src/stdio/printf_core/char_converter.h
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_main.cpp
M libc/src/stdio/printf_core/printf_main.h
M libc/src/stdio/printf_core/ptr_converter.h
M libc/src/stdio/printf_core/string_converter.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdio/printf_core/writer.cpp
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/putc.h
M libc/src/stdio/putchar.h
M libc/src/stdio/puts.h
M libc/src/stdio/remove.h
M libc/src/stdio/rename.h
M libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf.h
M libc/src/stdio/scanf_core/converter.cpp
M libc/src/stdio/scanf_core/converter.h
M libc/src/stdio/scanf_core/converter_utils.h
M libc/src/stdio/scanf_core/core_structs.h
M libc/src/stdio/scanf_core/current_pos_converter.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/float_converter.h
M libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/int_converter.h
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.h
M libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/scanf_main.cpp
M libc/src/stdio/scanf_core/scanf_main.h
M libc/src/stdio/scanf_core/string_converter.cpp
M libc/src/stdio/scanf_core/string_converter.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setbuf.h
M libc/src/stdio/setvbuf.cpp
M libc/src/stdio/setvbuf.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/snprintf.h
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/sprintf.h
M libc/src/stdio/sscanf.cpp
M libc/src/stdio/sscanf.h
M libc/src/stdio/ungetc.h
M libc/src/stdio/vfprintf.cpp
M libc/src/stdio/vfprintf.h
M libc/src/stdio/vprintf.h
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsnprintf.h
M libc/src/stdio/vsprintf.cpp
M libc/src/stdio/vsprintf.h
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/_Exit.h
M libc/src/stdlib/abort.h
M libc/src/stdlib/abs.cpp
M libc/src/stdlib/abs.h
M libc/src/stdlib/aligned_alloc.h
M libc/src/stdlib/at_quick_exit.cpp
M libc/src/stdlib/at_quick_exit.h
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/atexit.h
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atof.h
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atoi.h
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atol.h
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/atoll.h
M libc/src/stdlib/baremetal/abort.cpp
M libc/src/stdlib/bsearch.cpp
M libc/src/stdlib/bsearch.h
M libc/src/stdlib/calloc.h
M libc/src/stdlib/div.cpp
M libc/src/stdlib/div.h
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/exit.h
M libc/src/stdlib/exit_handler.cpp
M libc/src/stdlib/exit_handler.h
M libc/src/stdlib/free.h
M libc/src/stdlib/freelist_malloc.cpp
M libc/src/stdlib/getenv.cpp
M libc/src/stdlib/getenv.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/free.cpp
M libc/src/stdlib/gpu/malloc.cpp
M libc/src/stdlib/labs.cpp
M libc/src/stdlib/labs.h
M libc/src/stdlib/ldiv.cpp
M libc/src/stdlib/ldiv.h
M libc/src/stdlib/linux/abort.cpp
M libc/src/stdlib/llabs.cpp
M libc/src/stdlib/llabs.h
M libc/src/stdlib/lldiv.cpp
M libc/src/stdlib/lldiv.h
M libc/src/stdlib/malloc.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_r.h
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_exit.cpp
M libc/src/stdlib/quick_exit.h
M libc/src/stdlib/rand.cpp
M libc/src/stdlib/rand.h
M libc/src/stdlib/rand_util.cpp
M libc/src/stdlib/rand_util.h
M libc/src/stdlib/realloc.h
M libc/src/stdlib/srand.cpp
M libc/src/stdlib/srand.h
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfromf.h
M libc/src/stdlib/strfroml.cpp
M libc/src/stdlib/strfroml.h
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod.h
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof.h
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol.h
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold.h
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll.h
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul.h
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull.h
M libc/src/string/allocating_string_utils.h
M libc/src/string/bcmp.cpp
M libc/src/string/bcmp.h
M libc/src/string/bcopy.cpp
M libc/src/string/bcopy.h
M libc/src/string/bzero.cpp
M libc/src/string/bzero.h
M libc/src/string/index.cpp
M libc/src/string/index.h
M libc/src/string/memccpy.cpp
M libc/src/string/memccpy.h
M libc/src/string/memchr.cpp
M libc/src/string/memchr.h
M libc/src/string/memcmp.cpp
M libc/src/string/memcmp.h
M libc/src/string/memcpy.cpp
M libc/src/string/memcpy.h
M libc/src/string/memmem.cpp
M libc/src/string/memmem.h
M libc/src/string/memmove.cpp
M libc/src/string/memmove.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/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/generic/aligned_access.h
M libc/src/string/memory_utils/generic/builtin.h
M libc/src/string/memory_utils/generic/byte_per_byte.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_bzero.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/inline_memmem.h
M libc/src/string/memory_utils/inline_memmove.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/inline_strcmp.h
M libc/src/string/memory_utils/inline_strstr.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/op_riscv.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/riscv/inline_bcmp.h
M libc/src/string/memory_utils/riscv/inline_memcmp.h
M libc/src/string/memory_utils/riscv/inline_memcpy.h
M libc/src/string/memory_utils/riscv/inline_memmove.h
M libc/src/string/memory_utils/riscv/inline_memset.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
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/src/string/memory_utils/x86_64/inline_memmove.h
M libc/src/string/memory_utils/x86_64/inline_memset.h
M libc/src/string/mempcpy.cpp
M libc/src/string/mempcpy.h
M libc/src/string/memrchr.cpp
M libc/src/string/memrchr.h
M libc/src/string/memset.cpp
M libc/src/string/memset.h
M libc/src/string/memset_explicit.cpp
M libc/src/string/memset_explicit.h
M libc/src/string/rindex.cpp
M libc/src/string/rindex.h
M libc/src/string/stpcpy.cpp
M libc/src/string/stpcpy.h
M libc/src/string/stpncpy.cpp
M libc/src/string/stpncpy.h
M libc/src/string/strcasecmp.cpp
M libc/src/string/strcasecmp.h
M libc/src/string/strcasestr.cpp
M libc/src/string/strcasestr.h
M libc/src/string/strcat.cpp
M libc/src/string/strcat.h
M libc/src/string/strchr.cpp
M libc/src/string/strchr.h
M libc/src/string/strchrnul.cpp
M libc/src/string/strchrnul.h
M libc/src/string/strcmp.cpp
M libc/src/string/strcmp.h
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll.h
M libc/src/string/strcpy.cpp
M libc/src/string/strcpy.h
M libc/src/string/strcspn.cpp
M libc/src/string/strcspn.h
M libc/src/string/strdup.cpp
M libc/src/string/strdup.h
M libc/src/string/strerror.cpp
M libc/src/string/strerror.h
M libc/src/string/strerror_r.cpp
M libc/src/string/strerror_r.h
M libc/src/string/string_utils.h
M libc/src/string/strlcat.cpp
M libc/src/string/strlcat.h
M libc/src/string/strlcpy.cpp
M libc/src/string/strlcpy.h
M libc/src/string/strlen.cpp
M libc/src/string/strlen.h
M libc/src/string/strncasecmp.cpp
M libc/src/string/strncasecmp.h
M libc/src/string/strncat.cpp
M libc/src/string/strncat.h
M libc/src/string/strncmp.cpp
M libc/src/string/strncmp.h
M libc/src/string/strncpy.cpp
M libc/src/string/strncpy.h
M libc/src/string/strndup.cpp
M libc/src/string/strndup.h
M libc/src/string/strnlen.cpp
M libc/src/string/strnlen.h
M libc/src/string/strpbrk.cpp
M libc/src/string/strpbrk.h
M libc/src/string/strrchr.cpp
M libc/src/string/strrchr.h
M libc/src/string/strsep.cpp
M libc/src/string/strsep.h
M libc/src/string/strsignal.cpp
M libc/src/string/strsignal.h
M libc/src/string/strspn.cpp
M libc/src/string/strspn.h
M libc/src/string/strstr.cpp
M libc/src/string/strstr.h
M libc/src/string/strtok.cpp
M libc/src/string/strtok.h
M libc/src/string/strtok_r.cpp
M libc/src/string/strtok_r.h
M libc/src/string/strxfrm.cpp
M libc/src/string/strxfrm.h
M libc/src/sys/auxv/getauxval.h
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/epoll_create.h
M libc/src/sys/epoll/epoll_create1.h
M libc/src/sys/epoll/epoll_ctl.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_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
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/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/posix_madvise.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/sys/mman/madvise.h
M libc/src/sys/mman/mincore.h
M libc/src/sys/mman/mlock.h
M libc/src/sys/mman/mlock2.h
M libc/src/sys/mman/mlockall.h
M libc/src/sys/mman/mmap.h
M libc/src/sys/mman/mprotect.h
M libc/src/sys/mman/msync.h
M libc/src/sys/mman/munlock.h
M libc/src/sys/mman/munlockall.h
M libc/src/sys/mman/munmap.h
M libc/src/sys/mman/posix_madvise.h
M libc/src/sys/mman/shm_open.h
M libc/src/sys/mman/shm_unlink.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/prctl/prctl.h
M libc/src/sys/random/getrandom.h
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/getrlimit.h
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/resource/setrlimit.h
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/select/select.h
M libc/src/sys/sendfile/linux/sendfile.cpp
M libc/src/sys/sendfile/sendfile.h
M libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/socket.h
M libc/src/sys/stat/chmod.h
M libc/src/sys/stat/fchmod.h
M libc/src/sys/stat/fchmodat.h
M libc/src/sys/stat/fstat.h
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/kernel_statx.h
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/stat/lstat.h
M libc/src/sys/stat/mkdir.h
M libc/src/sys/stat/mkdirat.h
M libc/src/sys/stat/stat.h
M libc/src/sys/statvfs/fstatvfs.h
M libc/src/sys/statvfs/linux/fstatvfs.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/statvfs/linux/statvfs.cpp
M libc/src/sys/statvfs/statvfs.h
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/utsname/uname.h
M libc/src/sys/wait/linux/wait.cpp
M libc/src/sys/wait/linux/wait4.cpp
M libc/src/sys/wait/linux/waitpid.cpp
M libc/src/sys/wait/wait.h
M libc/src/sys/wait/wait4.h
M libc/src/sys/wait/wait4Impl.h
M libc/src/sys/wait/waitpid.h
M libc/src/termios/cfgetispeed.h
M libc/src/termios/cfgetospeed.h
M libc/src/termios/cfsetispeed.h
M libc/src/termios/cfsetospeed.h
M libc/src/termios/linux/cfgetispeed.cpp
M libc/src/termios/linux/cfgetospeed.cpp
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/kernel_termios.h
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/termios/tcdrain.h
M libc/src/termios/tcflow.h
M libc/src/termios/tcflush.h
M libc/src/termios/tcgetattr.h
M libc/src/termios/tcgetsid.h
M libc/src/termios/tcsendbreak.h
M libc/src/termios/tcsetattr.h
M libc/src/threads/call_once.cpp
M libc/src/threads/call_once.h
M libc/src/threads/cnd_broadcast.h
M libc/src/threads/cnd_destroy.h
M libc/src/threads/cnd_init.h
M libc/src/threads/cnd_signal.h
M libc/src/threads/cnd_wait.h
M libc/src/threads/linux/Futex.h
M libc/src/threads/linux/cnd_broadcast.cpp
M libc/src/threads/linux/cnd_destroy.cpp
M libc/src/threads/linux/cnd_init.cpp
M libc/src/threads/linux/cnd_signal.cpp
M libc/src/threads/linux/cnd_wait.cpp
M libc/src/threads/mtx_destroy.cpp
M libc/src/threads/mtx_destroy.h
M libc/src/threads/mtx_init.cpp
M libc/src/threads/mtx_init.h
M libc/src/threads/mtx_lock.cpp
M libc/src/threads/mtx_lock.h
M libc/src/threads/mtx_unlock.cpp
M libc/src/threads/mtx_unlock.h
M libc/src/threads/thrd_create.cpp
M libc/src/threads/thrd_create.h
M libc/src/threads/thrd_current.cpp
M libc/src/threads/thrd_current.h
M libc/src/threads/thrd_detach.cpp
M libc/src/threads/thrd_detach.h
M libc/src/threads/thrd_equal.cpp
M libc/src/threads/thrd_equal.h
M libc/src/threads/thrd_exit.cpp
M libc/src/threads/thrd_exit.h
M libc/src/threads/thrd_join.cpp
M libc/src/threads/thrd_join.h
M libc/src/threads/tss_create.cpp
M libc/src/threads/tss_create.h
M libc/src/threads/tss_delete.cpp
M libc/src/threads/tss_delete.h
M libc/src/threads/tss_get.cpp
M libc/src/threads/tss_get.h
M libc/src/threads/tss_set.cpp
M libc/src/threads/tss_set.h
M libc/src/time/asctime.cpp
M libc/src/time/asctime.h
M libc/src/time/asctime_r.cpp
M libc/src/time/asctime_r.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/difftime.cpp
M libc/src/time/difftime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gmtime.cpp
M libc/src/time/gmtime.h
M libc/src/time/gmtime_r.cpp
M libc/src/time/gmtime_r.h
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/mktime.cpp
M libc/src/time/mktime.h
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
M libc/src/time/time_utils.cpp
M libc/src/time/time_utils.h
M libc/src/unistd/_exit.cpp
M libc/src/unistd/_exit.h
M libc/src/unistd/access.h
M libc/src/unistd/chdir.h
M libc/src/unistd/close.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/environ.cpp
M libc/src/unistd/environ.h
M libc/src/unistd/execv.h
M libc/src/unistd/execve.h
M libc/src/unistd/fchdir.h
M libc/src/unistd/fork.h
M libc/src/unistd/fpathconf.h
M libc/src/unistd/fsync.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linkat.h
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fpathconf.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/geteuid.cpp
M libc/src/unistd/linux/getpid.cpp
M libc/src/unistd/linux/getppid.cpp
M libc/src/unistd/linux/getuid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pathconf_utils.h
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pathconf.h
M libc/src/unistd/pipe.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/rmdir.h
M libc/src/unistd/swab.cpp
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/unlink.h
M libc/src/unistd/unlinkat.h
M libc/src/unistd/write.h
M libc/src/wchar/btowc.cpp
M libc/src/wchar/btowc.h
M libc/src/wchar/wctob.cpp
M libc/src/wchar/wctob.h
M libc/startup/baremetal/fini.cpp
M libc/startup/baremetal/init.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/do_start.cpp
M libc/startup/linux/do_start.h
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/tls.cpp
M libc/test/IntegrationTest/test.cpp
M libc/test/UnitTest/BazelFilePath.cpp
M libc/test/UnitTest/CmakeFilePath.cpp
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPExceptMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/GTest.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/UnitTest/PrintfMatcher.h
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/RoundingModeUtils.h
M libc/test/UnitTest/ScanfMatcher.cpp
M libc/test/UnitTest/ScanfMatcher.h
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/UnitTest/TestLogger.h
M libc/test/UnitTest/ZxTest.h
M libc/test/include/sys/queue_test.cpp
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
M libc/test/src/__support/CPP/algorithm_test.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/cstddef_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/__support/HashTable/bitmask_test.cpp
M libc/test/src/__support/HashTable/group_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/endian_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_long_double_test.cpp
M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
M libc/test/src/math/performance_testing/CMakeLists.txt
M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
M libc/test/src/math/performance_testing/Timer.cpp
M libc/test/src/math/performance_testing/Timer.h
M libc/test/src/math/sdcomp26094.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/string/bcmp_test.cpp
M libc/test/src/string/bcopy_test.cpp
M libc/test/src/string/bzero_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmem_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_explicit_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/time/TmHelper.h
M libc/test/src/time/TmMatcher.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)
This is a part of #97655.
Commit: c6e996a931f810db9b43c24f74931cea79337511
https://github.com/llvm/llvm-project/commit/c6e996a931f810db9b43c24f74931cea79337511
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
Reapply "[Clang] Fix __is_trivially_equality_comparable returning true with ineligebile defaulted overloads" (#97002) (#97894)
This reverts commit 567b2c608c307c097315dd5ec4d6a5bbcddf898d.
Commit: 19a9f22c17c3e46f49095c71e6922b4a1deae567
https://github.com/llvm/llvm-project/commit/19a9f22c17c3e46f49095c71e6922b4a1deae567
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
[asan] Enabled alloc_dealloc_mismatch in new test
It's required for some test cases,
but off by default on some platforms.
Follow up to #96749.
Commit: 58bc98cd3abd72226cdbaa05bd92af9598d491db
https://github.com/llvm/llvm-project/commit/58bc98cd3abd72226cdbaa05bd92af9598d491db
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
M llvm/unittests/IR/LegacyPassManagerTest.cpp
Log Message:
-----------
[CallGraphUpdater] Remove some legacy pass manager support (#98362)
We don't have any legacy pass manager CGSCC passes that modify the call
graph (we only use it in the codegen pipeline to run function passes in
call graph order). This is the beginning of removing CallGraphUpdater
and making all the relevant CGSCC passes directly use the new pass
manager APIs.
Commit: b3f5c7247de936dcc943381219d4a0ef448ac592
https://github.com/llvm/llvm-project/commit/b3f5c7247de936dcc943381219d4a0ef448ac592
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
AMDGPU: Assume true in getVOPNIsSingle helpers (#98516)
If we have something we don't know what it is, we should conservatively
avoid printing an additional suffix. For isCodeGenOnly
pseudoinstructions,
no encoded instruction is added to the tables this is queried, and the
null
case would assume true.
This happens to fix the case I ran into, but this isn't a wholistic fix.
These really should be encoded directly in the TSFlags of the
MCInstrDesc,
which would allow encoding pseudos to work correctly.
Commit: e34e739ba88fed7450d232e29b523d247af365ec
https://github.com/llvm/llvm-project/commit/e34e739ba88fed7450d232e29b523d247af365ec
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/masked-directive.f90
A flang/test/Lower/OpenMP/masked.f90
Log Message:
-----------
Adding Changes for invoking Masked Operation (#98423)
PR adds changes to the flang frontend to create the `MaskedOp` when
`masked` directive is used in the input program. Omp masked is
introduced in 5.2 standard and allows a parallel region to be executed
by threads specified by a programmer. This is achieved with the help of
filter clause which helps to specify thread id expected to execute the
region.
Other related PRs:
- [Fortran Parsing and Semantic
Support](https://github.com/llvm/llvm-project/pull/91432) - Merged
- [MLIR Support](https://github.com/llvm/llvm-project/pull/96022/files)
- Merged
- [Lowering Support](https://github.com/llvm/llvm-project/pull/98401) -
Under Review
Commit: d5ff21d58a4610af9e8120acfb318aecdebcee95
https://github.com/llvm/llvm-project/commit/d5ff21d58a4610af9e8120acfb318aecdebcee95
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
AMDGPU: Use defvar instead of defaulted multiclass argument
Commit: e8734e49e469e44becd90206c8ad726771605c50
https://github.com/llvm/llvm-project/commit/e8734e49e469e44becd90206c8ad726771605c50
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-freeze.mir
Log Message:
-----------
[GlobalIsel] Improve poison analysis (#93731)
Commit: e3bd43b49e7c59387ce6bbb2bb4f3ef7501b0384
https://github.com/llvm/llvm-project/commit/e3bd43b49e7c59387ce6bbb2bb4f3ef7501b0384
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/header.py
M libc/newhdrgen/tests/expected_output/test_header.h
M libc/newhdrgen/tests/input/test_small.h.def
M libc/newhdrgen/tests/input/test_small.yaml
A libc/newhdrgen/tests/output/test_small.h
Log Message:
-----------
[libc] added grouping of guarded functions in header generation (#98532)
Instead of #ifdef guards for each individual function, #ifdef and #endif
will surround all functions that have the same guard.
Commit: fd424179dcb3417fc0675f77d2bf06c750dd1c33
https://github.com/llvm/llvm-project/commit/fd424179dcb3417fc0675f77d2bf06c750dd1c33
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Allow fetching of RA register when above fault handler (#98566)
In RegisterContextUnwind::SavedLocationForRegister we have special logic
for retrieving the Return Address register when it has the caller's
return address in it. An example would be the lr register on AArch64.
This register is never retrieved from a newer stack frame because it is
necessarly overwritten by a normal ABI function call. We allow frame 0
to provide its lr value to get the caller's return address, if it has
not been overwritten/saved to stack yet.
When a function is interrupted asynchronously by a POSIX signal
(sigtramp), or a fault handler more generally, the sigtramp/fault
handler has the entire register context available. In this situation, if
the fault handler is frame 0, the function that was async interrupted is
frame 1 and frame 2's return address may still be stored in lr. We need
to get the lr value for frame 1 from the fault handler in frame 0, to
get the return address for frame 2.
Without this fix, a frameless function that faults in a firmware
environment (that's where we've seen this issue most commonly) hasn't
spilled lr to stack, so we need to retrieve it from the fault handler's
full-register-context to find the caller of the frameless function that
faulted.
It's an unsurprising fix, all of the work was finding exactly where in
RegisterContextUnwind we were only allowing RA register use for frame 0,
when it should have been frame 0 or above a fault handler function.
rdar://127518945
Commit: 9e452c1af430e5090de92aebfe422abbf5e51ff3
https://github.com/llvm/llvm-project/commit/9e452c1af430e5090de92aebfe422abbf5e51ff3
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/__support/blockstore.h
M libc/test/src/__support/blockstore_test.cpp
Log Message:
-----------
[libc] Add erase function to blockstore (#97641)
This adds the ability to erase a value from a blockstore based on an
iterator. For usability/testing purposes it also includes an addition
operator for blockstore's iterator.
Commit: ebfb76ee454a11b047779cad65d719213833e094
https://github.com/llvm/llvm-project/commit/ebfb76ee454a11b047779cad65d719213833e094
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/__support/blockstore.h
M libc/test/src/__support/blockstore_test.cpp
Log Message:
-----------
Revert "[libc] Add erase function to blockstore" (#98669)
Reverts llvm/llvm-project#97641
Fails under sanitizers
Commit: a31b3de9285b77de60521c94f176493ddfb1127c
https://github.com/llvm/llvm-project/commit/a31b3de9285b77de60521c94f176493ddfb1127c
Author: Nathan James <n.james93 at hotmail.co.uk>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
Log Message:
-----------
Fix the docs for the boost/modernize use-ranges checks (#98662)
The formatting looked a little off in the Release notes webpage. This
should address those issues
Commit: b9852ff5fc4986c6cf8c4ecd1eb5726d55a08ea3
https://github.com/llvm/llvm-project/commit/b9852ff5fc4986c6cf8c4ecd1eb5726d55a08ea3
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
Log Message:
-----------
[clang-tidy] Ignore requires expr in bugprone-assignment-in-if-condition (#98079)
Ignore assignments in RequiresExpr, to avoid false positives.
Fixes #97972
Commit: 280eadd5280ac77a1c4828c1b7919e543d01258e
https://github.com/llvm/llvm-project/commit/280eadd5280ac77a1c4828c1b7919e543d01258e
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/__support/macros/config.h
Log Message:
-----------
[libc] Remove `config.h` self-inclusion (#98670)
This was accidentally introduced in #98597.
Commit: a288d8dad3b3f459bce3f908cd564f2963060642
https://github.com/llvm/llvm-project/commit/a288d8dad3b3f459bce3f908cd564f2963060642
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/i128.ll
R llvm/test/CodeGen/NVPTX/libcall-fulfilled.ll
R llvm/test/CodeGen/NVPTX/libcall-instruction.ll
R llvm/test/CodeGen/NVPTX/libcall-intrinsic.ll
Log Message:
-----------
[NVPTX] Enable i128 support in the NVPTX backend (#98658)
Summary:
The target information needs to configure that the platform has a
maximum integer size of 64 in order for it to enable i128 support. The
motivation behind this patch is that the i128 libcalls seem to be the
only ones used by the NVPTX backend and it would be ideal to disable
those completely. That would allow LTO to optimize libcalls properly
after https://github.com/llvm/llvm-project/pull/98512.
Commit: bb8230bb2bcc9b68fbe9b9c02ac1c85dee4c80a0
https://github.com/llvm/llvm-project/commit/bb8230bb2bcc9b68fbe9b9c02ac1c85dee4c80a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M compiler-rt/lib/asan/asan_preinit.cpp
M compiler-rt/lib/hwasan/hwasan_preinit.cpp
M compiler-rt/lib/lsan/lsan_preinit.cpp
M compiler-rt/lib/memprof/memprof_preinit.cpp
M compiler-rt/lib/rtsan/rtsan_preinit.cpp
M compiler-rt/lib/tsan/rtl/tsan_preinit.cpp
M compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cpp
M compiler-rt/test/tsan/Linux/check_preinit.cpp
Log Message:
-----------
[sanitizer] Internalize .preinit_array variables
We can use an internal linkage variable to make it clear the variable is
not exported. The special section .preinit_array is a GC root.
Pull Request: https://github.com/llvm/llvm-project/pull/98584
Commit: d1dc5047f1127d64eb82eec976fabaa2d9d20c11
https://github.com/llvm/llvm-project/commit/d1dc5047f1127d64eb82eec976fabaa2d9d20c11
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M compiler-rt/lib/asan/asan_preinit.cpp
Log Message:
-----------
[asan] Fix a comment
Commit: d7fd8b19e560fbb613159625acd8046d0df75115
https://github.com/llvm/llvm-project/commit/d7fd8b19e560fbb613159625acd8046d0df75115
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/openbsd-phdr.s
A lld/test/ELF/relro-openbsd.s
M lld/test/ELF/relro.s
Log Message:
-----------
[LLD] Extend special OpenBSD support, but scope under ELFOSABI (#97122)
- Add support for `.openbsd.mutable`
(rebaser's note) adapted from:
https://github.com/openbsd/src/commit/bd249b5664da50f0178adea78250a7a0d8ea6566
New auto-coalescing sections removed
In the linkers, collect objects in section "openbsd.mutable" and place
them into a page-aligned region in the bss, with the right markers for
kernel/ld.so to identify the region and skip making it immutable. While
here, fix readelf/objdump versions to show all of this. ok miod kettenis
- Add support for `.openbsd.syscalls`
(rebaser's note) adapted from:
https://github.com/openbsd/src/commit/42a61acefa8b3288ff2163fb55e934a3fee39974
Collect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS
segment. This will be used soon to pin system calls to designated call
sites.
ok deraadt@
- Scope OpenBSD special section handling under that ELFOSABI
As a preexisting comment in `ELF/Writer.cpp` says:
> section names shouldn't be significant in ELF in spirit.
so scoping OSABI-specific magic name hacks to just the OSABI in
question limits the degree to which we deviate from that "spirit" for
all other OSABIs.
OpenBSD in particular is very fast moving, having added a number of
special sections, etc. in recent years. It is unclear how possible /
reasonable it is for upstream to implement all these features in any
event, but scoping like this at least mitigates the fallout for other
OSABIs systems which wish to be more slow-moving.
Co-authored-by: deraadt <deraadt at openbsd.org>
Commit: 9a3cd0ee8f4cfa257ab22949dd709db230ef7e4f
https://github.com/llvm/llvm-project/commit/9a3cd0ee8f4cfa257ab22949dd709db230ef7e4f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Add matchers for `m_{I,F,}Cmp` and `m_{I,F,}SpecificCmp`; NFC
These matchers either take no predicate argument or match a specific
predicate respectively.
We have a lot of cases where the Pred argument is either unused and
requiring the argument reduces code clarity.
Likewise we have a lot of cases where we only pass in Pred to test
equality which the new `*Specific*` helpers can simplify.
Closes #98282
Commit: 3cf4a508f4b929c794d46ab25b4d42bae5bbf219
https://github.com/llvm/llvm-project/commit/3cf4a508f4b929c794d46ab25b4d42bae5bbf219
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
Log Message:
-----------
[InstCombine] Add tests for transforming `(or/and (icmp eq/ne X,0),(icmp eq/ne X,Pow2OrZero))`; NFC
Commit: 52727626afb7ea702a41c1754a7d45924f9fecb2
https://github.com/llvm/llvm-project/commit/52727626afb7ea702a41c1754a7d45924f9fecb2
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
Log Message:
-----------
[InstCombine] Add transforms for `(or/and (icmp eq/ne X,0),(icmp eq/ne X,Pow2OrZero))`
`(or (icmp eq X, 0), (icmp eq X, Pow2OrZero))`
--> `(icmp eq (and X, Pow2OrZero), X)`
`(and (icmp ne X, 0), (icmp ne X, Pow2OrZero))`
--> `(icmp ne (and X, Pow2OrZero), X)`
Proofs: https://alive2.llvm.org/ce/z/nPo2BN
Closes #94648
Commit: b96c0123fd09cd8e68a6bc500eb30417f8e96228
https://github.com/llvm/llvm-project/commit/b96c0123fd09cd8e68a6bc500eb30417f8e96228
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/MC/MCELFStreamer.cpp
Log Message:
-----------
[MC] Use range-based for loops (NFC) (#98604)
Commit: 73dad7a765226bd7ade98f85d050e80f411f6dad
https://github.com/llvm/llvm-project/commit/73dad7a765226bd7ade98f85d050e80f411f6dad
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
Log Message:
-----------
[LLDB] Fix remote executables load and caching (#98623)
Seemingly, #96256 removed the only call to
Platform::GetCachedExecutable, which broke the resolution of executable
modules in the remote debugging mode
(https://github.com/llvm/llvm-project/issues/97410).
This commit fixes that.
Commit: 7d1b6b2c32f5d403a8eba2c16c6431847041ab87
https://github.com/llvm/llvm-project/commit/7d1b6b2c32f5d403a8eba2c16c6431847041ab87
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
A clang/test/CodeGenCXX/arm64-generated-fn-attr.cpp
Log Message:
-----------
[Clang][ARM][AArch64] Add branch protection attributes to the defaults. (#83277)
These attributes are no longer inherited from the module flags,
therefore need to be added for synthetic functions.
Commit: 0d2621641ca54315dafe8f1aecda6b68db6aa5c8
https://github.com/llvm/llvm-project/commit/0d2621641ca54315dafe8f1aecda6b68db6aa5c8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
A libcxx/test/libcxx/atomics/atomics.syn/wait.issue_85107.pass.cpp
R libcxx/test/libcxx/atomics/atomics.syn/wait.pass.cpp
Log Message:
-----------
[libc++] Make sure the test for compare-and-wait bug doesn't hang forever (#97907)
This patch adds an explicit timeout mechanism in the compare-and-wait
test for std::atomic, ensuring that it doesn't run forever when the bug
is present. This is not an issue when we run inside the CI because we
specify a timeout manually, but it can be a problem when running
locally, for example.
Commit: 1e96b4ad00f54dfbe9c4b22a95bef5fed0203e07
https://github.com/llvm/llvm-project/commit/1e96b4ad00f54dfbe9c4b22a95bef5fed0203e07
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++][hardening] Use `__builtin_verbose_trap` if it's available. (#84870)
Keep falling back to `__builtin_trap` on older versions of Clang.
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 7f06560edb299de91a960a19505c8da6eaed65e5
https://github.com/llvm/llvm-project/commit/7f06560edb299de91a960a19505c8da6eaed65e5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Semantics/array-constr-len.f90
Log Message:
-----------
[flang] Re-land PR#97337 (#98656)
Pull request https://github.com/llvm/llvm-project/pull/97337 was
reverted by https://github.com/llvm/llvm-project/pull/98612 due
to two failing tests in llvm-test-suite -- which I ran, as always,
but must have bungled or misinterpreted (mea culpa).
The failing tests were llvm-test-suite/Fortran/gfortran/regression/
char_length_{20,21}.f90. They have array constructors with
explicit character types whose dynamic length values are negative
at runtime, which must be interpreted as zero.
This patch extends the original to cover those cases.
Commit: 5b82741a011c1b080ab03dbf70b808bab3813ea9
https://github.com/llvm/llvm-project/commit/5b82741a011c1b080ab03dbf70b808bab3813ea9
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lld/ELF/Driver.cpp
A lld/test/ELF/deplibs-lto.s
Log Message:
-----------
[lld][ELF] Error when deplibs adds new input file after LTO (#98565)
Parsing the new input file's symbols might invalidate LTO codegen, but
the semantics of deplibs require them to be parsed. Accordingly, report
an error unless the file had already been added to the link.
Fixes #56070
Commit: 038c48c1f41119d667fa55e17e040281378071f3
https://github.com/llvm/llvm-project/commit/038c48c1f41119d667fa55e17e040281378071f3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
Log Message:
-----------
[TBAA] Emit distinct TBAA tags for pointers with different depths,types. (#76612)
This patch extends Clang's TBAA generation code to emit distinct tags
for incompatible pointer types.
Pointers with different element types are incompatible if the pointee
types are also incompatible (modulo sugar/modifiers).
Express this in TBAA by generating different tags for pointers based on
the pointer depth and pointee type. To get the TBAA tag for the pointee
type it uses getTypeInfoHelper on the pointee type.
(Moved from https://reviews.llvm.org/D122573)
PR: https://github.com/llvm/llvm-project/pull/76612
Commit: 520e04540501f676580b9b73419265e1951a9c52
https://github.com/llvm/llvm-project/commit/520e04540501f676580b9b73419265e1951a9c52
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
Log Message:
-----------
[AMDGPU] Handle llvm.amdgcn.pops.exiting.wave.id with calls (#98614)
Commit: 3fe8ce390df3a3cdadee3089f158d14c02d07d78
https://github.com/llvm/llvm-project/commit/3fe8ce390df3a3cdadee3089f158d14c02d07d78
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
Log Message:
-----------
[libc++][NFC] Remove outdated comment about overridable_function being in libcxx/include
Commit: 9bd575dd6075994afdbaebf43d2c682bab2d2a16
https://github.com/llvm/llvm-project/commit/9bd575dd6075994afdbaebf43d2c682bab2d2a16
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__config
M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
Log Message:
-----------
[libc++] Deprecate _LIBCPP_ENABLE_ASSERTIONS & friends (#98364)
In LLVM 19, the old xxx_ENABLE_ASSERTIONS settings should be deprecated
with the goal of removing them entirely in LLVM 20.
Commit: eb27256850ad792a287a8547c88410b7cf1bcb42
https://github.com/llvm/llvm-project/commit/eb27256850ad792a287a8547c88410b7cf1bcb42
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/__support/blockstore.h
M libc/test/src/__support/blockstore_test.cpp
Log Message:
-----------
[libc] Add erase function to blockstore (#98674)
Reland of #97641 with sanitizer fixes
This adds the ability to erase a value from a blockstore based on an
iterator. For usability/testing purposes it also includes an addition
operator for blockstore's iterator.
Commit: 5dc371e289584928345f74f560a18a805226b5f8
https://github.com/llvm/llvm-project/commit/5dc371e289584928345f74f560a18a805226b5f8
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
A clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
Log Message:
-----------
[HLSL] Split out resource class data from resource attribute (#98419)
The ability to spell out and specify the resource class is necessary for
testing various resource binding behaviors. Though it is not intended
for users to use this in customized HLSL source code, the ability to
specify the resource class via an attribute is immensely helpful for
writing thorough tests.
This PR introduces a new attribute, hlsl::resource_attribute, that can
only be applied on structs. This attribute only has 1 required argument,
and must be one of:
```
SRV
UAV
CBuffer
Sampler
```
By applying this attribute to a struct, the struct will have the
`HLSLResourceClassAttr` attribute attached to it in the AST
representation, which provides information on the type of resource class
the struct is meant to be.
The resource class data that was originally contained within the
`HLSLResourceAttr` attribute has been removed in favor of this new
attribute, and so certain ast-dump tests need to be modified so that the
same information can be represented via 2 attributes instead of one.
Fixes #98193
---------
Co-authored-by: Damyan Pepper <damyanp at microsoft.com>
Commit: ef8207b579e8b1c242a1c37e00b1615ef95f2220
https://github.com/llvm/llvm-project/commit/ef8207b579e8b1c242a1c37e00b1615ef95f2220
Author: A. Jiang <de34 at live.cn>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libcxx/docs/Status/SpaceshipProjects.csv
Log Message:
-----------
[libc++][docs] LWG3380 made the status of P1614R2 in [meta.trans.other] "Nothing To Do" (#98636)
The changes of https://wg21.link/p1614r2 in [meta.trans.other]
were exactly reverted by https://wg21.link/LWG3380.
Commit: 22b7b84860d39da71964c9b329937f2ee1d875ba
https://github.com/llvm/llvm-project/commit/22b7b84860d39da71964c9b329937f2ee1d875ba
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M lld/test/wasm/Inputs/ret32.s
A lld/test/wasm/dylink.s
M lld/test/wasm/emit-relocs.s
A lld/test/wasm/no-shlib-sigcheck.s
M lld/test/wasm/pie.s
M lld/test/wasm/shared-needed.s
M lld/test/wasm/shared.s
M lld/test/wasm/shared64.s
M lld/test/wasm/signature-mismatch.s
M lld/test/wasm/tag-section.ll
A lld/test/wasm/undef-shared.s
M lld/test/wasm/undefined-data.s
M lld/test/wasm/unresolved-symbols.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/MarkLive.cpp
M lld/wasm/Options.td
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/SymbolTable.h
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M llvm/lib/Object/WasmObjectFile.cpp
Log Message:
-----------
[lld][WebAssembly] Report undefined symbols in -shared/-pie builds (#75242)
Previously we would ignore all undefined symbols when using
`-shared` or `-pie`. All undefined symbols would be treated as imports
regardless of whether those symbols we defined in any shared library.
With this change we now track symbol in shared libraries and report
undefined symbols in the main program by default.
The old behavior is still available via the
`--unresolved-symbols=import-dynamic` command line flag.
This rationale for allowing this type of breaking change is that `-pie`
and `-shared` are both still experimental will warn as such, unless
`--experimental-pic` is passed.
As part of this change the linker now models shared library symbols
via new SharedFunctionSymbol and SharedDataSymbol types.
I've also added a new `--no-shlib-sigcheck` option that bypassed the
checking of functions signature in shared libraries. This is
specifically required by emscripten the case where the imports/exports
of shared libraries have been modified by via JS type legalization (this
is only needed when targeting old JS engines where bigint is not yet
available
See https://github.com/emscripten-core/emscripten/issues/18198
Commit: 99685a54d1322694847f59386a548b3696a43fc3
https://github.com/llvm/llvm-project/commit/99685a54d1322694847f59386a548b3696a43fc3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy-memcpy-offset.ll
Log Message:
-----------
[MemCpyOpt] Use `dyn_cast` to fix assertion failure in `processMemCpyMemCpyDependence` (#98686)
Fixes https://github.com/llvm/llvm-project/issues/98675.
Commit: bee240367cc48bbc93fe5eb57d537968dfe4419f
https://github.com/llvm/llvm-project/commit/bee240367cc48bbc93fe5eb57d537968dfe4419f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
Log Message:
-----------
Revert "[TBAA] Emit distinct TBAA tags for pointers with different depths,types. (#76612)"
This reverts commit 038c48c1f41119d667fa55e17e040281378071f3.
This is causing test failures in some configurations, reverted while I
investigate.
Failures include
http://lab.llvm.org/buildbot/#/builders/11/builds/1623
http://lab.llvm.org/buildbot/#/builders/108/builds/1172
Commit: afb584a5622d67d19539d30287bc8af461f48ca8
https://github.com/llvm/llvm-project/commit/afb584a5622d67d19539d30287bc8af461f48ca8
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/ucmp.ll
Log Message:
-----------
[SelectionDAG] Ensure that we don't create `UCMP`/`SCMP` nodes with operands being scalars and result being a 1-element vector during scalarization (#98687)
This patch fixes a problem that existed before where in some situations
a `UCMP`/`SCMP` node which operated on 1-element vectors had a legal
result type (i.e. `v1i64` on AArch64), but illegal operands (i.e.
`v1i65`). This meant that operand scalarization was performed on the
node and the operands were changed to a legal scalar type, but the
result wasn't. This then led to `UCMP`/`SCMP` nodes with different
vector-ness of operands and result appearing in the SDAG. This patch
addresses this issue by fully scalarizing the `UCMP`/`SCMP` node and
then turning its result back into a 1-element vector using a
`SCALAR_TO_VECTOR` node.
It also adds several assertions to `SelectionDAG::getNode()` to avoid
this or a similar issue arising in the future. I wasn't sure if these
two changes are unrelated enough to warrant two small separate PRs, but
I'm happy to split this PR into two if that's deemed more appropriate.
Commit: 1ccd8756f1284e497fe921b955b8e06c8ccfbcdc
https://github.com/llvm/llvm-project/commit/1ccd8756f1284e497fe921b955b8e06c8ccfbcdc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[NVPTX] Disable all RTLib libcalls (#98672)
Summary:
This patch explicitly disables runtime calls to be emitted from the
NVPTX backend. This allows other utilities to know that we do not need
to worry about emitting these.
Commit: 2ad7b4af95bc333d8f216915cd1b9d688590dcc5
https://github.com/llvm/llvm-project/commit/2ad7b4af95bc333d8f216915cd1b9d688590dcc5
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[cmake][Fuchsia] armv8m -> armv8m.main (#98695)
armv8m builtins aren't being built because `armv8m` doesn't match any of
the arm cpu strings in compiler-rt cmake files. Instead there's
`armv8m.main` and `armv8m.base`. We want to use the `armv8m.main`
version.
Commit: 486d00eca6b6ab470e8324b52cdf9f32023c1c9a
https://github.com/llvm/llvm-project/commit/486d00eca6b6ab470e8324b52cdf9f32023c1c9a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
A clang/test/CodeGen/variadic-nvptx.c
M libc/config/gpu/entrypoints.txt
M libc/test/src/__support/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
A llvm/test/CodeGen/NVPTX/variadics-backend.ll
A llvm/test/CodeGen/NVPTX/variadics-lowering.ll
Log Message:
-----------
[NVPTX] Implement variadic functions using IR lowering (#96015)
Summary:
This patch implements support for variadic functions for NVPTX targets.
The implementation here mainly follows what was done to implement it for
AMDGPU in https://github.com/llvm/llvm-project/pull/93362.
We change the NVPTX codegen to lower all variadic arguments to functions
by-value. This creates a flattened set of arguments that the IR lowering
pass converts into a struct with the proper alignment.
The behavior of this function was determined by iteratively checking
what the NVCC copmiler generates for its output. See examples like
https://godbolt.org/z/KavfTGY93. I have noted the main methods that
NVIDIA uses to lower variadic functions.
1. All arguments are passed in a pointer to aggregate.
2. The minimum alignment for a plain argument is 4 bytes.
3. Alignment is dictated by the underlying type
4. Structs are flattened and do not have their alignment changed.
5. NVPTX never passes any arguments indirectly, even very large ones.
This patch passes the tests in the `libc` project currently, including
support for `sprintf`.
Commit: 0870afaaaccde5b4bae37abfc982207ffafb8332
https://github.com/llvm/llvm-project/commit/0870afaaaccde5b4bae37abfc982207ffafb8332
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
A libc/newhdrgen/yaml/sys/sys_auxv.yaml
A libc/newhdrgen/yaml/sys/sys_epoll.yaml
A libc/newhdrgen/yaml/sys/sys_ioctl.yaml
A libc/newhdrgen/yaml/sys/sys_mman.yaml
A libc/newhdrgen/yaml/sys/sys_prctl.yaml
A libc/newhdrgen/yaml/sys/sys_random.yaml
A libc/newhdrgen/yaml/sys/sys_resource.yaml
A libc/newhdrgen/yaml/sys/sys_select.yaml
A libc/newhdrgen/yaml/sys/sys_sendfile.yaml
A libc/newhdrgen/yaml/sys/sys_socket.yaml
A libc/newhdrgen/yaml/sys/sys_stat.yaml
A libc/newhdrgen/yaml/sys/sys_statvfs.yaml
A libc/newhdrgen/yaml/sys/sys_syscall.yaml
A libc/newhdrgen/yaml/sys/sys_time.yaml
A libc/newhdrgen/yaml/sys/sys_types.yaml
A libc/newhdrgen/yaml/sys/sys_utsname.yaml
A libc/newhdrgen/yaml/sys/sys_wait.yaml
R libc/newhdrgen/yaml/sys_auxv.yaml
R libc/newhdrgen/yaml/sys_epoll.yaml
R libc/newhdrgen/yaml/sys_ioctl.yaml
R libc/newhdrgen/yaml/sys_mman.yaml
R libc/newhdrgen/yaml/sys_prctl.yaml
R libc/newhdrgen/yaml/sys_random.yaml
R libc/newhdrgen/yaml/sys_resource.yaml
R libc/newhdrgen/yaml/sys_select.yaml
R libc/newhdrgen/yaml/sys_sendfile.yaml
R libc/newhdrgen/yaml/sys_socket.yaml
R libc/newhdrgen/yaml/sys_stat.yaml
R libc/newhdrgen/yaml/sys_statvfs.yaml
R libc/newhdrgen/yaml/sys_syscall.yaml
R libc/newhdrgen/yaml/sys_time.yaml
R libc/newhdrgen/yaml/sys_types.yaml
R libc/newhdrgen/yaml/sys_utsname.yaml
R libc/newhdrgen/yaml/sys_wait.yaml
Log Message:
-----------
[libc] newheadergen: created sys folder for yaml files, make appropriate updates to CMake file for sys folder (#98693)
Moved sys yaml files into the sys folder.
After CMake patch lands, will make appropriate changes to account for
yaml, header, and .h.def files that are located within the sys folder in
a separate patch.
Commit: 76e37b1a08906620537440ebcd5162697079cba5
https://github.com/llvm/llvm-project/commit/76e37b1a08906620537440ebcd5162697079cba5
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
A llvm/test/CodeGen/DirectX/legalize-module-flags.ll
A llvm/test/CodeGen/DirectX/legalize-module-flags2.ll
M llvm/test/tools/dxil-dis/di-compile-unit.ll
M llvm/test/tools/dxil-dis/di-subprogram.ll
M llvm/test/tools/dxil-dis/di-subrange.ll
Log Message:
-----------
[DirectX] fix illegal behavior flag in module flags. (#96577)
For DXIL which is based on llvm 3.7, max supported behavior flag for
module flags is 6.
The commit will check all module flags, for behavior flag > 6, change it
to 2 (Warning).
This is to fix the behavior flag part for #96912.
Commit: 7b135f7c0881ef0718c5c83e4d8556c5fdb32d86
https://github.com/llvm/llvm-project/commit/7b135f7c0881ef0718c5c83e4d8556c5fdb32d86
Author: yozhu <101743168+yozhu at users.noreply.github.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
A llvm/test/CodeGen/X86/MachineSink-Issue98477.ll
Log Message:
-----------
[MachineSink] Check predecessor/successor relationship between two basic blocks involved in critical edge splitting (#98540)
Fix an issue in #97618 - if the two basic blocks involved are not
predecessor / successor to each other, treat the candidate as illegal
for critical edge splitting.
Closes #98477 (checked in test copied from its comment).
Commit: ee4661e0f8eaff5da011e008187362f4ba947860
https://github.com/llvm/llvm-project/commit/ee4661e0f8eaff5da011e008187362f4ba947860
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/ptrauth-tls-darwin.ll
Log Message:
-----------
[AArch64][PAC] Emit auth call for Darwin tlv access thunk. (#97658)
With ptrauth-calls, function pointers are supposed to be signed.
On Darwin that includes the TLS indirection accessor (`_tlv_get_addr`).
We simply sign it with the plain function-pointer schema (IA,0), which
lets us do a `blraaz` when calling it.
Note that this doesn't have any kind of diversity, even when function
pointer diversity is enabled in the frontend. On arm64e this accessor
is never signed that way, but the obvious alternative where this (or
another backend-generated) function pointer needs to be diversified
would need more than the "ptrauth-calls" attribute as it exists today.
Commit: 40effc7af5679b7d54d3176a5eef2cdee1962ecd
https://github.com/llvm/llvm-project/commit/40effc7af5679b7d54d3176a5eef2cdee1962ecd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/src/__support/arg_list.h
M libc/src/gpu/rpc_fprintf.cpp
M libc/src/stdio/CMakeLists.txt
R libc/src/stdio/fprintf.cpp
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fprintf.cpp
A libc/src/stdio/generic/vfprintf.cpp
M libc/src/stdio/gpu/CMakeLists.txt
A libc/src/stdio/gpu/fprintf.cpp
A libc/src/stdio/gpu/printf.cpp
A libc/src/stdio/gpu/vfprintf.cpp
A libc/src/stdio/gpu/vfprintf_utils.h
A libc/src/stdio/gpu/vprintf.cpp
R libc/src/stdio/vfprintf.cpp
M libc/test/integration/src/stdio/gpu/CMakeLists.txt
R libc/test/integration/src/stdio/gpu/printf.cpp
A libc/test/integration/src/stdio/gpu/printf_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Implement (v|f)printf on the GPU (#96369)
Summary:
This patch implements the `printf` family of functions on the GPU using
the new variadic support. This patch adapts the old handling in the
`rpc_fprintf` placeholder, but adds an extra RPC call to get the size of
the buffer to copy. This prevents the GPU from needing to parse the
string. While it's theoretically possible for the pass to know the size
of the struct, it's prohibitively difficult to do while maintaining ABI
compatibility with NVIDIA's varargs.
Depends on https://github.com/llvm/llvm-project/pull/96015.
Commit: bb46c0b22407f81cebfd2f3b800e9ed716c7e6a2
https://github.com/llvm/llvm-project/commit/bb46c0b22407f81cebfd2f3b800e9ed716c7e6a2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/__support/threads/linux/raw_mutex.h
Log Message:
-----------
[libc] Remove warnings on default values
Summary:
These cause issues because we compile with `-Wno-error`. Remove them for
now. @SchrodingerZhu.
Commit: 71c5453fa9a1fb5bb927589c6d38058552d263b6
https://github.com/llvm/llvm-project/commit/71c5453fa9a1fb5bb927589c6d38058552d263b6
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/base-config-ix.cmake
Log Message:
-----------
[compiler-rt] Add hexagon architecture to cmake (#98650)
Add hexagon to detect_target_arch, test_target macros.
Commit: 594989918bf9e178f3b7c5e200d700d0574f15ec
https://github.com/llvm/llvm-project/commit/594989918bf9e178f3b7c5e200d700d0574f15ec
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/stdio/generic/CMakeLists.txt
Log Message:
-----------
[libc] Fix missing printf dependencies
Commit: bfdad9ff1d45e81dc9ddd42dfdf6d91f2917676f
https://github.com/llvm/llvm-project/commit/bfdad9ff1d45e81dc9ddd42dfdf6d91f2917676f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[Pattern] Disabled new buggy test
Introduced with #98282
Commit: 873578057df2bf1379570f7b77a2c9172912db51
https://github.com/llvm/llvm-project/commit/873578057df2bf1379570f7b77a2c9172912db51
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[Pattern] Disable a new buggy test
Introduced with #98282
Commit: fb19649535d3d31a748409542947d09291643204
https://github.com/llvm/llvm-project/commit/fb19649535d3d31a748409542947d09291643204
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/lib/AST/ASTConcept.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[Clang][NFCI] Remove records of unsatisfied atomic expressions in ConstraintSatisfaction (#98654)
This expression doesn't appear to be ever used, so let's remove it from
the data structure.
Fixed some spelling issues as well.
Commit: 0ecb98397bf6cf5fc00cb8649deddb0e80197f90
https://github.com/llvm/llvm-project/commit/0ecb98397bf6cf5fc00cb8649deddb0e80197f90
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M libc/src/math/generic/tan.cpp
Log Message:
-----------
[libc] suppress uninitialized werrors (#98710)
suppress uninitialized werrors when building with gcc
Commit: 7d5902025d20e00b1865d02dfe514fb35259ae2a
https://github.com/llvm/llvm-project/commit/7d5902025d20e00b1865d02dfe514fb35259ae2a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Remove unused include
Commit: 634128be4610a4d85d92935109ed7761f0e06af1
https://github.com/llvm/llvm-project/commit/634128be4610a4d85d92935109ed7761f0e06af1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Remove some unused includes
Commit: 66e6df22b5a509c16e50364d72b1a40bacaea91a
https://github.com/llvm/llvm-project/commit/66e6df22b5a509c16e50364d72b1a40bacaea91a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix one-past-end pointers going back into the block
Commit: 14b9d12039134a081686e9ed3939e789271b5707
https://github.com/llvm/llvm-project/commit/14b9d12039134a081686e9ed3939e789271b5707
Author: Brad Smith <brad at comstyle.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M lld/docs/index.rst
Log Message:
-----------
[docs] Remove the History section (#98715)
This does not really serve any purpose nowadays.
Commit: 40ed1946f27ea64916993ea8fab947f2ad804063
https://github.com/llvm/llvm-project/commit/40ed1946f27ea64916993ea8fab947f2ad804063
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Fix the bazel build after 40effc7af5679b7d54d3176a5eef2cdee1962ecd
Commit: 1fe406fffe11dad0457a4d214ce67bf492196145
https://github.com/llvm/llvm-project/commit/1fe406fffe11dad0457a4d214ce67bf492196145
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/test/Parser/cxx-template-argument.cpp
Log Message:
-----------
[Clang] Fix parsing of reversible type traits in template arguments (#95969)
Constructs like `__is_pointer(Foo)` are never considered to be functions
declarations.
This matches usages in libstdc++, and we can hope
no one else redefine these reserved identifiers.
Fixes #95598
Commit: 3fed312d2bca7d44734ace75d18890675da0f89b
https://github.com/llvm/llvm-project/commit/3fed312d2bca7d44734ace75d18890675da0f89b
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
Log Message:
-----------
[clang][dataflow]Propagate the result object location for CXXDefaultInitExpr. (#98490)
These are not "original initializers"; the single node underneath
represents the initializing node.
Commit: 69fecaa1a455938b0e1acadc582d5126af9f24f5
https://github.com/llvm/llvm-project/commit/69fecaa1a455938b0e1acadc582d5126af9f24f5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_member_function_pointer.h
M libcxx/include/__type_traits/is_member_object_pointer.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_scoped_enum.h
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Clean up some now dead code with the upgrade to GCC 14 (#97746)
Commit: 7232763a965e1d34a14f745d74245685898e4907
https://github.com/llvm/llvm-project/commit/7232763a965e1d34a14f745d74245685898e4907
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
Log Message:
-----------
[sanitizer] Suggest checking ulimit -d in addition to ulimit -v (#98625)
Since Linux 4.7, RLIMIT_DATA may result in mmap() returning ENOMEM.
Example:
$ clang -fsanitize=address -o hello hello.c
$ ulimit -d 100000
$ ./hello
==3349007==ERROR: AddressSanitizer failed to allocate 0x10000000
(268435456) bytes at address 7fff7000 (errno: 12)
==3349007==ReserveShadowMemoryRange failed while trying to map
0x10000000 bytes. Perhaps you're using ulimit -v
Suggest checking ulimit -d in addition to ulimit -v.
Commit: 3b7a7f4cc43f90e79292700959c55a62ab87fd9a
https://github.com/llvm/llvm-project/commit/3b7a7f4cc43f90e79292700959c55a62ab87fd9a
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
Log Message:
-----------
[sanitizer] Add missing newlines to __sanitizer_set_report_path() error messages (#98626)
"Can't open file:" and "Can't create directory:" are lacking a newline.
Commit: ae63db78828621feca713016e33f34717da626a5
https://github.com/llvm/llvm-project/commit/ae63db78828621feca713016e33f34717da626a5
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
Log Message:
-----------
[AMDGPU] Re-enable atomic optimization of uniform fadd/fsub with result (#97604)
Fix various problems to do with the first active lane of the result of
optimized fp atomics, as explained in the comment.
Fixes #97554
Commit: aee553e366d997c6d27e03d1ee4c7da153867424
https://github.com/llvm/llvm-project/commit/aee553e366d997c6d27e03d1ee4c7da153867424
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
Log Message:
-----------
[libc] Stop using LLVM's `stdout` in overlay mode tests
Summary:
This causes errors when running unit tests when it tries to use an
invalid stdio handle.
Fixes https://github.com/llvm/llvm-project/issues/98711
Commit: c8f2ee77d290e6a14a7a83c9dc5837302771cedc
https://github.com/llvm/llvm-project/commit/c8f2ee77d290e6a14a7a83c9dc5837302771cedc
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
Log Message:
-----------
Fix a warning in #98362 [-Wunused-but-set-variable]
Commit: a5cf99d02c6078ddb921f859f7ed9ab4c3e7dd33
https://github.com/llvm/llvm-project/commit/a5cf99d02c6078ddb921f859f7ed9ab4c3e7dd33
Author: Marius Brehler <marius.brehler at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
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/member.mlir
Log Message:
-----------
[mlir][EmitC] Add member access ops (#98460)
This adds an `emitc.member` and `emitc.member_of_ptr` operation for the
corresponding member access operators. Furthermore, `emitc.assign` is
adjusted to be used with the member access operators.
Commit: 80e61e38428964c9c9abac5b7a59bb513b5b1c3d
https://github.com/llvm/llvm-project/commit/80e61e38428964c9c9abac5b7a59bb513b5b1c3d
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
Log Message:
-----------
Remove redundant linalg.matmul_signed (#98615)
`linalg.matmul` already has an attribute for casts, defaults to signed
but allowed unsigned, so the operation `linalg.matmul_unsigned` is
redundant. The generalization test has an example on how to lower to
unsigned matmul in linalg.
This is the first PR in a list of many that will simplify the linalg
operations by using similar attributes.
Ref:
https://discourse.llvm.org/t/rfc-transpose-attribute-for-linalg-matmul-operations/80092
Commit: b22adf02a2d2cc290d618fe47bec5aeec47ab992
https://github.com/llvm/llvm-project/commit/b22adf02a2d2cc290d618fe47bec5aeec47ab992
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/lifetimes.cpp
Log Message:
-----------
[clang][Interp] Clear pointers pointing to dead blocks
before free()ing the dead blocks. Otherwise, we might end up with
dangling Pointers to those dead blocks.
Commit: 949bbdc923ce336942a506a125fb28dfdf662c3a
https://github.com/llvm/llvm-project/commit/949bbdc923ce336942a506a125fb28dfdf662c3a
Author: mskamp <marius.kamp at fau.de>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/umin_cttz_ctlz.ll
Log Message:
-----------
[InstCombine] Fold Minimum over Trailing/Leading Bits Counts (#90402)
The new transformation folds `umin(cttz(x), c)` to `cttz(x | (1 << c))`
and `umin(ctlz(x), c)` to `ctlz(x | ((1 << (bitwidth - 1)) >> c))`. The
transformation is only implemented for constant `c` to not increase the
number of instructions.
The idea of the transformation is to set the c-th lowest (for `cttz`) or
highest (for `ctlz`) bit in the operand. In this way, the `cttz` or
`ctlz` instruction always returns at most `c`.
Alive2 proofs: https://alive2.llvm.org/ce/z/y8Hdb8
Fixes #90000
Commit: 60e90a1929ff1b5773fa83239301e3a190566315
https://github.com/llvm/llvm-project/commit/60e90a1929ff1b5773fa83239301e3a190566315
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Check for undef first before freeze (#96769)
All of these insert freeze due to multi-use, which is only
relevant for undef values, not poison.
Commit: 2d2893d7b1bbe380c6e66aad93bfa34a425cddd5
https://github.com/llvm/llvm-project/commit/2d2893d7b1bbe380c6e66aad93bfa34a425cddd5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/test/src/__support/CMakeLists.txt
Log Message:
-----------
[libc] always compile hash_test with -O3 (#98718)
Commit: d91ff3f2409a721b61b68c6a8438ea6c59323df8
https://github.com/llvm/llvm-project/commit/d91ff3f2409a721b61b68c6a8438ea6c59323df8
Author: Chris B <chris.bieneman at me.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/docs/HLSL/ExpectedDifferences.rst
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
R clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
M clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
A clang/test/SemaHLSL/SplatOverloadResolution.hlsl
A clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
M clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaHLSL/standard_conversion_sequences.hlsl
Log Message:
-----------
[HLSL] Rework implicit conversion sequences (#96011)
This PR reworks HLSL's implicit conversion sequences. Initially I was
seeking to match DXC's behavior more closely, but that was leading to a
pile of special case rules to tie-break ambiguous cases that should
really be left as ambiguous. We've decided that we're going to break
compatibility with DXC here, and we may port this new behavior over to
DXC instead.
This change is a bit closer to C++'s overload resolution rules, but it
does have a bit of nuance around how dimension adjustment conversions
are ranked. Conversion sequence ranks for HLSL are:
* Exact match
* Scalar Widening (i.e. splat)
* Promotion
* Scalar Widening with Promotion
* Conversion
* Scalar Widening with Conversion
* Dimension Reduction (i.e. truncation)
* Dimension Reduction with Promotion
* Dimension Reduction with Conversion
In this implementation I've folded the disambiguation into the
conversion sequence ranks which does add some complexity as compared to
C++, however this avoids needing to add special casing in
`CompareStandardConversionSequences`. I believe the added conversion
rank values provide a simpler approach, but feedback is appreciated.
The HLSL language spec updates are in the PR here:
https://github.com/microsoft/hlsl-specs/pull/261
Commit: 69258491d201bf6d96a8a9bac2ea80a1b14d9cd4
https://github.com/llvm/llvm-project/commit/69258491d201bf6d96a8a9bac2ea80a1b14d9cd4
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/config/gpu/config.json
M libc/docs/configure.rst
M libc/include/errno.h.def
M libc/src/errno/CMakeLists.txt
A libc/src/errno/errno.h
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc] Support configurable errno modes (#98287)
Rather than selecting the errno implementation based on the platform
which doesn't provide the necessary flexibility, make it configurable.
The errno value location is returned by `int *__llvm_libc_errno()` which
is a common design used by other C libraries.
Commit: f96e4e8c106a502a86f128ec0069091f75a47730
https://github.com/llvm/llvm-project/commit/f96e4e8c106a502a86f128ec0069091f75a47730
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/src/stdio/generic/CMakeLists.txt
Log Message:
-----------
[libc] fix dependencies for fprintf (#98752)
Commit: 4a68654ad6c4d85208b817fc914e17d084ed25ae
https://github.com/llvm/llvm-project/commit/4a68654ad6c4d85208b817fc914e17d084ed25ae
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/src/errno/CMakeLists.txt
R libc/src/errno/errno.h
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc] Remove src/errno/errno.h (#98759)
This addresses the build error introduced in #98287 where
src/errno/errno.h is included instead of the system errno.h.
We instead move the declaration to libc_errno.h.
Commit: 8802c9fd73da9451e69e15eed53b396c7d44a866
https://github.com/llvm/llvm-project/commit/8802c9fd73da9451e69e15eed53b396c7d44a866
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc] Mark internal __llvm_libc_errno as noexcept (#98760)
The declaration must match the previous declaration in errno.h.
Commit: b2468d7ec2ffddd212ec56b298dd9e45d60b062a
https://github.com/llvm/llvm-project/commit/b2468d7ec2ffddd212ec56b298dd9e45d60b062a
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/src/errno/libc_errno.cpp
Log Message:
-----------
[libc] Mark all __llvm_libc_errno definitions as noexcept (#98762)
The definitions must match the previous declaration in errno.h.
Commit: f4254f3f517c60deeb2ba309c3bb5dfb644bed89
https://github.com/llvm/llvm-project/commit/f4254f3f517c60deeb2ba309c3bb5dfb644bed89
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M clang/test/SemaHLSL/export.hlsl
Log Message:
-----------
[HLSL] Add test for export function redeclaration (#97370)
Related to llvm/llvm-project#92812
Commit: a4f8705b05bef13d09e243cc3ebaf4ec9f5355b9
https://github.com/llvm/llvm-project/commit/a4f8705b05bef13d09e243cc3ebaf4ec9f5355b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/load-store-index-loaded-in-loop.ll
Log Message:
-----------
[LAA] Precommit test with loops where indices are loaded in each iter.
Add tests which are not safe to vectorize because %indices are loaded in
the loop and the same indices could be loaded in later iterations.
Tests for https://github.com/llvm/llvm-project/issues/87189.
Commit: 66cd2e0f9a7ae3a966451d1868769947c72164d8
https://github.com/llvm/llvm-project/commit/66cd2e0f9a7ae3a966451d1868769947c72164d8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#98706)
Commit: 3fa409f2318ef790cc44836afe9a72830715ad84
https://github.com/llvm/llvm-project/commit/3fa409f2318ef790cc44836afe9a72830715ad84
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Remove StringRef::equals (#98735)
StringRef::equals has been deprecated since:
commit de483ad513895c0adf7f21c7001c30f031998ea3
Author: Kazu Hirata <kazu at google.com>
Date: Thu May 16 00:38:37 2024 -0700
Commit: 5e22a536981483d8411266dccee2ff3e5f31f4a1
https://github.com/llvm/llvm-project/commit/5e22a536981483d8411266dccee2ff3e5f31f4a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600Packetizer.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
[Target] Use range-based for loops (NFC) (#98705)
Commit: 8b4251729f267b136414c359394daab0492f0c0c
https://github.com/llvm/llvm-project/commit/8b4251729f267b136414c359394daab0492f0c0c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/test/include/CMakeLists.txt
Log Message:
-----------
[libc] Add libc_include_tests suites to check-libc target. (#98749)
Commit: 3604c23dfc8edb00aae72456ef3ff765eb795db5
https://github.com/llvm/llvm-project/commit/3604c23dfc8edb00aae72456ef3ff765eb795db5
Author: Akiel <56521583+akielaries at users.noreply.github.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-function-macros.h
M libc/test/include/CMakeLists.txt
A libc/test/include/IsFiniteTest.h
A libc/test/include/IsInfTest.h
A libc/test/include/IsNanTest.h
A libc/test/include/SignbitTest.h
A libc/test/include/isfinite_test.c
A libc/test/include/isfinite_test.cpp
A libc/test/include/isfinitef_test.cpp
A libc/test/include/isfinitel_test.cpp
A libc/test/include/isinf_test.c
A libc/test/include/isinf_test.cpp
A libc/test/include/isinff_test.cpp
A libc/test/include/isinfl_test.cpp
A libc/test/include/isnan_test.c
A libc/test/include/isnan_test.cpp
A libc/test/include/isnanf_test.cpp
A libc/test/include/isnanl_test.cpp
A libc/test/include/signbit_test.c
A libc/test/include/signbit_test.cpp
A libc/test/include/signbitf_test.cpp
A libc/test/include/signbitl_test.cpp
Log Message:
-----------
[libc][math] implement `signbit` and math macro unit tests (#97791)
This PR resolves #96322 and implements the `signbit` macro under a new
header `generic-math-macros.h`. This also removed the `TODO` in
`math-macros.h` and moves `isfinite`, `isinf`, and `isnan` to the same
generic maths header. Finally, a test file
`generic-math-macros_test.cpp` that adds coverage to the above 4 macros.
Fixes #96322.
Commit: dfcc898439d043fa062e087661cef9afe7fea12e
https://github.com/llvm/llvm-project/commit/dfcc898439d043fa062e087661cef9afe7fea12e
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
Log Message:
-----------
[libc] Include realloc in baremetal entrypoints (#98780)
This is used in some embedded projects.
Commit: 57ae6183757ec26082903e2fc6904c0cfe53b34a
https://github.com/llvm/llvm-project/commit/57ae6183757ec26082903e2fc6904c0cfe53b34a
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M libc/test/include/SignbitTest.h
Log Message:
-----------
[libc] Fix signbit include test. (#98793)
Commit: 78266ab0dc64dbc208035acc455f1b8ef22af387
https://github.com/llvm/llvm-project/commit/78266ab0dc64dbc208035acc455f1b8ef22af387
Author: Vedant Paranjape <vedant.paranjape at amd.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-diff-call-types.ll
Log Message:
-----------
[ArgPromotion] Remove redundant logic from recursive argpromotion code (#98657)
This patch further cleans up the implementation by removing some
redundant checks and replacing cast<> with get() calls.
This contribution is based on the discussion in #78735
Commit: 78bc1b64a6dc3fb6191355a5e1b502be8b3668e7
https://github.com/llvm/llvm-project/commit/78bc1b64a6dc3fb6191355a5e1b502be8b3668e7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/test/CodeGenHIP/default-attributes.hip
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/always-uniform.ll
M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bfe-combine.ll
M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
M llvm/test/CodeGen/AMDGPU/bfm.ll
M llvm/test/CodeGen/AMDGPU/bitreverse.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/copy-to-reg-scc-clobber.ll
M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-sext-inreg.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/early-inline.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fma-combine.ll
M llvm/test/CodeGen/AMDGPU/fma.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f64.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f64.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/fshl.ll
M llvm/test/CodeGen/AMDGPU/fshr.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-constant.ll
M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/global_smrd.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-resource-usage-function-ordering.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/idot2.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/idot8s.ll
M llvm/test/CodeGen/AMDGPU/idot8u.ll
M llvm/test/CodeGen/AMDGPU/imm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-packed.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
M llvm/test/CodeGen/AMDGPU/lds-zero-initializer.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.queue.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workgroup.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/local-64.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
M llvm/test/CodeGen/AMDGPU/max.i16.ll
M llvm/test/CodeGen/AMDGPU/max.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memcpy-scalar-load.ll
M llvm/test/CodeGen/AMDGPU/memmove-scalar-load.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/AMDGPU/or.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
M llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
M llvm/test/CodeGen/AMDGPU/rotl.ll
M llvm/test/CodeGen/AMDGPU/rotr.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-divergence-driven-isel.ll
M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shift-i128.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
M llvm/test/CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/trap.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/trunc.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
M llvm/test/CodeGen/AMDGPU/uniform-select.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/AMDGPU/xor.ll
M llvm/test/CodeGen/AMDGPU/zext-divergence-driven-isel.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
Log Message:
-----------
AMDGPU: Move attributor into optimization pipeline (#83131)
Removing it from the codegen pipeline induces a lot of test churn
because llc is no longer optimizing out implicit arguments to kernels.
Mostly mechanical, but there are some creative test updates. I preferred
to take the changes as-is in tests where the ABI isn't relevant. In
cases where it's more relevant, or the optimize out logic was too
ingrained in the test, I pre-run the optimization. Some cases manually
add attributes to disable inputs.
Commit: 6b380a810ea57fdb36ef911756bd2e1cbf2fbac0
https://github.com/llvm/llvm-project/commit/6b380a810ea57fdb36ef911756bd2e1cbf2fbac0
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/SemaCXX/enum.cpp
Log Message:
-----------
[clang][Interp] Fix integral overflow reporting
We need to always do the CCEDiag, the report() is optional.
Commit: 7645823564a34db84f0da53e53e38eb0ceb429ec
https://github.com/llvm/llvm-project/commit/7645823564a34db84f0da53e53e38eb0ceb429ec
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/CodeGenCXX/cxx1z-constexpr-if.cpp
Log Message:
-----------
[clang][Interp] Don't require StmtExpr result to be an expression
It can be a statement containing an expression.
Commit: de029943cc5ad0028f16e6ecaffa03e32ffd1a6f
https://github.com/llvm/llvm-project/commit/de029943cc5ad0028f16e6ecaffa03e32ffd1a6f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/shifts.cpp
M clang/test/Sema/shift-count-negative.c
Log Message:
-----------
[clang][Interp] Handle negative shift amounts correctly
We need to invert them and use the opposite shift.
Commit: ed304b6790ba0391211bffe66856b00d0a949670
https://github.com/llvm/llvm-project/commit/ed304b6790ba0391211bffe66856b00d0a949670
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/shifts.cpp
Log Message:
-----------
[clang][Interp] Diagnose left shifts of negative values
Commit: 77d2283e5824fb5bf375df65559a88a68159594b
https://github.com/llvm/llvm-project/commit/77d2283e5824fb5bf375df65559a88a68159594b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/shifts.cpp
Log Message:
-----------
[clang][Interp] Diagnose shift overflows
Commit: 92fe3911c3e0f5e76cf60c8b3203002e6e6aa047
https://github.com/llvm/llvm-project/commit/92fe3911c3e0f5e76cf60c8b3203002e6e6aa047
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Reject non-pointer typed dummies
This happens a lot for NonTypeTemplateParm decls.
Commit: 52139d8f9a4e3f595ca552393d62ba06b0bc082c
https://github.com/llvm/llvm-project/commit/52139d8f9a4e3f595ca552393d62ba06b0bc082c
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-13 (Sat, 13 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
Log Message:
-----------
[compiler-rt][nsan] Modify NSAN_CFLAGS setting (#98768)
Use -fno-rtti flag to avoid vtables in the runtime library (similarly to asan, dfsan, msan).
Remove unneeded -fPIC from NSAN_CFLAGS.
Fix #98767
Commit: fb128630a7ba0ebe21cddf6647903a18ab246188
https://github.com/llvm/llvm-project/commit/fb128630a7ba0ebe21cddf6647903a18ab246188
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Add `MachineOptimizationRemarkEmitterAnalysis` (#98601)
Add `MachineOptimizationRemarkEmitterAnalysis` the legacy version
`MachineOptimizationRemarkEmitterPass` is already a wrapper.
Commit: 9d889906720c1a4fbdb3b8aaacfeebd62f235b87
https://github.com/llvm/llvm-project/commit/9d889906720c1a4fbdb3b8aaacfeebd62f235b87
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
Log Message:
-----------
[clang][Interp][NFC] Remove visit{Global,Local,This}Initializer
They were only called once, or not at all.
Commit: 181e4c6291c94a38c0ee89d2128f8d70b15d2d23
https://github.com/llvm/llvm-project/commit/181e4c6291c94a38c0ee89d2128f8d70b15d2d23
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Check for non-primitive types in unary operators
For invalid cases (non-vector/complex/...), this should only happen
in error cases such as the attached test case.
Commit: c28ddf900051760e3ae8cef33b26da3c37f5627e
https://github.com/llvm/llvm-project/commit/c28ddf900051760e3ae8cef33b26da3c37f5627e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
Log Message:
-----------
[Analysis] Use BitVector::test in areInlineCompatible (NFC) (#98776)
areInlineCompatible checks to see if CalleeTLI.OverrideAsUnavailable
is a subset of OverrideAsUnavailable by computing a union of the two
and comparing the union and OverrideAsUnavailable.
The problem is that computing a union involves memory allocations.
This patch removes the need for memory allocations by switching to
BitVector::test. Note that A.test(B) returns true if A - B is
non-empty. That is, !A.test(B) is true if A if a subset of B.
The use of BitVector::test here saves 0.20% of heap allocations during
the compilation of X86ISelLowering.cpp.ii, a preprocessed version of
X86ISelLowering.cpp.
Commit: c8dc21d77fc82d9360953100aa328a13185f8ba0
https://github.com/llvm/llvm-project/commit/c8dc21d77fc82d9360953100aa328a13185f8ba0
Author: Froster <34234343+Fros1er at users.noreply.github.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/pr94265.ll
Log Message:
-----------
[SelectionDAG][RISCV] Fix break of vnsrl pattern in issue #94265 (#95563)
Added a RISCV overload of `isTruncateFree` to fix the break of vnsrl described in issue #94265.
Fixes #94265
Commit: 3f222f3bc65ca5acaa0c00d61ae132d10bf79282
https://github.com/llvm/llvm-project/commit/3f222f3bc65ca5acaa0c00d61ae132d10bf79282
Author: c8ef <c8ef at outlook.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CodeGen/asan-destructor-kind.cpp
M clang/test/SemaCUDA/device-use-host-var.cu
M clang/test/SemaCXX/cxx2a-consteval.cpp
M compiler-rt/test/asan/TestCases/Darwin/init_for_dlopen.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
Log Message:
-----------
[NFC] Fix some typos (#98791)
Commit: fe7fc54403e17b17e366adaab75256b2269fc204
https://github.com/llvm/llvm-project/commit/fe7fc54403e17b17e366adaab75256b2269fc204
Author: David Green <david.green at arm.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
M llvm/test/CodeGen/AArch64/arm64-2012-05-09-LOADgot-bug.ll
M llvm/test/CodeGen/AArch64/arm64_32-memcpy.ll
M llvm/test/CodeGen/AArch64/arm64_32-pointer-extend.ll
M llvm/test/CodeGen/AArch64/arm64_32.ll
M llvm/test/CodeGen/AArch64/bitfield.ll
M llvm/test/CodeGen/AArch64/pr58431.ll
M llvm/test/CodeGen/AArch64/swifterror.ll
Log Message:
-----------
[AArch64] Use mov as opposed to And 0xffffffff (#98655)
This adds a tablegen pattern to use ORRWrr (mov) as opposed to i64 AND
0xffffffff, as the mov will implicitly clear the upper bits. This can be
seen as a zext(trunc(..)), and could be simpler if it is eliminated.
Commit: 41209075dabc39eb65ae183c5363ea39b8c74e82
https://github.com/llvm/llvm-project/commit/41209075dabc39eb65ae183c5363ea39b8c74e82
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll
Log Message:
-----------
[LAA] Add tests accesses to same pointer with different types.
Add tests with accesses to the same pointer with different types. At the
moment, runtime checks for those accesses are incorrectly based on the
smaller type.
Commit: 677cc15e0ff2e0e6aa30538eb187990a6a8f53c0
https://github.com/llvm/llvm-project/commit/677cc15e0ff2e0e6aa30538eb187990a6a8f53c0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/test/CodeGenHIP/default-attributes.hip
Log Message:
-----------
clang/AMDGPU: Defeat attribute optimization in attribute test
The optimization attributes are mostly noise for the purposes of the test.
Also hoping this fixes https://lab.llvm.org/buildbot/#/builders/193/builds/940,
which for some reason looks like the optimization isn't running.
Commit: 33af112f99fe956fb93fb2b797a141ee93956283
https://github.com/llvm/llvm-project/commit/33af112f99fe956fb93fb2b797a141ee93956283
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix modifying const objects in functions calls in ctors
The current frame might not be a constructor for the object we're
initializing, but a parent frame might.
Commit: 61a4e1e70f07c89bd890ef2bc61a818e6a321d2d
https://github.com/llvm/llvm-project/commit/61a4e1e70f07c89bd890ef2bc61a818e6a321d2d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Add SDPatternMatch::m_SetCC and update some combines to use it (#98646)
The plan is to add more TernaryOp in the future (SELECT/VSELECT and FMA in particular)
Commit: 3aae4caffa3134d4edd1811fd2c35cbc95eb7441
https://github.com/llvm/llvm-project/commit/3aae4caffa3134d4edd1811fd2c35cbc95eb7441
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Improve InterpFrame::describe()
Use getNameForDiagnostic(), like the CallStackFrame of the current
interpreter.
Commit: 3ccda936710d55d819c56cf4f2cf307c2d632b63
https://github.com/llvm/llvm-project/commit/3ccda936710d55d819c56cf4f2cf307c2d632b63
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll
Log Message:
-----------
[LAA] Update pointer-bounds cache to also consider access type.
The same pointer may be accessed with different types and the bound
includes the size of the accessed type to compute the end. Update the
cache to correctly disambiguate between different accessed types.
Commit: a72eed7a238b0087789229bf635d3c517f8e7ff1
https://github.com/llvm/llvm-project/commit/a72eed7a238b0087789229bf635d3c517f8e7ff1
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Handle scalar shuffles in vector to spirv conversion (#98809)
These may not get canonicalized before conversion to spirv and need to
be handled during vector to spirv conversion. Because spirv does not
support 1-element vectors, we can't emit `spirv.VectorShuffle` and need
to lower this to `spirv.CompositeExtract`.
Commit: fa133d3151b5e428b1c5819d29b0ad28a90882a2
https://github.com/llvm/llvm-project/commit/fa133d3151b5e428b1c5819d29b0ad28a90882a2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
A clang/lib/AST/Interp/DynamicAllocator.cpp
A clang/lib/AST/Interp/DynamicAllocator.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.h
A clang/test/AST/Interp/new-delete.cpp
M clang/test/Rewriter/rewrite-modern-catch.m
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
[clang][Interp] Implement dynamic memory allocation handling (#70306)
Implement handling for new/delete/new[]/delete[] expressions via a new
`DynamicAllocator` class.
This introduces four new opcodes:
- `Alloc` - Allocates one element (`new int(14)`)
- `AllocN` - Allocates N elements of the given primitive (`new
int[100]`)
- `AllocCN` - Allocates N elements of the given (composite) descriptor
(`new S[100]`)
- `Free` - de-allocates memory allocates using any of the above.
Commit: 3478573773d02e574524fd45c14631de5b7d10a9
https://github.com/llvm/llvm-project/commit/3478573773d02e574524fd45c14631de5b7d10a9
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
Log Message:
-----------
[lldb] [NFC] a couple comment typeo and markup fixes.
Commit: 5fe0a81a6b3e5bd6601259a76a1abcafda4e0747
https://github.com/llvm/llvm-project/commit/5fe0a81a6b3e5bd6601259a76a1abcafda4e0747
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port fa133d3151b5
Commit: 27f5c00c607e08b3cdf37f3bf9f4ccf156de2ab4
https://github.com/llvm/llvm-project/commit/27f5c00c607e08b3cdf37f3bf9f4ccf156de2ab4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
[clang][Interp] Fix a build failure on Windows
The usual ambiguous APInt constructor:
https://lab.llvm.org/buildbot/#/builders/141/builds/764
Commit: 93d2b23ad2b96ed47b68a7e3c142cb306f418f2a
https://github.com/llvm/llvm-project/commit/93d2b23ad2b96ed47b68a7e3c142cb306f418f2a
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/kcfi.c
Log Message:
-----------
[test] Improve ifunc tests
Add ifunc-after-resolver tests to inprove coverage and demonstrate the
-fsanitize=kcfi issue reported at #96400.
Commit: a8687dd0262349147ce8ae4d0232a067996be69f
https://github.com/llvm/llvm-project/commit/a8687dd0262349147ce8ae4d0232a067996be69f
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
Log Message:
-----------
[compiler-rt][nsan] Improve nsan reports (#98798)
Currently NSAN prints reports that are entirely red and the terminal
prompt after the program exits is red too. With this change we make red
only `WARNING` summary and the rest of the report isn't colored.
This behavior is similar to the behavior of other sanitizers.
Commit: ba3dcec16b6bb955f2c65a3df157744069441d7f
https://github.com/llvm/llvm-project/commit/ba3dcec16b6bb955f2c65a3df157744069441d7f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
Revert "[clang][Interp] Fix a build failure on Windows"
This reverts commit 27f5c00c607e08b3cdf37f3bf9f4ccf156de2ab4.
Commit: 48d703e7f56282ce5d690e45a129a4a7fd040ee6
https://github.com/llvm/llvm-project/commit/48d703e7f56282ce5d690e45a129a4a7fd040ee6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
R clang/lib/AST/Interp/DynamicAllocator.cpp
R clang/lib/AST/Interp/DynamicAllocator.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.h
R clang/test/AST/Interp/new-delete.cpp
M clang/test/Rewriter/rewrite-modern-catch.m
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
Revert "[clang][Interp] Implement dynamic memory allocation handling (#70306)"
This reverts commit fa133d3151b5e428b1c5819d29b0ad28a90882a2.
It looks like this has some more serious problems:
https://lab.llvm.org/buildbot/#/builders/39/builds/528
As well as build failures on MacOS.
Commit: efde640cdfede834fa79e0eea69f82fb769d6beb
https://github.com/llvm/llvm-project/commit/efde640cdfede834fa79e0eea69f82fb769d6beb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port 48d703e7f562
Commit: fc9cd3272b50f4ee9f18c4ab82c278bbb014d99f
https://github.com/llvm/llvm-project/commit/fc9cd3272b50f4ee9f18c4ab82c278bbb014d99f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/X86/ephemeral-recipes.ll
A llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
Log Message:
-----------
[VPlan] Don't add live-outs for IV phis.
Resume and exit values for inductions are currently still created
outside of VPlan and independent of the induction recipes. Don't add
live-outs for now, as the additional unneeded users can pessimize other
anlysis.
Fixes https://github.com/llvm/llvm-project/issues/98660.
Commit: 00895efa61f8edaa9a70cb8632ec343bbbe890f7
https://github.com/llvm/llvm-project/commit/00895efa61f8edaa9a70cb8632ec343bbbe890f7
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
Log Message:
-----------
[libc] Extend the baremetal I/O vendor ABI (#98683)
This refines and extends the external ABI for I/O, later changes will
update the baremetal implementations of I/O functions to use these.
Commit: 35bb9f158b57a8cccc24bc30d793b176e3219985
https://github.com/llvm/llvm-project/commit/35bb9f158b57a8cccc24bc30d793b176e3219985
Author: Piotr Fusik <piotr at fusion-lang.org>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Use `decodeULEB128AndIncUnsafe` in `decodeInstruction` (#98619)
Commit: 7c15fbae31ab065a370a4f90a5f5b0d51cb11cf8
https://github.com/llvm/llvm-project/commit/7c15fbae31ab065a370a4f90a5f5b0d51cb11cf8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
Log Message:
-----------
[Linker] Use a range-based for loop (NFC) (#98785)
Commit: 73acf8d755e04996f17b7694b4794459e492dede
https://github.com/llvm/llvm-project/commit/73acf8d755e04996f17b7694b4794459e492dede
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Add -m[no-]scalar-strict-align and -m[no-]vector-strict-align. (#95024)
Commit: ca4ebae38c09b48c78789b77e7a98ec149957716
https://github.com/llvm/llvm-project/commit/ca4ebae38c09b48c78789b77e7a98ec149957716
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[clang][NFC] Fix a warning (#98611)
enumerated and non-enumerated type in conditional expression
Commit: 2f55e551011d4ff2227be35bf8b64516d8dcb700
https://github.com/llvm/llvm-project/commit/2f55e551011d4ff2227be35bf8b64516d8dcb700
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
[Transforms] Use range-based for loops (NFC) (#98725)
Commit: 6ffa995517a9b4c15aba0eb511cba309e21808cf
https://github.com/llvm/llvm-project/commit/6ffa995517a9b4c15aba0eb511cba309e21808cf
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia][CMake] Use MinSizeRel for baremetal runtimes (#98835)
Size matters more than performance for these targets.
Commit: 0fc4e3052454391b7e54a05c1918527cf36c74cc
https://github.com/llvm/llvm-project/commit/0fc4e3052454391b7e54a05c1918527cf36c74cc
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[Support] Don't use StringRef::equals in Path.inc (#98839)
The removal of StringRef::equals in
3fa409f2318ef790cc44836afe9a72830715ad84 broke the
[Solaris/sparcv9](https://lab.llvm.org/buildbot/#/builders/13/builds/724)
and
[Solaris/amd64](https://lab.llvm.org/staging/#/builders/94/builds/5176)
buildbots:
```
In file included from /vol/llvm/src/llvm-project/git/llvm/lib/Support/Path.cpp:1200:
/vol/llvm/src/llvm-project/git/llvm/lib/Support/Unix/Path.inc:519:18: error: no member named 'equals' in 'llvm::StringRef'
519 | return !fstype.equals("nfs");
| ~~~~~~ ^
```
Fixed by switching to `operator!=` instead.
Tested on sparcv9-sun-solaris2.11 and amd64-pc-solaris2.11.
Commit: 6441df3b5930ff9f8b3b9af6fd5d2684cf9a337b
https://github.com/llvm/llvm-project/commit/6441df3b5930ff9f8b3b9af6fd5d2684cf9a337b
Author: realqhc <caiqihan021 at hotmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
A llvm/test/CodeGen/RISCV/xcvmac.ll
Log Message:
-----------
[RISCV] Implement Intrinsics for XCVmac Extension in CV32E40P (#83112)
Implement XCVmac intrinsics for CV32E40P according to the specification.
This commit is part of a patch-set to upstream the vendor specific
extensions of CV32E40P that need LLVM intrinsics to implement Clang
builtins.
Contributors: @CharKeaney, @ChunyuLiao, @jeremybennett, @lewis-revill,
@NandniJamnadas, @PaoloS02, @serkm, @simonpcook, @xingmingjie.
Commit: d83d09facdc37bd1bd8c697e16d889ff8a4f369b
https://github.com/llvm/llvm-project/commit/d83d09facdc37bd1bd8c697e16d889ff8a4f369b
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/X86/preserving-debugloc-phi-binop.ll
Log Message:
-----------
[DebugInfo][LoopStrengthReduce] Fix missing debug location updates (#97519)
Fix #97510 .
Note that, for the new phi instruction `NewPH`, which replaces the old
phi `PH` and the cast `ShadowUse`, I choose to propagate the debug
location of `PH` to it, because the cast is eliminated according to the
optimization semantics.
Commit: 33bdb87adc16e2890beeeb64a980317e7c4292d7
https://github.com/llvm/llvm-project/commit/33bdb87adc16e2890beeeb64a980317e7c4292d7
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
A llvm/test/Transforms/SimpleLoopUnswitch/preserving-dropping-debugloc-nontrivial.ll
Log Message:
-----------
[DebugInfo][SimpleLoopUnswitch] Fix missing debug location updates (#97662)
Fix #97559 .
For the change at line 1253, I propagate the debug location of the
terminator (i.e., the insertion point) to the new phi. because `MergeBB`
is generated by splitting `ExitBB` several lines above, it only has the
terminator, which could provide a reasonable debug location.
For the change at line 2348, I switch the order of moving and cloning
`TI`. Because `NewTI` cloned from `TI` is inserted into the original
place where `TI` is, `NewTI` should preserve the origianl debug
location. At the same time, doing this allows us to propagate the debug
location to the new branch instruction replacing `NewTI` (the change at
line 2446).
Commit: adaff46d087799072438dd744b038e6fd50a2d78
https://github.com/llvm/llvm-project/commit/adaff46d087799072438dd744b038e6fd50a2d78
Author: dyung <douglas.yung at sony.com>
Date: 2024-07-14 (Sun, 14 Jul 2024)
Changed paths:
M clang/test/CodeGenHIP/default-attributes.hip
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/always-uniform.ll
M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bfe-combine.ll
M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
M llvm/test/CodeGen/AMDGPU/bfm.ll
M llvm/test/CodeGen/AMDGPU/bitreverse.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/copy-to-reg-scc-clobber.ll
M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-sext-inreg.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/early-inline.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fma-combine.ll
M llvm/test/CodeGen/AMDGPU/fma.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f64.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f64.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/fshl.ll
M llvm/test/CodeGen/AMDGPU/fshr.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-constant.ll
M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/global_smrd.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-resource-usage-function-ordering.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/idot2.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/idot8s.ll
M llvm/test/CodeGen/AMDGPU/idot8u.ll
M llvm/test/CodeGen/AMDGPU/imm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-packed.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
M llvm/test/CodeGen/AMDGPU/lds-zero-initializer.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.queue.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workgroup.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/local-64.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
M llvm/test/CodeGen/AMDGPU/max.i16.ll
M llvm/test/CodeGen/AMDGPU/max.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memcpy-scalar-load.ll
M llvm/test/CodeGen/AMDGPU/memmove-scalar-load.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/AMDGPU/or.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
M llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
M llvm/test/CodeGen/AMDGPU/rotl.ll
M llvm/test/CodeGen/AMDGPU/rotr.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-divergence-driven-isel.ll
M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shift-i128.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
M llvm/test/CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/trap.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/trunc.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
M llvm/test/CodeGen/AMDGPU/uniform-select.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/AMDGPU/xor.ll
M llvm/test/CodeGen/AMDGPU/zext-divergence-driven-isel.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
Log Message:
-----------
Revert "AMDGPU: Move attributor into optimization pipeline (#83131)" and follow up commit "clang/AMDGPU: Defeat attribute optimization in attribute test" (#98851)
This reverts commits 677cc15e0ff2e0e6aa30538eb187990a6a8f53c0 and
78bc1b64a6dc3fb6191355a5e1b502be8b3668e7.
The test CodeGenHIP/default-attributes.hip is failing on multiple bots
even after the attempted fix including the following:
- https://lab.llvm.org/buildbot/#/builders/3/builds/1473
- https://lab.llvm.org/buildbot/#/builders/65/builds/1380
- https://lab.llvm.org/buildbot/#/builders/161/builds/595
- https://lab.llvm.org/buildbot/#/builders/154/builds/1372
- https://lab.llvm.org/buildbot/#/builders/133/builds/1547
- https://lab.llvm.org/buildbot/#/builders/81/builds/755
- https://lab.llvm.org/buildbot/#/builders/40/builds/570
- https://lab.llvm.org/buildbot/#/builders/13/builds/748
- https://lab.llvm.org/buildbot/#/builders/12/builds/1845
- https://lab.llvm.org/buildbot/#/builders/11/builds/1695
- https://lab.llvm.org/buildbot/#/builders/190/builds/1829
- https://lab.llvm.org/buildbot/#/builders/193/builds/962
- https://lab.llvm.org/buildbot/#/builders/23/builds/991
- https://lab.llvm.org/buildbot/#/builders/144/builds/2256
- https://lab.llvm.org/buildbot/#/builders/46/builds/1614
These bots have been broken for a day, so reverting to get everything
back to green.
Commit: 4ca024c877e3eb20c0af518d3335883fb7b4b910
https://github.com/llvm/llvm-project/commit/4ca024c877e3eb20c0af518d3335883fb7b4b910
Author: Oleksandr T <oleksandr.tarasiuk at outlook.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
Log Message:
-----------
[Clang] Fix cast failures by adjusting the resolution of record declaration contexts to handle semantic and lexical distinctions (#96228)
Fixes #96043
Commit: 5c8eb83ce8e4ef40fbd61a05f1de6394eb908da4
https://github.com/llvm/llvm-project/commit/5c8eb83ce8e4ef40fbd61a05f1de6394eb908da4
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll
Log Message:
-----------
[AMDGPU] Generate test fix-wwm-vgpr-copy.ll (NFC)
Commit: 8da3852f44c64ac4535128741695b9e9d8ee27ef
https://github.com/llvm/llvm-project/commit/8da3852f44c64ac4535128741695b9e9d8ee27ef
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll
Log Message:
-----------
Revert "[AMDGPU] Generate test fix-wwm-vgpr-copy.ll (NFC)"
This reverts commit 5c8eb83ce8e4ef40fbd61a05f1de6394eb908da4.
Commit: e025e5ef44b736b48b8a2ee230a11f674b734b32
https://github.com/llvm/llvm-project/commit/e025e5ef44b736b48b8a2ee230a11f674b734b32
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll
Log Message:
-----------
[AMDGPU] Reland generated test fix-wwm-vgpr-copy.ll (NFC)
Fix issues left over after generation.
Commit: c09ed6a29e392e406623f7c4dc0a8240d2cbc9f2
https://github.com/llvm/llvm-project/commit/c09ed6a29e392e406623f7c4dc0a8240d2cbc9f2
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A llvm/include/llvm/CodeGen/MachineVerifier.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/CodeGen/AMDGPU/verifier-sdwa-cvt.mir
M llvm/test/CodeGen/AMDGPU/verify-constant-bus-violations.mir
M llvm/test/CodeGen/AMDGPU/verify-ds-gws-align.mir
M llvm/test/CodeGen/AMDGPU/verify-duplicate-literal.mir
M llvm/test/CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir
M llvm/test/CodeGen/AMDGPU/verify-image-vaddr-align.mir
M llvm/test/CodeGen/AMDGPU/verify-image.mir
M llvm/test/CodeGen/AMDGPU/verify-scalar-store.mir
M llvm/test/CodeGen/AMDGPU/verify-sop.mir
M llvm/test/CodeGen/AMDGPU/verify-vimage-vsample.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd-gfx12.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd.mir
M llvm/test/CodeGen/MIR/Generic/dbg-value-missing-loc.mir
M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
M llvm/test/CodeGen/RISCV/verify-instr.mir
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen][NewPM] Port `MachineVerifier` to new pass manager (#98628)
- Add `MachineVerifierPass`.
- Use complete `MachineVerifierPass` in `VerifyInstrumentation` if
possible.
`LiveStacksAnalysis` will be added in future, all other analyses are
done.
Commit: 36984536be147ce4f53d7b05a77c8ccc79227271
https://github.com/llvm/llvm-project/commit/36984536be147ce4f53d7b05a77c8ccc79227271
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] SIWholeQuadMode: remove unnecessary map access (NFCI)
Commit: 662c6fc74c1ae7fdefd27524dfaeb7f3e9a1f553
https://github.com/llvm/llvm-project/commit/662c6fc74c1ae7fdefd27524dfaeb7f3e9a1f553
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations.mlir
Log Message:
-----------
[mlir] [bufferize] fix bufferize deallocation error in nest symbol table (#98476)
In nested symbols, the dealloc_helper function generated by lower
deallocations pass was incorrectly positioned, causing calls fail. This
patch fixes this issue.
Commit: 34bfed63313d1340378fc1be931253333db8c36c
https://github.com/llvm/llvm-project/commit/34bfed63313d1340378fc1be931253333db8c36c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/EarlyCSE/math-2.ll
Log Message:
-----------
[ConstantFold] Fix result type when folding powi.f16 (#98681)
Fixes #98665.
Commit: 557ef043afd04da91e79425133f14c94831a646c
https://github.com/llvm/llvm-project/commit/557ef043afd04da91e79425133f14c94831a646c
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution.ll
Log Message:
-----------
[RISCV] Copy AVLs whose LiveIntervals aren't extendable in insertVSETVLI (#98342)
Currently before forwarding an AVL we do a simple non-exhaustive check
to see if its LiveInterval is extendable. But we also need to check for
this when we're extending an AVL's LiveInterval via merging the
VSETVLIInfos in transferBefore with equally zero AVLs.
Rather than trying to conservatively prevent these cases, this inserts a
copy of the AVL instead if we don't know we'll be able to extend it.
This is likely to be more robust, and even if the extra copy is
undesirable these cases should be rare in practice.
Commit: 37211d17f9f237e8a820ed81c1b5e92c22b45d5e
https://github.com/llvm/llvm-project/commit/37211d17f9f237e8a820ed81c1b5e92c22b45d5e
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Support markdown and simplify checks (#97684)
This patch modifies the basic-project in clang-doc. Currently we're
matching the entire html output. This patch modifies it so that we only
match the parts relevant to the documentation logic instead just
matching the boilerplate code. This patch also adds the markdown output
to the basic-project test
Commit: 587308c3436b3fb757d3ba4343ccd4bd0c90f429
https://github.com/llvm/llvm-project/commit/587308c3436b3fb757d3ba4343ccd4bd0c90f429
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/dummy-return.s
Log Message:
-----------
[BOLT][AArch64] Provide createDummyReturnFunction (#96626)
AArch64 needs this function when instrumenting statically-linked binaries.
Sample commands:
```bash
clang -Wl,-q test.c -static -o out
llvm-bolt -instrument -instrumentation-sleep-time=5 out -o out.instr
```
Commit: a5a29a26aaf0d7e63101471250d32e9b7230fe73
https://github.com/llvm/llvm-project/commit/a5a29a26aaf0d7e63101471250d32e9b7230fe73
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/misc-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/misc-intrinsic.cpp
A flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/namelist.f90
Log Message:
-----------
[Flang] Implement RENAME intrinsic (code-gen + runtime entry point) (#98359)
This PR implements the RENAME intrinsic, which is a GFortran extension
(see
https://gcc.gnu.org/onlinedocs/gfortran/intrinsic-procedures/rename.html).
Commit: 18c70b070b6dd7cead8f049dde0542dc75ed28fd
https://github.com/llvm/llvm-project/commit/18c70b070b6dd7cead8f049dde0542dc75ed28fd
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaTemplate.cpp
A clang/lib/Sema/SemaTemplateDeductionGuide.cpp
Log Message:
-----------
[clang] Refactor: Move CTAD code from SemaTemplate.cpp to a dedicated file, NFC (#98524)
Split out the deduction guide related code from SemaTemplate.cpp to a
dedicated file.
These code has grown significantly, and moving it to a separate file
will improve code organization.
Commit: 5555a9e657939dafb569a825fecd1d0f4202b21d
https://github.com/llvm/llvm-project/commit/5555a9e657939dafb569a825fecd1d0f4202b21d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 18c70b070b6d
Commit: caa0e42ceb6e671d68b8b8e1d04f136696a4228b
https://github.com/llvm/llvm-project/commit/caa0e42ceb6e671d68b8b8e1d04f136696a4228b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/EarlyCSE/math-2.ll
Log Message:
-----------
Fix assertion failure in PR98681 (#98860)
See https://en.cppreference.com/w/cpp/numeric/math/pow:
```
C++98 added overloads where exp has type int on top of C [pow()](https://en.cppreference.com/w/c/numeric/math/pow), and the return type of std::pow(float, int) was float. However, the additional overloads introduced in C++11 specify that std::pow(float, int) should return double. [LWG issue 550](https://cplusplus.github.io/LWG/issue550) was raised to target this conflict, and the resolution is to removed the extra int exp overloads.
```
Commit: 01191874f9011d3ce8b7c2830ece1f030c60da7f
https://github.com/llvm/llvm-project/commit/01191874f9011d3ce8b7c2830ece1f030c60da7f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A llvm/include/llvm/CodeGen/TwoAddressInstructionPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/statepoint-twoaddr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/twoaddr-extract-dyn-v7f64.mir
M llvm/test/CodeGen/AMDGPU/early-lis-two-address-partial-def.mir
M llvm/test/CodeGen/AMDGPU/gfx10-twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
M llvm/test/CodeGen/Hexagon/two-addr-tied-subregs.mir
M llvm/test/CodeGen/X86/distancemap.mir
M llvm/test/CodeGen/X86/statepoint-vreg-twoaddr.mir
M llvm/test/CodeGen/X86/twoaddr-mul2.mir
Log Message:
-----------
[CodeGen] Port `two-address-instructions` to new pass manager (#98632)
Add `TwoAddressInstructionPass`.
Commit: 0d7403184d3b20d16104a36cf78457ddce2af9ba
https://github.com/llvm/llvm-project/commit/0d7403184d3b20d16104a36cf78457ddce2af9ba
Author: David Green <david.green at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
Log Message:
-----------
[AArch64] Add a AArch64InstrInfo::isFpOrNEON method for checking physical register call. NFC
Commit: 34433fdceb63cb14b69f847a39f6ce98459f3129
https://github.com/llvm/llvm-project/commit/34433fdceb63cb14b69f847a39f6ce98459f3129
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/docs/Heatmaps.md
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
Log Message:
-----------
[BOLT] Add -print-mappings option to heatmaps (#97567)
Emit a mapping in the legend between the characters/buckets and the text
sections, using:
```sh
llvm-heatmap-bolt -print-mappings ..
```
Example:
```
Legend:
..
Sections:
a/A : .init 0x00000100-0x00000200
b/B : .plt 0x00000200-0x00000500
c/C : .text 0x00010000-0x000a0000
d/D : .fini 0x000a0000-0x000f0000
..
```
Commit: 297fab1b3075a9dcd65213176add34ad7d744bde
https://github.com/llvm/llvm-project/commit/297fab1b3075a9dcd65213176add34ad7d744bde
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/typepromotion-overflow.ll
Log Message:
-----------
[LoongArch] Copy typepromotion-overflow.ll from AArch64. NFC
Commit: 9d34b673c0abea4ee0a3dd4c399314411b02f1cc
https://github.com/llvm/llvm-project/commit/9d34b673c0abea4ee0a3dd4c399314411b02f1cc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/ptrtoint.ll
Log Message:
-----------
[InstSimplify] Fold ptrtoint(ptradd(P,X-ptrtoint(P))) to X (#98649)
This is a special case of the general ptrtoint(gep) to add(ptrtoint)
transform that is particularly profitable, as everything folds away.
Proof: https://alive2.llvm.org/ce/z/fwv8_L
Fixes https://github.com/llvm/llvm-project/issues/86417.
Commit: 9ac2b8965264a7f20a3e07c913b25c375a080c0f
https://github.com/llvm/llvm-project/commit/9ac2b8965264a7f20a3e07c913b25c375a080c0f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Diagnose volatile reads
Commit: 9ad72df55cb74b29193270c28f6974d2af8e0b71
https://github.com/llvm/llvm-project/commit/9ad72df55cb74b29193270c28f6974d2af8e0b71
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/test/CodeGen/aarch64-byval-temp.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/builtins-bitint.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-overflow.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/ext-int-sanitizer.cpp
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/extend-arg-64.c
M clang/test/CodeGen/ubsan-shift-bitint.c
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
Log Message:
-----------
[clang] Use different memory layout type for _BitInt(N) in LLVM IR (#91364)
There are two problems with _BitInt prior to this patch:
1. For at least some values of N, we cannot use LLVM's iN for the type
of struct elements, array elements, allocas, global variables, and so
on, because the LLVM layout for that type does not match the high-level
layout of _BitInt(N).
Example: Currently for i128:128 targets correct implementation is
possible either for __int128 or for _BitInt(129+) with lowering to iN,
but not both, since we have now correct implementation of __int128 in
place after a21abc7.
When this happens, opaque [M x i8] types used, where M =
sizeof(_BitInt(N)).
2. LLVM doesn't guarantee any particular extension behavior for integer
types that aren't a multiple of 8. For this reason, all _BitInt types
are now have in-memory representation that is a whole number of bytes.
I.e. for example _BitInt(17) now will have memory layout type i32.
This patch also introduces concept of load/store type and adds an API to
CodeGenTypes that returns the IR type that should be used for load and
store operations. This is particularly useful for the case when a
_BitInt ends up having array of bytes as memory layout type. For
_BitInt(N), let M = sizeof(_BitInt(N)), and let BITS = M * 8. Loads and
stores of iM would both (1) produce far better code from the backends
and (2) be far more optimizable by IR passes than loads and stores of [M
x i8].
Fixes https://github.com/llvm/llvm-project/issues/85139
Fixes https://github.com/llvm/llvm-project/issues/83419
---------
Co-authored-by: John McCall <rjmccall at gmail.com>
Commit: 71051deff27928cff908ea794e09806eee662801
https://github.com/llvm/llvm-project/commit/71051deff27928cff908ea794e09806eee662801
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy-zero-size.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-dbgloc.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
M llvm/test/Transforms/MemCpyOpt/opaque-ptr.ll
Log Message:
-----------
[MemCpyOpt] Fix infinite loop in memset+memcpy fold (#98638)
For the case where the memcpy size is zero, this transform is a complex
no-op. This can lead to an infinite loop when the size is zero in a way
that BasicAA understands, because it can still understand that dst and
dst + src_size are MustAlias.
I've tried to mitigate this before using the isZeroSize() check, but we
can hit cases where InstSimplify doesn't understand that the size is
zero, but BasicAA does.
As such, this bites the bullet and adds an explicit isKnownNonZero()
check to guard against no-op transforms.
Fixes https://github.com/llvm/llvm-project/issues/98610.
Commit: b1bcb7ca460fcd317bbc8309e14c8761bf8394e0
https://github.com/llvm/llvm-project/commit/b1bcb7ca460fcd317bbc8309e14c8761bf8394e0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/test/CodeGenHIP/default-attributes.hip
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/always-uniform.ll
M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bfe-combine.ll
M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
M llvm/test/CodeGen/AMDGPU/bfm.ll
M llvm/test/CodeGen/AMDGPU/bitreverse.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/copy-to-reg-scc-clobber.ll
M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-sext-inreg.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/early-inline.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fma-combine.ll
M llvm/test/CodeGen/AMDGPU/fma.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f64.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f64.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/fshl.ll
M llvm/test/CodeGen/AMDGPU/fshr.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-constant.ll
M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/global_smrd.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-resource-usage-function-ordering.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/idot2.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/idot8s.ll
M llvm/test/CodeGen/AMDGPU/idot8u.ll
M llvm/test/CodeGen/AMDGPU/imm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-packed.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
M llvm/test/CodeGen/AMDGPU/lds-zero-initializer.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.queue.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workgroup.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/local-64.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
M llvm/test/CodeGen/AMDGPU/max.i16.ll
M llvm/test/CodeGen/AMDGPU/max.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memcpy-scalar-load.ll
M llvm/test/CodeGen/AMDGPU/memmove-scalar-load.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/AMDGPU/or.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
M llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
M llvm/test/CodeGen/AMDGPU/rotl.ll
M llvm/test/CodeGen/AMDGPU/rotr.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-divergence-driven-isel.ll
M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shift-i128.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
M llvm/test/CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/trap.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/trunc.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
M llvm/test/CodeGen/AMDGPU/uniform-select.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/AMDGPU/xor.ll
M llvm/test/CodeGen/AMDGPU/zext-divergence-driven-isel.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
Log Message:
-----------
Reapply "AMDGPU: Move attributor into optimization pipeline (#83131)" and follow up commit "clang/AMDGPU: Defeat attribute optimization in attribute test" (#98851)
This reverts commit adaff46d087799072438dd744b038e6fd50a2d78.
Drop the -O3 checks from default-attributes.hip. I don't know why they
are different on some bots but reverting this is far too disruptive.
Commit: b037d0f0e5f6c7ab528fe3ed9d855f0d770c6709
https://github.com/llvm/llvm-project/commit/b037d0f0e5f6c7ab528fe3ed9d855f0d770c6709
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A bolt/docs/HeatmapHeader.png
M bolt/docs/Heatmaps.md
Log Message:
-----------
[BOLT][docs] Expand Heatmaps.md (#98162)
Improve documentation on heatmaps.
Add example for X axis labels.
Commit: 94279ae4ca2f6bca7eac4c5e7f572ec66b1c4e0f
https://github.com/llvm/llvm-project/commit/94279ae4ca2f6bca7eac4c5e7f572ec66b1c4e0f
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
Log Message:
-----------
[RISCV] Recommit "Expand vp.stride.load to splat of a scalar load." (#98579)
This is a recommit of #98140. The old commit should be rebased on #98205
which changes the feature of hardware zero stride optimization.
It's a similar patch as a214c521f8763b36dd400b89017f74ad5ae4b6c7 for
vp.stride.load. Some targets prefer pattern (vmv.v.x (load)) instead of
vlse with zero stride.
Commit: de3e9d4138abeb92428bba5014af2f3d9ac21323
https://github.com/llvm/llvm-project/commit/de3e9d4138abeb92428bba5014af2f3d9ac21323
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Log Message:
-----------
[MLIR][Linalg] Fix named structured ops yaml file (#98865)
Added missing reciprocal to Python file and fixed ErfOp name in yaml
file. Now running the bash script yields the same output.
Commit: 9f4a25e2a7cd176bd4f946dc651bc18c7a2e8c92
https://github.com/llvm/llvm-project/commit/9f4a25e2a7cd176bd4f946dc651bc18c7a2e8c92
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M lld/test/ELF/systemz-gotent-relax-und-dso.s
M lld/test/ELF/systemz-gotent-relax.s
M lld/test/ELF/systemz-init-padding.s
M lld/test/ELF/systemz-plt.s
M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
M llvm/test/MC/Disassembler/SystemZ/insns.txt
M llvm/test/MC/SystemZ/insn-good-z15.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
Add extended mnemonics (#97571)
This PR adds a number of thus-far missing extended mnemonics to the
assembler and disassembler for SystemZ.
The following mnemonics have been added and are supported for the
assembler and disassembler:
- `NOP(R)?`
- `LFI`
- `RISBG(N)?Z`
The following mnemonics have been added and are supported for the
assembler only:
- `JC(TH)?`
- `LLG(F|H)I`
- `NOT(G)?R`
Commit: 8fcb822da632ab4330b47641826ace01af0768e0
https://github.com/llvm/llvm-project/commit/8fcb822da632ab4330b47641826ace01af0768e0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/pointer-runtime-checks-unprofitable.ll
Log Message:
-----------
[LV] Add uses of result to pointer-runtime-checks-unprofitable.ll test.
Otherwise %p.2 is not used and will be removed by VPlan transforms,
leading to a difference between legacy and VPlan-based cost.
Commit: e8e406041e93e50d6f8259d2793dfbd08dd43b4a
https://github.com/llvm/llvm-project/commit/e8e406041e93e50d6f8259d2793dfbd08dd43b4a
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/vec-cmp-08.ll
Log Message:
-----------
Fix sext_in_reg from i1 to i128
The combineSIGN_EXTEND_INREG routine was using
DAG.getConstant(-1, DL, VT), which does not result in
the expected value when VT has more than 64 bits.
Fix this by using DAG.getAllOnesConstant(DL, VT) instead.
Also add test cases for v1i128 comparisons (which triggers
the bug).
Commit: e027017337cc8ae6ed03dc2a3d1c9903ea2f33b2
https://github.com/llvm/llvm-project/commit/e027017337cc8ae6ed03dc2a3d1c9903ea2f33b2
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers (#98866)
The new matchers don't output pred. Previously we where just creating
a value on the stack and using it as a dummy output for the matchers,
but this results in a stale reference upon return.
To fix, this patch changes the output variable to a pointer, and
passes in `nullptr` for the matchers that don't output `pred.`
Commit: 9cc599b7ebd0d0dec31f2b384b61f679abbf2ce5
https://github.com/llvm/llvm-project/commit/9cc599b7ebd0d0dec31f2b384b61f679abbf2ce5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Update tests for collapse 5/n (nfc) (#96227)
The main goal of this PR (and subsequent PRs), is to add more tests with
scalable vectors to:
* vector-transfer-collapse-inner-most-dims.mlir
There's quite a few cases to consider, hence this is split into multiple
PRs. In this PR, I am simply adding more tests for
`vector.transfer_write` so that for every test for `xfer_read`, there's
a corresponding test for `xfer_write`.
This is a follow-up for: #94490, #94604, #94906, #96214
Commit: eb656ea6d7d2284fc7a8f5f9ef46fc19a18f7f3f
https://github.com/llvm/llvm-project/commit/eb656ea6d7d2284fc7a8f5f9ef46fc19a18f7f3f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add vectorcombine specific test coverage for #98334
Don't rely on phaseordering tests alone
Commit: 054d7b1283a5ebdf724f3ebc38b47e419f8f7a7f
https://github.com/llvm/llvm-project/commit/054d7b1283a5ebdf724f3ebc38b47e419f8f7a7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A llvm/test/CodeGen/X86/huge-stack.ll
Log Message:
-----------
[X86] Add huge-stack.ll test coverage from #84114
Ensure we have -verify-machineinstrs to avoid EXPENSIVE_CHECKS fails
Commit: c2580afed7e55f13762d56400dc346f222ea5884
https://github.com/llvm/llvm-project/commit/c2580afed7e55f13762d56400dc346f222ea5884
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Convert shift+clamp -> avx2 shift folds to use SDPatternMatch::m_SetCC. NFC.
Commit: 967eba07549d64f15e7a91e798aa46214704f62b
https://github.com/llvm/llvm-project/commit/967eba07549d64f15e7a91e798aa46214704f62b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
Log Message:
-----------
[LV] Add test cases for tail-folding sdiv/udiv/urem feeding geps.
Based on reduced tests from
https://github.com/llvm/llvm-project/issues/94328.
Commit: 03d8f9588f143972c0d6af16a8dd8b6a2bfbf1f8
https://github.com/llvm/llvm-project/commit/03d8f9588f143972c0d6af16a8dd8b6a2bfbf1f8
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Log Message:
-----------
[MLIR][OpenMP] NFC: Address tablegen warnings (#98485)
After the addition of the `-verify-openmp-ops` tablegen pseudo-backend
to report suspected issues with the definition of an operation, some
warnings were triggered in the current implementation of OpenMPOps.td.
These are related to known limitations for which TODO messages exist
within these operation's definitions. This patch explicitly inhibits the
inheritance of the `assemblyFormat` property of all clauses added to the
`omp.parallel` and `omp.wsloop` operations to avoid these warnings. This
should help identifying actual issues that may arise later as the
dialect continues to be developed.
Commit: 0d5db4e7ba59bd9cbd956beff8d672a239c9ea12
https://github.com/llvm/llvm-project/commit/0d5db4e7ba59bd9cbd956beff8d672a239c9ea12
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
Log Message:
-----------
[AArch64][GlobalISel] Bitcast and Build Illegal G_CONCAT_VECTOR Instructions (#96492)
Attempts to handle illegal G_CONCAT_VECTOR instructions by bitcasting the source
into scalar values and using G_BUILD_VECTOR instead
Treating the G_CONCAT_VECTORS instruction in the legalization artefact by folding
away concat(bitcast, ...) into buildvector(...) would require check for ImpDef created
by the shuffles in llvm.
Commit: 2b5595b06c0b7fff4a8dd768612b9a52727c38ab
https://github.com/llvm/llvm-project/commit/2b5595b06c0b7fff4a8dd768612b9a52727c38ab
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
Log Message:
-----------
[IR] Remove variants of dropUnknownNonDebugMetadata (#98854)
This patch removes:
- dropUnknownNonDebugMetadata()
- dropUnknownNonDebugMetadata(ID1)
- dropUnknownNonDebugMetadata(ID1, ID2)
The first variant has existing uses, but we can accommodate those by
adding a default parameter to the main variant.
The second and third variant do not have any existing use AFAICT.
Commit: 6484655f9dd07c6d5669dd540feef3c80af84827
https://github.com/llvm/llvm-project/commit/6484655f9dd07c6d5669dd540feef3c80af84827
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Allow initialization of extern variables via ctors
Commit: 59e56eeb1d9c0d25a522ae09f501a350981a31de
https://github.com/llvm/llvm-project/commit/59e56eeb1d9c0d25a522ae09f501a350981a31de
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
R clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
R clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
M clang/test/CXX/drs/cwg1xx.cpp
R clang/test/CXX/temp/temp.names/p3-23.cpp
M clang/test/CXX/temp/temp.res/p3.cpp
M clang/test/FixIt/fixit.cpp
M clang/test/Misc/warning-flags.c
M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/static-assert-cxx17.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M libcxx/include/regex
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
Revert "Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (#98547)"
This reverts commit ce4aada6e2135e29839f672a6599db628b53295d and a
follow-up patch 8ef26f1289bf069ccc0d6383f2f4c0116a1206c1.
This new warning can not be fully suppressed by the
`-Wno-missing-dependent-template-keyword` flag, this gives developer no
time to do the cleanup in a large codebase, see https://github.com/llvm/llvm-project/pull/98547#issuecomment-2228250884
Commit: 1663ac523cae7c8e5818e0fb742591a6ee09a56c
https://github.com/llvm/llvm-project/commit/1663ac523cae7c8e5818e0fb742591a6ee09a56c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/gfx10-twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
Log Message:
-----------
[AMDGPU] Remove some invalid tests (#98796)
`-early-live-intervals` only affects default pipeline. If
`LiveIntervalsAnalysis` happens before `TwoAddressInstructionPass`,
`llc` will crash, by adding `-run-pass liveintervals`.
Commit: b42c332d734319c8a522fa3a24642550bac5d653
https://github.com/llvm/llvm-project/commit/b42c332d734319c8a522fa3a24642550bac5d653
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/CMakeLists.txt
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
Log Message:
-----------
[libc] Use Atomics in GPU Benchmarks (#98842)
This PR replaces our old method of reducing the benchmark results by
using an array to using atomics instead. This should help us implement
single threaded benchmarks.
Commit: cf230e7799472f9a920052e1ef7f1e70e8b0b938
https://github.com/llvm/llvm-project/commit/cf230e7799472f9a920052e1ef7f1e70e8b0b938
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
Log Message:
-----------
[AMDGPU] Enable atomic optimizer for divergent i64 and double values (#96934)
Commit: 0bfdc4d49285edca17a364a8d58cd60d5757c128
https://github.com/llvm/llvm-project/commit/0bfdc4d49285edca17a364a8d58cd60d5757c128
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/constrained-math-builtins.c
Log Message:
-----------
Add __builtin_fmaf16. (#97424)
Commit: 93d7d9bfd4aede19dda0ebaf8aead12c2adbd13b
https://github.com/llvm/llvm-project/commit/93d7d9bfd4aede19dda0ebaf8aead12c2adbd13b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
Log Message:
-----------
[InstSimplify] Add test for #98753 (NFC)
Commit: 1af3a89a4b384cbc5a6b111a0f7756085de818cd
https://github.com/llvm/llvm-project/commit/1af3a89a4b384cbc5a6b111a0f7756085de818cd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/test/C/C2y/n3244.c
Log Message:
-----------
Correct test for 32-bit systems
Addresses an issue found in post-commit.
Commit: a972a394afcb276abb3029d0f2753d4403e379c2
https://github.com/llvm/llvm-project/commit/a972a394afcb276abb3029d0f2753d4403e379c2
Author: Thomas Wucher <30866545+thomaswucher at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
A clang/test/Index/binop.cpp
M clang/test/Index/blocks.c
M clang/test/Index/c-index-api-loadTU-test.m
M clang/test/Index/index-concepts.cpp
M clang/test/Index/load-staticassert.cpp
M clang/test/Index/nested-binaryoperators.cpp
M clang/test/Index/preamble.c
M clang/test/Index/print-type.c
M clang/test/Index/print-type.cpp
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/test/Index/remap-load.c
M clang/test/Index/usrs.m
M clang/tools/c-index-test/c-index-test.c
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/libclang.map
Log Message:
-----------
Retrieve BinaryOperator::getOpcode and BinaryOperator::getOpcodeStr via libclang and its python interface (#98489)
This is a rework of patch [D10833](https://reviews.llvm.org/D10833)
previously posted on LLVM Phabricator by arthurp in 2015. It allows to
retrieve the type of binary operator via libclangs python bindings.
I did clean up the changes, removed unrelated changes and rebased the
changeset to the latest main branch. As this is my first contribution to
the LLVM project, let me know if any required tests or documentation are
missing.
Commit: 861a8ed68be7c6d5e2605b1ab3810fde72b5f66a
https://github.com/llvm/llvm-project/commit/861a8ed68be7c6d5e2605b1ab3810fde72b5f66a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Remove compound directives from `checkNestingOfRegions` (#98387)
Express the constraints via constituent directives.
Commit: bd04ac0694cc9fb3c43a4acb2f7cd1db08eba673
https://github.com/llvm/llvm-project/commit/bd04ac0694cc9fb3c43a4acb2f7cd1db08eba673
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Fix "default label in switch which covers all enumeration values" warning; NFC
Amends a972a394afcb276abb3029d0f2753d4403e379c2
Commit: 4ed0f84d3897ba2f3c05f94342d9423cab61f86b
https://github.com/llvm/llvm-project/commit/4ed0f84d3897ba2f3c05f94342d9423cab61f86b
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
M offload/test/offloading/bug51781.c
M offload/test/offloading/bug51982.c
Log Message:
-----------
[Offload] XFAIL four tests while working on fix (#98899)
omp_dynamic_shared_memory_mixed_amdgpu.c
omp_dynamic_shared_memory_amdgpu.c
amdgcn-amd-amdhsa::bug51982.c
amdgcn-amd-amdhsa::bug51781.c
Commit: a1dfe15632170342ae073d7238294dfe224682ed
https://github.com/llvm/llvm-project/commit/a1dfe15632170342ae073d7238294dfe224682ed
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Simplify check for taskloop in `ActOnOpenMPLoopInitia… (#98633)
…lization`
Replace the explicit list of compound directives ending with taskloop
with checking for the last leaf construct.
Commit: 075f7542f1b55695b871fb5d6359c2350af474f8
https://github.com/llvm/llvm-project/commit/075f7542f1b55695b871fb5d6359c2350af474f8
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
A llvm/test/tools/llvm-split/AMDGPU/declarations.ll
Log Message:
-----------
[AMDGPU][llvm-split] Fix division by zero (#98888)
An empty module, or one containing only declarations, would result in a
division by a zero cost.
Commit: e73cf2f0c5b437f944e9a796d96d550d6ae3d8cf
https://github.com/llvm/llvm-project/commit/e73cf2f0c5b437f944e9a796d96d550d6ae3d8cf
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang] Remove materialization workaround in type converter (#98743)
This change is in preparation of #97903, which adds extra checks for
materializations: it is now enforced that they produce an SSA value of
the correct type, so the current workaround no longer works.
The original workaround avoided target materializations by directly
returning the to-be-converted SSA value from the materialization
callback. This can be avoided by initializing the lowering patterns that
insert the materializations without a type converter. For
`cg::XEmboxOp`, the existing workaround that skips
`unrealized_conversion_cast` ops is still in place.
Also remove the lowering pattern for `unrealized_conversion_cast`. This
pattern has no effect because `unrealized_conversion_cast` ops that are
inserted by the dialect conversion framework are never matched by the
pattern driver.
Commit: 97ebc9794941d9e73792ab9deab7abafaf750a17
https://github.com/llvm/llvm-project/commit/97ebc9794941d9e73792ab9deab7abafaf750a17
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang[OpenMP] Revert accidentally included changes from previous commit
Commit: ef51e617c43ef4248973f07e0a711f69d85c948c
https://github.com/llvm/llvm-project/commit/ef51e617c43ef4248973f07e0a711f69d85c948c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/barrier
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/latch
M libcxx/include/locale
M libcxx/include/locale.h
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/stop_token
M libcxx/include/thread
Log Message:
-----------
[libc++] Handle _LIBCPP_HAS_NO_{THREADS,LOCALIZATION} consistently with other carve-outs (#98319)
Previously, we would issue an #error when using a header that requires
threading support or localization support in a configuration where that
is disabled. This is unlike what we do for all the other carve outs like
no-filesystem, no-wide-characters or no-random-device. Instead of
issuing an #error, we normally just remove the problematic parts of the
header.
This patch makes the handling of no-localization and no-threads
consistent with the other carve-outs. I dislike the fact that users
won't get an explicit error message when trying to use e.g. ios in a
build that doesn't support localization, but I think it is better to
handle things consistently. Note that besides the consistency argument,
the #error approach doesn't really work anyways since it would break
down if we moved towards assuming the C locale only in the
no-localization mode.
Commit: 1612e4a3510982692f22e3f8190fc7c977185cbe
https://github.com/llvm/llvm-project/commit/1612e4a3510982692f22e3f8190fc7c977185cbe
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
Log Message:
-----------
Revert "[AMDGPU] Do not use original PHIs in coercion chains (#98063)"
This reverts commit dc8ea046a516c3bdd0ece306f406c9ea833d4dac.
It generated broken IR as described here:
https://github.com/llvm/llvm-project/pull/98063#issuecomment-2225259451
Commit: 4420c57fc395385eb039cb7c30d71ee29628c7de
https://github.com/llvm/llvm-project/commit/4420c57fc395385eb039cb7c30d71ee29628c7de
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
Log Message:
-----------
[AMDGPU] Add a test case for #98063
Add a test case to demonstrate broken IR caused by #98063 "[AMDGPU] Do
not use original PHIs in coercion chains" before it was reverted.
Commit: 9ba9e480fa4ef1f37a2b6b51603ac8e446cca5ff
https://github.com/llvm/llvm-project/commit/9ba9e480fa4ef1f37a2b6b51603ac8e446cca5ff
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/src/__support/OSUtil/baremetal/io.cpp
Log Message:
-----------
[libc] Mark external baremetal I/O symbols as extern "C" (#98871)
These need to use C ABI.
Commit: beccecaacde405a3b50891c67594eccbcd1c8b08
https://github.com/llvm/llvm-project/commit/beccecaacde405a3b50891c67594eccbcd1c8b08
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
Log Message:
-----------
[SLP]Fix PR98838: do no replace condition of select-based logical op by poison.
If the reduction operation is a select-based logical op, the condition
should be replaced by the poison, better to replace by the non-poisoning
constant to prevent poison propagation in the vector code.
Fixes https://github.com/llvm/llvm-project/issues/98838
Commit: dd7d81ea49bf39e1d69bbb84bd3f31bd95519369
https://github.com/llvm/llvm-project/commit/dd7d81ea49bf39e1d69bbb84bd3f31bd95519369
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/unittests/IR/AffineExprTest.cpp
Log Message:
-----------
Fix simplification of x + x//c*-c to x mod c. (#98909)
There was no check that rhs is actually a multiplication.
Commit: acc159aea1e641e3694ab8fe5faa231788077011
https://github.com/llvm/llvm-project/commit/acc159aea1e641e3694ab8fe5faa231788077011
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/SCF/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
A mlir/test/Transforms/test-block-legalization.mlir
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Fix missing source materialization (#97903)
This commit fixes a bug in the dialect conversion. During a 1:N
signature conversion, the dialect conversion did not insert a cast back
to the original block argument type, producing invalid IR.
See `test-block-legalization.mlir`: Without this commit, the operand
type of the op changes because an `unrealized_conversion_cast` is
missing:
```
"test.consumer_of_complex"(%v) : (!llvm.struct<(f64, f64)>) -> ()
```
To implement this fix, it was necessary to change the meaning of
argument materializations. An argument materialization now maps from the
new block argument types to the original block argument type. (It now
behaves almost like a source materialization.) This also addresses a
`FIXME` in the code base:
```
// FIXME: The current argument materialization hook expects the original
// output type, even though it doesn't use that as the actual output type
// of the generated IR. The output type is just used as an indicator of
// the type of materialization to do. This behavior is really awkward in
// that it diverges from the behavior of the other hooks, and can be
// easily misunderstood. We should clean up the argument hooks to better
// represent the desired invariants we actually care about.
```
It is no longer necessary to distinguish between the "output type" and
the "original output type".
Most type converter are already written according to the new API. (Most
implementations use the same conversion functions as for source
materializations.) One exception is the MemRef-to-LLVM type converter,
which materialized an `!llvm.struct` based on the elements of a memref
descriptor. It still does that, but casts the `!llvm.struct` back to the
original memref type. The dialect conversion inserts a target
materialization (to `!llvm.struct`) which cancels out with the other
cast.
This commit also fixes a bug in `computeNecessaryMaterializations`. The
implementation did not account for the possibility that a value was
replaced multiple times. E.g., replace `a` by `b`, then `b` by `c`.
This commit also adds a transform dialect op to populate SCF-to-CF
patterns. This transform op was needed to write a test case. The bug
described here appears only during a complex interplay of 1:N signature
conversions and op replacements. (I was not able to trigger it with ops
and patterns from the `test` dialect without duplicating the `scf.if`
pattern.)
Note for LLVM integration: Make sure that all
`addArgument/Source/TargetMaterialization` functions produce an SSA of
the specified type.
Depends on #98743.
Commit: 94efdff84a8f6d52915b90b705fe991f4888c544
https://github.com/llvm/llvm-project/commit/94efdff84a8f6d52915b90b705fe991f4888c544
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/docs/CommandGuide/clang.rst
Log Message:
-----------
[AArch64][RISCV] Document option --print-supported-extensions (#98698)
Add documentation for the `--print-supported-extensions`
option which appears to be missing at present.
Commit: 88f0dc48d6f46e1677dc679ae649e9b291140b13
https://github.com/llvm/llvm-project/commit/88f0dc48d6f46e1677dc679ae649e9b291140b13
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/string/memory_utils/op_tests.cpp
Log Message:
-----------
[libc] Fix warnings emitted by GCC (#98751)
Fixes #98709.
Commit: 4e338dce4de4ca1476e2b8f9c907769691a9093b
https://github.com/llvm/llvm-project/commit/4e338dce4de4ca1476e2b8f9c907769691a9093b
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__mdspan/extents.h
M libcxx/include/mdspan
M libcxx/include/version
A libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.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++] P2389R2: `dextents` Index Type Parameter (#97393)
This patch implements P2389R2, which was adopted at the St. Louis meeting.
It builds upon previous enhancements from P2299R3, which introduced deduction
guides and the `dextents` alias template.
Commit: 365f5b4a1dfe84f2978a41d5a85672e749056620
https://github.com/llvm/llvm-project/commit/365f5b4a1dfe84f2978a41d5a85672e749056620
Author: Him188 <tguan at nvidia.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-casts.mir
M llvm/test/CodeGen/AArch64/itofp.ll
Log Message:
-----------
[AArch64][GISel] Add fp128 and i128 sitofp/uitofp handling (#97691)
Legalize sitofp/uitofp involving fp128/i128 types into a libcall.
Vector with i128/fp128 types are scalarized.
Commit: 82af55983d75d4a821b76ee926b19725ec7fa889
https://github.com/llvm/llvm-project/commit/82af55983d75d4a821b76ee926b19725ec7fa889
Author: Vincent Belliard <81770341+v-bulle at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M lldb/include/lldb/API/SBValue.h
M lldb/source/API/SBValue.cpp
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/formatters/main.cpp
M lldb/test/API/python_api/formatters/synth.py
Log Message:
-----------
[API] add GetSyntheticValue (#95959)
Adds GetSyntheticValue to the API on top of GetNonSyntheticValue.
---------
Co-authored-by: Vincent Belliard <v-bulle at github.com>
Commit: 6469faf9fd835a0fab6290168949d00e35556e75
https://github.com/llvm/llvm-project/commit/6469faf9fd835a0fab6290168949d00e35556e75
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir
M mlir/test/Integration/GPU/ROCM/printf.mlir
M mlir/test/Integration/GPU/ROCM/two-modules.mlir
M mlir/test/Integration/GPU/ROCM/vecadd.mlir
M mlir/test/Integration/GPU/ROCM/vector-transferops.mlir
Log Message:
-----------
[mlir] Fix GPU integration test (#98917)
Fix tests that were broken by #97903.
Commit: deff3afd35d4f301fe74d20cf9b180c79d2b7016
https://github.com/llvm/llvm-project/commit/deff3afd35d4f301fe74d20cf9b180c79d2b7016
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Instrumentation.cpp
Log Message:
-----------
[NFC][BOLT] Rename createDummyReturnFunction to createReturnInstructi.. (#98448)
`createDummyReturnFunction` is not creating a function but instead only
a function body that is simply a return statement.
This patch renames it to: `createReturnInstructionList`
Commit: b320d3733dfb76c1b7d78fc499490d34b99e2284
https://github.com/llvm/llvm-project/commit/b320d3733dfb76c1b7d78fc499490d34b99e2284
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-srl.ll
Log Message:
-----------
[X86] Add handling for select(icmp_uge(amt,BW),0,shift_logical(x,amt)) -> avx2 shift(x,amt)
We need to catch this otherwise pre-AVX512 targets will fold this to and(icmp_ult(amt,BW),shift_logical(x,amt))
Commit: 77e31000db8bd7103b0041b22e654537ceea95f6
https://github.com/llvm/llvm-project/commit/77e31000db8bd7103b0041b22e654537ceea95f6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[DAG] SDPatternMatch::m_SetCC - rename operands. NFC.
Rename operands to make it easier to remember what they each represent.
Commit: ba8792b667a2bb167d6a8ce3b76e14d51258065c
https://github.com/llvm/llvm-project/commit/ba8792b667a2bb167d6a8ce3b76e14d51258065c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[X86] visitFCOPYSIGN - pull out repeated SDLoc. NFC.
Commit: 4fac1456d3132e2745ddbfacb326cf0afd613f3c
https://github.com/llvm/llvm-project/commit/4fac1456d3132e2745ddbfacb326cf0afd613f3c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineSelect - reuse existing SDLoc. NFC.
Commit: 903f6fceb86e68b0dbc11b13f808fc00a471e595
https://github.com/llvm/llvm-project/commit/903f6fceb86e68b0dbc11b13f808fc00a471e595
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Prune dead LI in vsetvli coalescing with trivially dead vsetvli (#98647)
This is a follow up to ff8a03a7. On the review for that, I'd suggested a
stylistic rework, but after discussion we decided to move forward with
the fix as it was. This change is a small part of that suggested rework.
Once I sat down and wrote the code, I think I've convinced myself of an
entirely different approach (tbd), but for the moment, let's use a
lambda to share code so that we can pickup a missed optimization, and
reduce some duplication.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 03fe7a83ce79d43b63052e7762573b57a8c52db8
https://github.com/llvm/llvm-project/commit/03fe7a83ce79d43b63052e7762573b57a8c52db8
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
A clang/test/Driver/ps4-linker.c
R clang/test/Driver/ps4-ps5-linker.c
A clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS4/PS5][NFC] Split PScpu::Linker into PS4/PS5 classes (#98884)
It has long been the case on PlayStation that the linker itself has
taken on much of the responsibility that is traditionally the domain of
the C language driver elsewhere: which linker script to use, selection
of CRT objects, and so forth.
This is changing on PS5. The driver will assume responsibility for such
things. However, the situation on PS4 will remain as-is. To accommodate
this divergence, we must first separate how linker Jobs are created.
`clang/test/Driver/ps4-linker.c` has been similarly split for related
reasons.
In subsequent changes, PS5-specific linking behaviour can be moved from
SIE private patches in the PS5 linker to the (upstream) driver without
affecting the behaviour or implementation of PS4.
Commit: 7775be4d48e95385c1968d7f1826a11e08f5f954
https://github.com/llvm/llvm-project/commit/7775be4d48e95385c1968d7f1826a11e08f5f954
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/async.mlir
Log Message:
-----------
[mlir] Fix GPU integration test (part 2) (#98918)
Fix tests that were broken by #97903.
Commit: 0309709a6786653da7164334c83b09c9f37b943a
https://github.com/llvm/llvm-project/commit/0309709a6786653da7164334c83b09c9f37b943a
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for mlir:SCFTransformOps (#98919)
Bazel build failure was introduced in commit acc159ae.
Commit: d5f4f084d29ce95fa27e5b7e80a630ae194df4bb
https://github.com/llvm/llvm-project/commit/d5f4f084d29ce95fa27e5b7e80a630ae194df4bb
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
Log Message:
-----------
[RISCV] Always expand zero strided vp.strided.load (#98901)
This patch makes zero strided VP loads always be expanded to a scalar
load and splat even if +optimized-zero-stride-load is present.
Expanding it allows more .vx splat patterns to be matched, which is
needed to prevent regressions in #98111.
If the feature is present, RISCVISelDAGToDAG will combine it back to a
zero strided load.
The RV32 test diff also shows how need to emit a zero strided load
either way after expanding an SEW=64 strided load. We could maybe fix
this in a later patch by not doing the expand if SEW>XLEN.
Commit: a46d60ad32dbb14d82eda7d18ef7c418a51b22ff
https://github.com/llvm/llvm-project/commit/a46d60ad32dbb14d82eda7d18ef7c418a51b22ff
Author: Max Beck-Jones <max.beck-jones at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC] [AArch64] Refactor predicate register class decode functions (#97412)
In a previous PR #81716, a new decoder function was added to
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp. During
code review it was suggested that, as most of the decoder functions were
very similar in structure, that they be refactored into a single,
templated function. I have added the refactored function, removed the
definitions of the replaced functions, and replaced the references to
the replaced functions in AArch64Disassembler.cpp and
llvm/lib/Target/AArch64/AArch64RegisterInfo.td. To reduce the number of
duplicate references in AArch64RegisterInfo.td, I have also made a small
change to llvm/utils/TableGen/DecoderEmitter.cpp.
Commit: c2fab5a4c69c857061b06b9a826bf4730821e483
https://github.com/llvm/llvm-project/commit/c2fab5a4c69c857061b06b9a826bf4730821e483
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
Fix memory leak in unit test
Commit: 106621b601d7dc7c4929fba293f7e5ffe6b92c58
https://github.com/llvm/llvm-project/commit/106621b601d7dc7c4929fba293f7e5ffe6b92c58
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/test/UnitTest/LibcTest.cpp
Log Message:
-----------
[libc][NFC] Fix printed test time in 32-bit systems (#98922)
clock() returns a clock_t, which is a long and might overflow in 32-bit
systems when the test takes a long time to run. Changing it to uint64_t
fixes this issue. Before:
[ RUN ] LlvmLibcHashTest.Avalanche
[ OK ] LlvmLibcHashTest.Avalanche (18446744073709551138 ms)
After this patch:
[ RUN ] LlvmLibcHashTest.Avalanche
[ OK ] LlvmLibcHashTest.Avalanche (4154 ms)
Commit: a78b19d8ea513a2e88fa431b549b65406384a12d
https://github.com/llvm/llvm-project/commit/a78b19d8ea513a2e88fa431b549b65406384a12d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[IR] Use SmallSet with more inline elements in dropUnknownNonDebugMetadata (NFC) (#98853)
SmallSet here often ends up allocating memory via std::set inside
SmallSet because KnownIDs.size() goes up to 17 on an x86 host. This
patch switches to SmallSet<unsigned, 32> to avoid memory
allocations.
The increased inline elements here save 0.57% of heap allocations during
the compilation of X86ISelLowering.cpp.ii, a preprocessed version of
X86ISelLowering.cpp.
Commit: 3560e1d0cefa45285f3063c3f74270bcbd744da3
https://github.com/llvm/llvm-project/commit/3560e1d0cefa45285f3063c3f74270bcbd744da3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitADDLike - convert (A-B)+(C-D) --> (A+C)-(B+D) fold to sd_match. NFC.
Commit: 290537238b45106e30bb082b9affde345d8a5482
https://github.com/llvm/llvm-project/commit/290537238b45106e30bb082b9affde345d8a5482
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[X86] visitADDLike - pull out repeated SDLoc. NFC.
Commit: e6ec7c8f74d1be778f4ddf794d0e2fb63b0dc3be
https://github.com/llvm/llvm-project/commit/e6ec7c8f74d1be778f4ddf794d0e2fb63b0dc3be
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
Log Message:
-----------
[Clang][AST] Move NamespaceDecl bits to DeclContext (#98567)
Currently, `NamespaceDecl` has a member `AnonOrFirstNamespaceAndFlags`
which stores a few pieces of data:
- a bit indicating whether the namespace was declared `inline`, and
- a bit indicating whether the namespace was declared as a
_nested-namespace-definition_, and
- a pointer a `NamespaceDecl` that either stores:
- a pointer to the first declaration of that namespace if the
declaration is no the first declaration, or
- a pointer to the unnamed namespace that inhabits the namespace
otherwise.
`Redeclarable` already stores a pointer to the first declaration of an
entity, so it's unnecessary to store this in `NamespaceDecl`.
`DeclContext` has 8 bytes in which various bitfields can be stored for a
declaration, so it's not necessary to store these in `NamespaceDecl`
either. We only need to store a pointer to the unnamed namespace that
inhabits the first declaration of a namespace. This patch moves the two
bits currently stored in `NamespaceDecl` to `DeclContext`, and only
stores a pointer to the unnamed namespace that inhabits a namespace in
the first declaration of that namespace. Since `getOriginalNamespace`
always returns the same `NamespaceDecl` as `getFirstDecl`, this function
is removed to avoid confusion.
Commit: 56ee6a172a8c17944c3b776159b45e15b31444ef
https://github.com/llvm/llvm-project/commit/56ee6a172a8c17944c3b776159b45e15b31444ef
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
Log Message:
-----------
[compiler-rt][nsan] Disable coredump creation (#98807)
Disable core dump creation.
If NSAN_OPTIONS includes abort_on_error=1,
the process may hang as the kernel attempts
to create an excessively large core file.
Fix #98806
Commit: 148d90729e9fa132f170ba0627bcfb9ee90a0f38
https://github.com/llvm/llvm-project/commit/148d90729e9fa132f170ba0627bcfb9ee90a0f38
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/kcfi.c
Log Message:
-----------
[CodeGen] Set attributes on resolvers emitted after ifuncs
Visiting the ifunc calls `GetOrCreateLLVMFunction` with
`NotForDefinition` while visiting the resolver calls
`GetOrCreateLLVMFunction` with `ForDefinition`.
When an ifunc is emitted before its resolver, the `ForDefinition` call
does not call `SetFunctionAttributes`, because the function prematurely
returns due to `(Entry->getValueType() == Ty)` and
`llvm::GlobalIFunc::getResolverFunctionType(DeclTy)`.
This leads to missing `!kcfi_type` with -fsanitize=kcfi.
```
extern void ifunc0(void) __attribute__ ((ifunc("resolver0")));
void *resolver0(void) { return 0; } // SetFunctionAttributes not called
extern void ifunc1(void) __attribute__ ((ifunc("resolver1")));
static void *resolver1(void) { return 0; } // SetFunctionAttributes not called
extern void ifunc2(void) __attribute__ ((ifunc("resolver2")));
static void *resolver2(void*) { return 0; }
```
Ensure `SetFunctionAttributes` is called by calling
`GetOrCreateLLVMFunction` with a dummy non-function type. Now that the
`F->takeName(Entry)` code path may be taken, the
`DisableSanitizerInstrumentation` code
(https://reviews.llvm.org/D150262) should be moved to `checkAliases`,
when the resolver function is finalized.
Pull Request: https://github.com/llvm/llvm-project/pull/98832
Commit: 266a5a9cb9daa96c1eeaebc18e10f5a37d638734
https://github.com/llvm/llvm-project/commit/266a5a9cb9daa96c1eeaebc18e10f5a37d638734
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/LinearTransform.cpp
M mlir/lib/Analysis/Presburger/PWMAFunction.cpp
M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
M mlir/lib/Analysis/Presburger/Simplex.cpp
M mlir/lib/Analysis/Presburger/Utils.cpp
Log Message:
-----------
mlir/Presburger: optimize to avoid creating copies (#97897)
Optimize the Presburger library to avoid unnecessarily creating copies.
While at it, fix some other minor issues in the codebase.
Commit: 4797036fdbbe5d90e8639a0506fdcf9385d370d8
https://github.com/llvm/llvm-project/commit/4797036fdbbe5d90e8639a0506fdcf9385d370d8
Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/load-store.ll
Log Message:
-----------
[NVPTX] Adds float/double tests to load-store tests. (#96436)
Commit: 31d4c9750694fa3728e45cbd6f740063ee19a6fa
https://github.com/llvm/llvm-project/commit/31d4c9750694fa3728e45cbd6f740063ee19a6fa
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
A llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
Log Message:
-----------
[LoopVectorize] LLVM fails to vectorise loops with multi-bool varables (#89226)
This change allows to consider compare instructions in the loop with
multiple use inside the loop and outside.
This change allows to vectorise this loop:
int foo(float* a, int n) {
_Bool any = 0;
_Bool all = 1;
for (int i = 0; i < n; i++) {
if (a[i] < 0.0f) {
any = 1;
} else {
all = 0;
}
}
return all ? 1 : any ? 2 : 3;
}
Commit: 87ca6386f9389f9d929d660e37701590092cefab
https://github.com/llvm/llvm-project/commit/87ca6386f9389f9d929d660e37701590092cefab
Author: Nathan James <n.james93 at hotmail.co.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h
A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
Log Message:
-----------
[clang-tidy] Allow specifying pipe syntax for use-ranges checks (#98696)
Add `UseReversePipe` option to (boost|modernize)-use-ranges checks. This
controls whether to create a reverse view using function syntax
(`reverse(Range)`) or pipe syntax (`Range | reverse`)
Commit: 8e42e0d28aaaab8c4070857055689bee25d8a288
https://github.com/llvm/llvm-project/commit/8e42e0d28aaaab8c4070857055689bee25d8a288
Author: Vitaly Goldshteyn <VitalyGoldstein at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
Log Message:
-----------
[clang-tidy] Allow unnecessary-value-param to match templated functions including lambdas with auto. (#97767)
Clang-Tidy unnecessary-value-param value param will be triggered for
templated functions if at least one instantiontion with expensive to
copy type is present in translation unit.
It is relatively common mistake to write lambda functions with auto
arguments for expensive to copy types.
Commit: 1301cf486639c31353b2eede4596f3216c0d49ea
https://github.com/llvm/llvm-project/commit/1301cf486639c31353b2eede4596f3216c0d49ea
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/test/Preprocessor/ptrauth_feature.c
Log Message:
-----------
[PAC][clang] Enhance preprocessor ptrauth tests (#98862)
Test one feature at a time to make RUN lines shorter. See also
https://github.com/llvm/llvm-project/pull/96992#discussion_r1669394582
Commit: f964e8a3f9ef9789f9075694cb887d0b3986d304
https://github.com/llvm/llvm-project/commit/f964e8a3f9ef9789f9075694cb887d0b3986d304
Author: Chris Warner <73851242+cwarner-8702 at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-constants.cpp
Log Message:
-----------
[clang-tidy] bugprone-implicit-widening ignores const exprs that fit (#98352)
Add an option to the
`bugprone-implicit-widening-of-multiplication-result` clang-tidy checker
to suppress warnings when the expression is made up of all compile-time
constants (literals, `constexpr` values or results, etc.) and the result
of the multiplication is guaranteed to fit in both the source and
destination types.
This currently only works for signed integer types:
* For unsigned integers, the well-defined rollover behavior on overflow
prevents the checker from detecting that the expression does not
actually fit in the source expr type, and would produce false negatives.
I have a somewhat-hacky stab at addressing this I'd like to submit as a
follow-on PR
* For floating-point types, there's probably a little additional work to
be done to `Expr` to calculate the result at compile time
Even still, this seems like a helpful addition just for signed types,
and additional types can be added.
Commit: c6b3f5019453bf08d4af1d8cec97ea7d96641a39
https://github.com/llvm/llvm-project/commit/c6b3f5019453bf08d4af1d8cec97ea7d96641a39
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M bolt/test/X86/match-functions-with-calls-as-anchors.test
Log Message:
-----------
[bolt][test] Require asserts in X86/match-functions-with-calls-as-anchors.test (#98882)
Otherwise, it fails due to the unsupported `--debug` flag in non-asserts
builds.
Commit: 4531f82c1ad905614c1df9359a77d48e6397fd97
https://github.com/llvm/llvm-project/commit/4531f82c1ad905614c1df9359a77d48e6397fd97
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
A libc/cmake/modules/compiler_features/check_builtin_ceil_floor_rint_trunc.cpp
A libc/cmake/modules/compiler_features/check_builtin_round.cpp
A libc/cmake/modules/compiler_features/check_builtin_roundeven.cpp
R libc/src/math/aarch64/CMakeLists.txt
R libc/src/math/aarch64/ceil.cpp
R libc/src/math/aarch64/ceilf.cpp
R libc/src/math/aarch64/floor.cpp
R libc/src/math/aarch64/floorf.cpp
R libc/src/math/aarch64/round.cpp
R libc/src/math/aarch64/roundf.cpp
R libc/src/math/aarch64/trunc.cpp
R libc/src/math/aarch64/truncf.cpp
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ceil.cpp
M libc/src/math/generic/ceilf.cpp
M libc/src/math/generic/ceilf16.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/rint.cpp
M libc/src/math/generic/rintf.cpp
M libc/src/math/generic/rintf16.cpp
M libc/src/math/generic/round.cpp
M libc/src/math/generic/roundeven.cpp
M libc/src/math/generic/roundevenf.cpp
M libc/src/math/generic/roundevenf16.cpp
M libc/src/math/generic/roundf.cpp
M libc/src/math/generic/roundf16.cpp
M libc/src/math/generic/trunc.cpp
M libc/src/math/generic/truncf.cpp
M libc/src/math/generic/truncf16.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
M libc/test/src/math/performance_testing/nearest_integer_funcs_perf.cpp
Log Message:
-----------
[libc][math] Optimize nearest integer functions using builtins when available (#98376)
Commit: 8659c91b794dfc4366541e8b7d6a8e96b1861a0b
https://github.com/llvm/llvm-project/commit/8659c91b794dfc4366541e8b7d6a8e96b1861a0b
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][doc] Grammar fix
Fixes 884a07fee0ba36649561003e36d197323380f3d2
Commit: 2da30f89869c493f1bc1ffbd8b458975103af0ac
https://github.com/llvm/llvm-project/commit/2da30f89869c493f1bc1ffbd8b458975103af0ac
Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
M llvm/test/CodeGen/NVPTX/load-store.ll
Log Message:
-----------
[NVPTX] Add Volta Load/Store Atomics (.relaxed, .acquire, .release) and Volatile (.mmio/.volatile) support (#98022)
This PR adds initial support for some of Volta's (sm_70) load/store
atomic and volatile/MMIO operations, hopefully without breaking any
preexisting code. Only relaxed, acquire, and release operations w/
volatile are handled.
This PR does not aim to add support for any of the following:
- syncscope support
- read atomic ops to const, param, grid param
- local memory atomics
- sequentially consistent atomics
- atomicrmw
- ...
Commit: da286c8bf69684d1612d1fc440bd9c6f1a4326df
https://github.com/llvm/llvm-project/commit/da286c8bf69684d1612d1fc440bd9c6f1a4326df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] foldShuffleToIdentity - peek through bitcasts to see if they come from the same value to form identity sequence (#98334)
Workaround until I can get #96884 fixed properly - when trying to find identity sequences, peek through any bitcasts to see if the values all came from the same source. We don't run CSE frequently enough to merge all the bitcasts that we end up with.
Commit: 466c1b65e41dafd8d71da230e44b6460e5c132e1
https://github.com/llvm/llvm-project/commit/466c1b65e41dafd8d71da230e44b6460e5c132e1
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/PackedVector.h
Log Message:
-----------
Provide access to raw bits in PackedVector. NFC. (#98944)
Needed for future patch to access vector as an integer mask.
Commit: 4a23d41750f54b7f32bf95148e5fa4b1dd12c4b5
https://github.com/llvm/llvm-project/commit/4a23d41750f54b7f32bf95148e5fa4b1dd12c4b5
Author: vporpo <vporpodas at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A llvm/docs/SandboxIR.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[SandboxIR][Doc] Add a Doc file for Sandbox IR (#98691)
This is under User Guides > Additional Topics > Sandbox IR.
Commit: 63b16afc54527d8976571d36b17d85f401e4f6a1
https://github.com/llvm/llvm-project/commit/63b16afc54527d8976571d36b17d85f401e4f6a1
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
Log Message:
-----------
[TableGen] Use std::move. NFC
Fix #98719
Commit: 44d9692e6a657ec46e98e4912ac56417da67cfee
https://github.com/llvm/llvm-project/commit/44d9692e6a657ec46e98e4912ac56417da67cfee
Author: jimingham <jingham at apple.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/Event.h
M lldb/source/Target/Process.cpp
M lldb/source/Utility/Event.cpp
M lldb/test/API/python_api/event/TestEvents.py
Log Message:
-----------
Private process events were being delivered to the secondary listener (#98571)
This fixes a bug where Process events were being delivered to secondary
listeners when the Private state thread listener was processing the
event. That meant the secondary listener could get an event before the
Primary listener did. That in turn meant the state when the secondary
listener got the event wasn't right yet. Plus it meant that the
secondary listener saw more events than the primary (not all events get
forwarded from the private to the public Process listener.)
This bug became much more evident when we had a stop hook that did some
work, since that delays the Primary listener event delivery. So I also
added a stop-hook to the test, and put a little delay in as well.
Commit: 1347b9a3aa671d610e812579ab5e5f05870586cf
https://github.com/llvm/llvm-project/commit/1347b9a3aa671d610e812579ab5e5f05870586cf
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/docs/Frontend/PerformanceTips.rst
Log Message:
-----------
[Docs] Store to poison is the canonical form for non-terminator unreachable (#98910)
Add the content from
https://github.com/llvm/llvm-project/pull/96639#issuecomment-2189111902.
Commit: bc1c84aee5b33c30e7bfe1e4a65a64650ec357db
https://github.com/llvm/llvm-project/commit/bc1c84aee5b33c30e7bfe1e4a65a64650ec357db
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
A compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
[compiler-rt] adding preadv2/pwritev2 interceptions. (#97216)
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: a7816c8e0086c1ae9b8ea15a6c252ca97f0405d1
https://github.com/llvm/llvm-project/commit/a7816c8e0086c1ae9b8ea15a6c252ca97f0405d1
Author: Jim Ingham <jingham at apple.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A lldb/test/API/python_api/event/stop_hook.py
M lldb/unittests/Process/ProcessEventDataTest.cpp
Log Message:
-----------
git add a test file from a previous commit.
A new file was added to the python_api/events test, but I forgot to
git add it before making the PR. The commit was:
44d9692e6a657ec46e98e4912ac56417da67cfee
Commit: 1c854965fb20b3b8e0118318357516428ac244b2
https://github.com/llvm/llvm-project/commit/1c854965fb20b3b8e0118318357516428ac244b2
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
A lldb/include/lldb/Symbol/SymbolLocation.h
M lldb/source/Target/AssertFrameRecognizer.cpp
Log Message:
-----------
[lldb/Symbol] Hoist SymbolLocation from AssertFrameRecognizer to reuse it (#98975)
This patch hoists the `SymbolLocation` struct from the
`AssertFrameRecognizer` source file, since it's pretty generic and could
be reused for other purposes.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: f1ac7725e4fd5afa21fb244f9bcc33de654ed80c
https://github.com/llvm/llvm-project/commit/f1ac7725e4fd5afa21fb244f9bcc33de654ed80c
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeOpInterface.h
M mlir/include/mlir/Bytecode/BytecodeReaderConfig.h
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
Log Message:
-----------
[mlir] Remove bytecode reader & writer header from interface. (#98920)
Flagged some additional headers missing in process.
Inspired by #98676
Commit: ba66d60b1caa9cb6fd77d69cc36c530916e68936
https://github.com/llvm/llvm-project/commit/ba66d60b1caa9cb6fd77d69cc36c530916e68936
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M compiler-rt/lib/asan/asan_globals_win.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_suppressions.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.h
M compiler-rt/lib/hwasan/hwasan_allocator.cpp
M compiler-rt/lib/hwasan/hwasan_thread_list.cpp
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/lsan/lsan_common_linux.cpp
M compiler-rt/lib/lsan/lsan_thread.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_allocator.h
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/ubsan/ubsan_diag.cpp
Log Message:
-----------
[sanitizer] Replace ALIGNED with alignas
C++11 `alignas` is already used extensively. `alignas` must precede
`static`, so adjust the ordering accordingly.
msan.cpp: Clang 15 doesn't allow `__attribute__((visibility("default"))) alignas(16)`.
Use the order `alignas(16) SANITIZER_INTERFACE_ATTRIBUTE`. Tested with Clang 7.
Pull Request: https://github.com/llvm/llvm-project/pull/98958
Commit: d286efeb1d0d3e135901dd07535cc68aed39a758
https://github.com/llvm/llvm-project/commit/d286efeb1d0d3e135901dd07535cc68aed39a758
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/ptrauth-call.ll
M llvm/test/CodeGen/AArch64/ptrauth-invoke.ll
Log Message:
-----------
[AArch64][PAC] Lower direct authenticated calls to ptrauth constants. (#97664)
This tries to turn indirect ptrauth calls into direct calls, using
`ConstantPtrAuth::isKnownEquivalent` to compare the `ConstantPtrAuth`
target with the ptrauth call bundle.
This should be straightforward, other than the somewhat awkward GISel
handling, which has a handshake between CallLowering and IRTranslator to
elide the ptrauth when possible.
Commit: 34e06dc3716436603ad815f8d4c3f638ef679e38
https://github.com/llvm/llvm-project/commit/34e06dc3716436603ad815f8d4c3f638ef679e38
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/include/assert.h.def
A libc/newhdrgen/yaml/assert.yaml
Log Message:
-----------
[libc] newheadergen: added assert.yaml (#98826)
- removed assert macro definitions in api.td
- included macro definitions in assert.h.def
- added assert.yaml
Commit: 864478cc74f5e258f86014886df16aa8d393bcc6
https://github.com/llvm/llvm-project/commit/864478cc74f5e258f86014886df16aa8d393bcc6
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Disallow explicit object parameters in more contexts (#89078)
This diagnoses explicit object parameters in more contexts
where they aren’t supposed to appear in (e.g. function pointer
types, non-function member decls, etc.) [dcl.fct]
This fixes #85992.
Commit: db9ac92501509ce02ed188bb20a5211a9f29d5d3
https://github.com/llvm/llvm-project/commit/db9ac92501509ce02ed188bb20a5211a9f29d5d3
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
Add lldb version into initialize response lldb-dap (#98703)
Frequently, while troubleshooting user's debugging issues in VScode, we
would like to know lldb version so that we can confirm if certain
patch/feature is in or not.
This PR adds version string into `initialize` response so that telemetry
can track it.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 00af49a27c0266b21718d4fa130a0a9df23a76f4
https://github.com/llvm/llvm-project/commit/00af49a27c0266b21718d4fa130a0a9df23a76f4
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M compiler-rt/CODE_OWNERS.TXT
Log Message:
-----------
[compiler-rt] Add code owner for nsan (#98967)
Add code owner for nsan.
Commit: 3614f65a7ba9d925010e3316a1d93bcebc632178
https://github.com/llvm/llvm-project/commit/3614f65a7ba9d925010e3316a1d93bcebc632178
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
[Target] Use range-based for loops (NFC) (#98844)
Commit: 7863e4ed8866c67bc73133e419a9387ce6ad4cfb
https://github.com/llvm/llvm-project/commit/7863e4ed8866c67bc73133e419a9387ce6ad4cfb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
Log Message:
-----------
[RISCV] Form VFWMUL.VF and VFWADD.VF/WF when fp_extend is scalar and then splatted. (#98590)
Previously we only supported the extend being in the vector domain after
the splat.
Commit: 9e52a9ee6370fbe7486c4bed5858b1a8ea8ec86f
https://github.com/llvm/llvm-project/commit/9e52a9ee6370fbe7486c4bed5858b1a8ea8ec86f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Simplify some checks of when we can't form a widening vector FP operation. NFCI
The _VL nodes are only used with scalable vectors so we don't need
to check that.
It doesn't matter if Zvfhmin is enabled. All that really matters is
whether Zvfh is.
Commit: 25752a40b8b224e3695edd506f304866f065ca9a
https://github.com/llvm/llvm-project/commit/25752a40b8b224e3695edd506f304866f065ca9a
Author: v01dXYZ <14996868+v01dXYZ at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
A llvm/test/MC/X86/intel-syntax-expr.s
Log Message:
-----------
[X86AsmParser] IntelExpression: End of Statement should check for valid end state (#95677)
The following commit bfb7099eeb9b6f62510b1db0cb93a8c3cfa68236 added a
special case for End of Statement that doesn't check if the state
machine is rightfully in a state where ending is valid.
This PR suggest to revert this change to make `EndOfStatement` processed
as any other tokens that are not consumable by the state machine.
Fixes https://github.com/llvm/llvm-project/issues/94446
---------
Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Commit: bddab518db003f7c5ce9014e9ebd932fb7a85d2f
https://github.com/llvm/llvm-project/commit/bddab518db003f7c5ce9014e9ebd932fb7a85d2f
Author: JaydeepChauhan14 <167076022+JaydeepChauhan14 at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/msse2avx.c
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
A llvm/test/MC/AsmParser/sse2avx-att.s
M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
M llvm/utils/TableGen/X86ManualInstrMapping.def
Log Message:
-----------
[X86][MC,Driver] Support -msse2avx to encode SSE instruction with VEX prefix (#96860)
For GCC compatibility
https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc/x86-Options.html.
Commit: 578cf724de56e6c6768859bb1b6a597ee5d14ea0
https://github.com/llvm/llvm-project/commit/578cf724de56e6c6768859bb1b6a597ee5d14ea0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M llvm/docs/ReleaseNotes.rst
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[RISCV] Add support for getHostCPUFeatures using hwprobe (#94352)
This patch adds support for `sys::getHostCPUFeatures` using the RISC-V
hardware probing interface.
References:
+ Loongarch patch:
https://github.com/llvm/llvm-project/commit/e53f41c39f3eb5052965c720d2cb517d2945fd12
+ asm/hwprobe.h:
https://github.com/torvalds/linux/blob/2ab79514109578fc4b6df90633d500cf281eb689/arch/riscv/include/uapi/asm/hwprobe.h
+ glibc support:
https://inbox.sourceware.org/glibc-cvs/20240301151728.AD5963858C53@sourceware.org/T/#Z2e.:..:20240301151728.AD5963858C53::40sourceware.org:1sysdeps:unix:sysv:linux:riscv:sys:hwprobe.h
+ __NR_riscv_hwprobe syscall tutorial:
https://github.com/cyyself/hwprobe
+ hwprobe docs: https://docs.kernel.org/arch/riscv/hwprobe.html
---------
Co-authored-by: Yangyu Chen <cyy at cyyself.name>
Commit: 5bb3492892f0e087249d6e7aa9c077b9aa0922eb
https://github.com/llvm/llvm-project/commit/5bb3492892f0e087249d6e7aa9c077b9aa0922eb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in SpaceBeforeParensOptions (#98849)
Handle constructors/destructors for AfterFunctionDeclarationName and
AfterFunctionDefinitionName.
Fixes #98812.
Fixes #98820.
Commit: 563ae620958a16423669f00a4219a96cf879b1f7
https://github.com/llvm/llvm-project/commit/563ae620958a16423669f00a4219a96cf879b1f7
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
Log Message:
-----------
[RISCV] Don't expand zero stride vp.strided.load if SEW>XLEN (#98924)
A splat of a <n x i64> on RV32 will get lowered as a zero strided load
anyway (and won't match any .vx splat patterns), so don't expand it to a
scalar load + splat to avoid writing it to the stack.
Commit: f30c09e2d3107e117faf8311c6d8642fa95680af
https://github.com/llvm/llvm-project/commit/f30c09e2d3107e117faf8311c6d8642fa95680af
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Boolean.h
M clang/lib/AST/Interp/Integral.h
Log Message:
-----------
[clang][Interp][NFC] Use a templated conversion operator
Commit: d82c75ebc0483971b768dd5ff077789262ffd9c0
https://github.com/llvm/llvm-project/commit/d82c75ebc0483971b768dd5ff077789262ffd9c0
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/test/Driver/msse2avx.c
Log Message:
-----------
[X86][Driver] Try to fix the test msse2avx.c on non-X86 target
The test was added in https://github.com/llvm/llvm-project/pull/96860
Commit: 27b2f4f861b8aeeabc4eb1a97649062de8fa3992
https://github.com/llvm/llvm-project/commit/27b2f4f861b8aeeabc4eb1a97649062de8fa3992
Author: walter erquinigo <walter at modular.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M lldb/include/lldb/Host/Config.h.cmake
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBDebugger.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
[LLDB] Revert #98351 and #98344
This reverts commit 2fa1220a37a3f55b76a29803d8333b3a3937d53a.
This reverts commit b9496a74eb4029629ca2e440c5441614e766f773.
The patch #98344 causes a crash in LLDB when parsing some files like `numpy.libs/libgfortran-daac5196.so.5.0.0` on graviton (you can download it in https://drive.google.com/file/d/12ygLjJwWpzdYsrzBPp1JGiFHxcgM0-XY/view?usp=drive_link if you want to troubleshoot yourself).
The assert that is hit is the following:
```
llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:2452: std::pair<unsigned int, std::map<long unsigned int, lldb_private::AddressClass> > ObjectFileELF::ParseSymbolTable(lldb_private::Symtab*, lldb::user_id_t, lldb_private::Section*): Assertion `strtab->GetObjectFile() == this' failed.
[383588:383636:20240716,025305.572639:ERROR crashpad_client_linux.cc:780] Crashpad isn't enabled
```
This object file doesn't have apparently a strings table but LLDB still tries to process it due to the code that is being reverted.
Commit: 94ed08d6b2a80cd6838bd16f21e8437918fc4dc1
https://github.com/llvm/llvm-project/commit/94ed08d6b2a80cd6838bd16f21e8437918fc4dc1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
M libc/include/uchar.h.def
M libc/include/wchar.h.def
Log Message:
-----------
[libc] Enable 'wchar.h' for the GPU (#98973)
Summary:
This file is not really well populated, but is required for some targets
to configure. Enable it on the GPU for now.
Commit: 8a27ef676e3c607daede048e5021db18a970aa71
https://github.com/llvm/llvm-project/commit/8a27ef676e3c607daede048e5021db18a970aa71
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
A lldb/include/lldb/Target/VerboseTrapFrameRecognizer.h
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Process.cpp
A lldb/source/Target/VerboseTrapFrameRecognizer.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap.cpp
A lldb/test/Shell/Recognizer/verbose_trap.test
Log Message:
-----------
[lldb] Add frame recognizer for __builtin_verbose_trap (#80368)
This patch adds a frame recognizer for Clang's
`__builtin_verbose_trap`, which behaves like a
`__builtin_trap`, but emits a failure-reason string into debug-info in
order for debuggers to display
it to a user.
The frame recognizer triggers when we encounter
a frame with a function name that begins with
`__clang_trap_msg`, which is the magic prefix
Clang emits into debug-info for verbose traps.
Once such frame is encountered we display the
frame function name as the `Stop Reason` and display that frame to the
user.
Example output:
```
(lldb) run
warning: a.out was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 35942 launched: 'a.out' (arm64)
Process 35942 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Misc.: Function is not implemented
frame #1: 0x0000000100003fa4 a.out`main [inlined] Dummy::func(this=<unavailable>) at verbose_trap.cpp:3:5 [opt]
1 struct Dummy {
2 void func() {
-> 3 __builtin_verbose_trap("Misc.", "Function is not implemented");
4 }
5 };
6
7 int main() {
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = Misc.: Function is not implemented
frame #0: 0x0000000100003fa4 a.out`main [inlined] __clang_trap_msg$Misc.$Function is not implemented$ at verbose_trap.cpp:0 [opt]
* frame #1: 0x0000000100003fa4 a.out`main [inlined] Dummy::func(this=<unavailable>) at verbose_trap.cpp:3:5 [opt]
frame #2: 0x0000000100003fa4 a.out`main at verbose_trap.cpp:8:13 [opt]
frame #3: 0x0000000189d518b4 dyld`start + 1988
```
Commit: 515618e245d477dd734ca303f5066c7293b2ebbc
https://github.com/llvm/llvm-project/commit/515618e245d477dd734ca303f5066c7293b2ebbc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
Revert "[Target] Use range-based for loops (NFC) (#98844)"
This reverts commit 3614f65a7ba9d925010e3316a1d93bcebc632178.
fixupImmediateBr seems to resize ImmBranches.
Commit: 408a351d9187acd6b52cf14dac36378a10ff72a2
https://github.com/llvm/llvm-project/commit/408a351d9187acd6b52cf14dac36378a10ff72a2
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M libc/src/__support/threads/CMakeLists.txt
A libc/src/__support/threads/spin_lock.h
Log Message:
-----------
[libc] add a simple TTAS spin lock (#98846)
Commit: 4497ec293a6e745be817dc88027169bd5e4f7246
https://github.com/llvm/llvm-project/commit/4497ec293a6e745be817dc88027169bd5e4f7246
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
M clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/voidptr-vaarg.c
M clang/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/class-layout.cpp
M clang/test/CodeGenCXX/compound-literals.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
M clang/test/CodeGenCXX/partial-destruction.cpp
M clang/test/CodeGenCXX/pod-member-memcpys.cpp
M clang/test/CodeGenCXX/pr18962.cpp
M clang/test/CodeGenCXX/references.cpp
M clang/test/CodeGenCXX/temporaries.cpp
A clang/test/CodeGenCXX/zero-init-empty-virtual.cpp
M clang/test/CodeGenObjCXX/lambda-to-block.mm
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/task_member_call_codegen.cpp
Log Message:
-----------
[clang][CGRecordLayout] Remove dependency on isZeroSize (#96422)
This is a follow-up from the conversation starting at
https://github.com/llvm/llvm-project/pull/93809#issuecomment-2173729801
The root problem that motivated the change are external AST sources that
compute `ASTRecordLayout`s themselves instead of letting Clang compute
them from the AST. One such example is LLDB using DWARF to get the
definitive offsets and sizes of C++ structures. Such layouts should be
considered correct (modulo buggy DWARF), but various assertions and
lowering logic around the `CGRecordLayoutBuilder` relies on the AST
having `[[no_unique_address]]` attached to them. This is a
layout-altering attribute which is not encoded in DWARF. This causes us
LLDB to trip over the various LLVM<->Clang layout consistency checks.
There has been precedent for avoiding such layout-altering attributes
from affecting lowering with externally-provided layouts (e.g., packed
structs).
This patch proposes to replace the `isZeroSize` checks in
`CGRecordLayoutBuilder` (which roughly means "empty field with
[[no_unique_address]]") with checks for
`CodeGen::isEmptyField`/`CodeGen::isEmptyRecord`.
**Details**
The main strategy here was to change the `isZeroSize` check in
`CGRecordLowering::accumulateFields` and
`CGRecordLowering::accumulateBases` to use the `isEmptyXXX` APIs
instead, preventing empty fields from being added to the `Members` and
`Bases` structures. The rest of the changes fall out from here, to
prevent lookups into these structures (for field numbers or base
indices) from failing.
Added `isEmptyRecordForLayout` and `isEmptyFieldForLayout` (open to
better naming suggestions). The main difference to the existing
`isEmptyRecord`/`isEmptyField` APIs, is that the `isEmptyXXXForLayout`
counterparts don't have special treatment for `unnamed bitfields`/arrays
and also treat fields of empty types as if they had
`[[no_unique_address]]` (i.e., just like the `AsIfNoUniqueAddr` in
`isEmptyField` does).
Commit: b3e1f1b13249868bef6a7c0895bcf2953eeabe44
https://github.com/llvm/llvm-project/commit/b3e1f1b13249868bef6a7c0895bcf2953eeabe44
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/test/Shell/SymbolFile/add-dsym.test
Log Message:
-----------
[lldb] Fix help syntax for add-dsym (target symbols add) (#98976)
The help output incorrectly states that this command takes a shared
library name (<shlib-name>) while really it takes a path to a symbol
file.
rdar://131777043
Commit: bed16824ba48862c540837ea5fbc472003904a76
https://github.com/llvm/llvm-project/commit/bed16824ba48862c540837ea5fbc472003904a76
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/test/CodeGenCXX/zero-init-empty-virtual.cpp
Log Message:
-----------
[clang][test] zero-init-empty-virtual.cpp: remove redundant alignment check
Fixes a `clang-armv8-quick` buildbot failure. Where the alignment
was `4` instead of `8`:
```
// CHECK: @{{.*}} = {{.*}}global %struct.Holder2 zeroinitializer, align 8
^
<stdin>:66:178: note: scanning from here
@g_holder1 = global %struct.Holder1 { %struct.polymorphic_base { ptr getelementptr inbounds inrange(-8, 12) ({ [5 x ptr] }, ptr @_ZTV16polymorphic_base, i32 0, i32 0, i32 2) } }, align 4
^
<stdin>:68:8: note: possible intended match here
@g_holder2 = global %struct.Holder2 zeroinitializer, align 4
^
```
This test isn't about checking alignment, so remove that from the
FileCheck entry.
Commit: 56c4ec92024ae9a425d29599d27885e4d45a309f
https://github.com/llvm/llvm-project/commit/56c4ec92024ae9a425d29599d27885e4d45a309f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
A lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/main.cpp
Log Message:
-----------
[lldb][test] Add a layout simulator test for std::unique_ptr (#98330)
This is motivated by the upcoming refactor of libc++'s
`__compressed_pair` in https://github.com/llvm/llvm-project/pull/76756
As this will require changes to numerous LLDB libc++ data-formatters
(see early draft https://github.com/llvm/llvm-project/pull/96538), it
would be nice to have a test-suite that will actually exercise both the
old and new layout. We have a matrix bot that tests old versions of
Clang (but currently those only date back to Clang-15). Having them in
the test-suite will give us quicker signal on what broke.
We have an existing test that exercises various layouts of `std::string`
over time in `TestDataFormatterLibcxxStringSimulator.py`, but that's the
only STL type we have it for. This patch proposes a new
`libcxx-simulators` directory which will take the same approach for all
the STL types that we can feasibly support in this way (as @labath
points out, for some types this might just not be possible due to their
implementation complexity). Nonetheless, it'd be great to have a record
of how the layout of libc++ types changed over time.
Some related discussion:
*
https://github.com/llvm/llvm-project/pull/97568#issuecomment-2213426804
Commit: 27d961dab3caa89a78e68af094ddc8365d97dc91
https://github.com/llvm/llvm-project/commit/27d961dab3caa89a78e68af094ddc8365d97dc91
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/TestDataFormatterLibcxxStringSimulator.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/main.cpp
Log Message:
-----------
[lldb][DataFormatter][test] Move std::string simulator to common libc++ simulators directory
Commit: 655c2233b6f81cd981d87e461ea202c563e90490
https://github.com/llvm/llvm-project/commit/655c2233b6f81cd981d87e461ea202c563e90490
Author: martinboehme <mboehme at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] reland #96766 with fix (#98896)
- **Reapply "[clang][dataflow] Teach `AnalysisASTVisitor` that
`typeid()` can be evaluated." (#96766)**
- **Turn on RTTI explicitly in `checkDataflowWithNoopAnalysis()`.**
Commit: ff96ad84f52022af295d11749f106480e7292a89
https://github.com/llvm/llvm-project/commit/ff96ad84f52022af295d11749f106480e7292a89
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Add Pointer::isDereferencable()
We currently have a few places where we check whether a pointer can
be read from at all. Add a function to do that.
Commit: fb2b5cd1ad35e0766e602a52df1fe03af9e2a6d9
https://github.com/llvm/llvm-project/commit/fb2b5cd1ad35e0766e602a52df1fe03af9e2a6d9
Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
[NFC] Fix typos (#98454)
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: 8618c86ee2cc518ccc6b753179c40f68ba5218a8
https://github.com/llvm/llvm-project/commit/8618c86ee2cc518ccc6b753179c40f68ba5218a8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/test/AST/Interp/c23.c
Log Message:
-----------
[clang][Interp] Check for dereferencability before doing ltor cast
Commit: e140a8a3c83017c998a0dacbf9d128918852b429
https://github.com/llvm/llvm-project/commit/e140a8a3c83017c998a0dacbf9d128918852b429
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/dwarf5-addr-section-reuse.s
Log Message:
-----------
[BOLT][DWARF][NFC] Refactor address writers (#98094)
Refactors address writers to create an instance for each CU and its DWO
CU.
Commit: d8f0611acc2658ccc54d985044aa115716c6ad34
https://github.com/llvm/llvm-project/commit/d8f0611acc2658ccc54d985044aa115716c6ad34
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/test/CodeGenCXX/nullptr.cpp
Log Message:
-----------
[clang][Interp] Allow ltor casts for null pointers
We can't read from them but we special-case them later.
Commit: 0b3943f3bba71e0cf9ea9984dae472cf503bca21
https://github.com/llvm/llvm-project/commit/0b3943f3bba71e0cf9ea9984dae472cf503bca21
Author: Keyi Zhang <Kuree at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[MLIR][SCF] fix scf.index_switch fold convergence (#98535) (#98680)
If the `scf.index_switch` op has no result, the current fold logic
results in an infinite loop (see #98535). The is because `fold`
mechanism does not support *erasing* zero-result ops. This PR moves the
fold logic to a canonicalizer and fix the issue.
Commit: 58c7df90f838251c3682abfe91abadaa68ff6a01
https://github.com/llvm/llvm-project/commit/58c7df90f838251c3682abfe91abadaa68ff6a01
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Bump the version of Zicfilp/Zicfiss to 1.0 (#98891)
Both of them are ratified now.
https://wiki.riscv.org/display/HOME/Ratified+Extensions
This patch does not set them to non-experimental, since Zicfilp lacks
lld support and Zicfiss also lacks compiler-rt/libunwind support.
Commit: 331ba4369ac3cdf2ac2c6f724f9beaf43fb3fea7
https://github.com/llvm/llvm-project/commit/331ba4369ac3cdf2ac2c6f724f9beaf43fb3fea7
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/typepromotion-overflow.ll
Log Message:
-----------
[AArch64] Take cmn into account when adjusting compare constants (#98634)
Turning a cmp into cmn saves an extra mov and negate instruction, so
take that into account when choosing when to flip the compare operands.
This will allow further optimizations down the line when we fold more
variations of negative compares to cmn.
As part of this, do not consider right-hand operands whose absolute
value can be encoded into a cmn if it is the 2nd operand.
Commit: 3a0e01543212c1e1c80f5665aee0e12289e06a29
https://github.com/llvm/llvm-project/commit/3a0e01543212c1e1c80f5665aee0e12289e06a29
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/rcp-opt.ll
Log Message:
-----------
[NVPTX] Lower -1/x to neg.f64(rcp.rn.f64) instead of fdiv (#98343)
The NVPTX backend lowers 1/x to rcp.rn.f64 instruction instead of slower
fdiv instruction. However, in the case of -1/x, it uses the slower fdiv
instruction. After this change, -1/x will be lowered into neg.f64
(rcp.rn.f64).
Commit: b132dd41eb1a8f6c1b19cedbd95fa3fde9e3ad8b
https://github.com/llvm/llvm-project/commit/b132dd41eb1a8f6c1b19cedbd95fa3fde9e3ad8b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wavefrontsize.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
M llvm/test/MC/AMDGPU/wave32.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10-wave32.txt
Log Message:
-----------
[AMDGPU] Remove wavefrontsize feature from GFX10+ (#98400)
Processor definition shall not include a default feature which may be
switched off by a different wave size. This allows not to write
-mattr=-wavefrontsize32,+wavefrontsize64 in tests.
Commit: 5d12fa7d72a43eb54a3d8f953766323b97da5ca8
https://github.com/llvm/llvm-project/commit/5d12fa7d72a43eb54a3d8f953766323b97da5ca8
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
Log Message:
-----------
[AMDGPU] Fix indirect dst bug for non-sgpr index (#98907)
When emitting indirect dst, if the idx is not SGPR there was a bug that
didn't
take into account that the subregister might be different from
computeIndirectRegAndOffset.
Commit: 4eb30cfb3474e3770b465cdb39db3b7f6404c3ef
https://github.com/llvm/llvm-project/commit/4eb30cfb3474e3770b465cdb39db3b7f6404c3ef
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/IR/VectorBuilder.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[LV][EVL] Support in-loop reduction using tail folding with EVL. (#90184)
Following from #87816, add VPReductionEVLRecipe to describe vector
predication reduction.
Address one of TODOs from #76172.
Commit: f091848504f838a7cb1868bf321fb622b7e2c127
https://github.com/llvm/llvm-project/commit/f091848504f838a7cb1868bf321fb622b7e2c127
Author: Tom Natan <130450079+tomnatan30 at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M mlir/test/mlir-tblgen/gen-dialect-doc.td
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
Add support for enum doc gen (#98885)
Commit: dcf30d33662552f80e7b9f159d1a671442de694e
https://github.com/llvm/llvm-project/commit/dcf30d33662552f80e7b9f159d1a671442de694e
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
bazel build: pass __support_macros_config dep explicitly (NFCI) (#98999)
Passing it explicitly makes it that it's not made available to targets
that don't need it (also we've got some internal integration that trips
on it being passed implicitly in the rule definition).
Commit: 244892735941a455506ae38ae0fb40cf80cdb351
https://github.com/llvm/llvm-project/commit/244892735941a455506ae38ae0fb40cf80cdb351
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
A clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][C++26] Implement "Ordering of constraints involving fold expressions (#98160)
Implement https://isocpp.org/files/papers/P2963R3.pdf
Commit: b3a446650c2c48743e148daeb9ddec8e74bb83a2
https://github.com/llvm/llvm-project/commit/b3a446650c2c48743e148daeb9ddec8e74bb83a2
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-store.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
Log Message:
-----------
[AMDGPU] Implement GFX12 Memory Model (#98591)
- Emit GLOBAL_WB instructions
- Reflect synscope on instructions's `scope:` operand
Fixes SWDEV-468508
Fixes SWDEV-470735
Fixes SWDEV-468392
Fixes SWDEV-469622
Commit: 762a47828ef6c19426e37e1ecae6768035a4ccac
https://github.com/llvm/llvm-project/commit/762a47828ef6c19426e37e1ecae6768035a4ccac
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
R clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Revert "[Clang][C++26] Implement "Ordering of constraints involving fold expressions" (#99007)
Reverts llvm/llvm-project#98160
Breaks CI on some architectures
Commit: a1ffabc403d4ce55ab2e665511b0b68a16d4850b
https://github.com/llvm/llvm-project/commit/a1ffabc403d4ce55ab2e665511b0b68a16d4850b
Author: ita-sc <109672931+ita-sc at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
A lldb/test/API/riscv/break-undecoded/Makefile
A lldb/test/API/riscv/break-undecoded/TestBreakpointIllegal.py
A lldb/test/API/riscv/break-undecoded/compressed.c
A lldb/test/API/riscv/break-undecoded/main.c
Log Message:
-----------
[lldb][riscv] Fix setting breakpoint for undecoded instruction (#90075)
This patch adds an interface GetLastInstrSize to get information about
the size of last tried to be decoded instruction and uses it to set
software breakpoint if the memory can be decoded as instruction.
RISC-V architecture instruction format specifies the length of
instruction in first bits, so we can set a breakpoint for these cases.
This is needed as RISCV have a lot of extensions, that are not supported
by `EmulateInstructionRISCV`.
Commit: c30ce8b9d33d1050ead549705702c1472b7a7d3f
https://github.com/llvm/llvm-project/commit/c30ce8b9d33d1050ead549705702c1472b7a7d3f
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang] Refactor: Introduce a new LifetimeKind for the assignment case, NFC (#99005)
The current implementation for the assignment case uses a combination of
the `LK_Extended` lifetime kind and the validity of `AEntity`, which is
somewhat messy and doesn't align well with the intended mental model.
This patch introduces a dedicated lifetime kind to handle the assignment
case, simplifying the implementation and improving clarity.
Commit: de29b850f03092195bf21f3a39402adb4ed3c216
https://github.com/llvm/llvm-project/commit/de29b850f03092195bf21f3a39402adb4ed3c216
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
Log Message:
-----------
[InstSimplify] Fix simplifyAndOrWithICmpEq with undef refinement (#98898)
The final case in Simplify (where Res == Absorber and the predicate is
inverted) is not generally safe when the simplification is a refinement.
In particular, we may simplify assuming a specific value for undef, but
then chose a different one later.
However, it *is* safe to refine poison in this context, unlike in the
equivalent select folds. This is the reason why this fold did not use
AllowRefinement=false in the first place, and using that option would
introduce a lot of test regressions.
This patch takes the middle path of disabling undef refinements in
particular using the getWithoutUndef() SimplifyQuery option. However,
this option doesn't actually work in this case, because the problematic
fold is inside constant folding, and we currently don't propagate this
option all the way from InstSimplify over ConstantFolding to
ConstantFold. Work around this by explicitly checking for undef operands
in simplifyWithOpReplaced().
Finally, make sure that places where AllowRefinement=false also use
Q.getWithoutUndef(). I don't have a specific test case for this (the
original one does not work because we don't simplify selects with
constant condition in this mode in the first place) but this seems like
the correct thing to do to be conservative.
Fixes https://github.com/llvm/llvm-project/issues/98753.
Commit: 4469a1e587d5872bc3e10346d55afcb0dda44459
https://github.com/llvm/llvm-project/commit/4469a1e587d5872bc3e10346d55afcb0dda44459
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
Log Message:
-----------
[LV] Add missing check lines in vector.ph in tests.
Match all instructions in vector.ph in sve-inductions-unusual-types.ll.
This should help to better show the impact of
https://github.com/llvm/llvm-project/pull/95305.
Commit: 078cb7a4a07582a39ecd2f2fba9e9b1add9ebff3
https://github.com/llvm/llvm-project/commit/078cb7a4a07582a39ecd2f2fba9e9b1add9ebff3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
Log Message:
-----------
[lldb][RISC-V] Remove unused variable
Added in a1ffabc403d4ce55ab2e665511b0b68a16d4850b.
Commit: 2c13194eab28474089841903acd5790b8b1a559a
https://github.com/llvm/llvm-project/commit/2c13194eab28474089841903acd5790b8b1a559a
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/DeclarationFragments.cpp
Log Message:
-----------
[clang][ExtractAPI][NFC] Remove some nullptr dereference problems (#98914)
A places try to get a NamedDecl's name using getName when it isn't a
simple identifier, migrate these areas to getNameAsString.
rdar://125315602
Commit: fb2ab1c5f6ef6c003969f6b14d69b4295a1c710b
https://github.com/llvm/llvm-project/commit/fb2ab1c5f6ef6c003969f6b14d69b4295a1c710b
Author: Rodolfo Wottrich <rodolfo.wottrich at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/ARM/attribute-big-endian.test
Log Message:
-----------
[llvm-readobj][ARM] Fix build attributes test's vendor name
`armabi` is not one of the recognized vendor names in the public Arm
ABI. Use `aeabi` instead.
https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#registered-vendor-names
Commit: 60ec6868ea02454480598832606019c8a3bf4316
https://github.com/llvm/llvm-project/commit/60ec6868ea02454480598832606019c8a3bf4316
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/second.f90
Log Message:
-----------
[flang] Implement SECOND intrinsic (#98881)
The SECOND intrinsic is a gnu extension providing an alias for CPU_TIME:
https://gcc.gnu.org/onlinedocs/gfortran/SECOND.html
This cannot be implemented as a straightforward alias because there is
both a function and a subroutine form.
Commit: 977cb5d1cb69dd83d762eeda156d238ea60a2aed
https://github.com/llvm/llvm-project/commit/977cb5d1cb69dd83d762eeda156d238ea60a2aed
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/do-collapse.f90
M flang/test/Semantics/OpenMP/do09.f90
Log Message:
-----------
[Flang][OpenMP] Restrict certain loops not allowed in associated loops (#91818)
Extends the OmpCycleAndExitChecker to check that associated loops of a
loop construct are not DO WHILE or DO without control.
OpenMP 5.0 standard clearly mentions this restriction. Later standards
enforce this through the definition of associated loops and canonical
loop forms.
https://www.openmp.org/spec-html/5.0/openmpsu41.html
Fixes #81949
Commit: d94ed83a9e7c0f20623899ad19f90d383760cb68
https://github.com/llvm/llvm-project/commit/d94ed83a9e7c0f20623899ad19f90d383760cb68
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
Log Message:
-----------
[AArch64] Fix assertion failure in getCastInstrCost
We should not call `getVectorElementType` on the result MVT from
`getTypeLegalizationCost` when we don't if the legal type is a
vector. This is the case when the type needs to be legalized
using scalarization.
Commit: 862715ea813d8ffa73050ada17567b45c41a1023
https://github.com/llvm/llvm-project/commit/862715ea813d8ffa73050ada17567b45c41a1023
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
Log Message:
-----------
Revert "[Clang] Instantiate local constexpr functions eagerly (#95660)" (#98991)
Unfortunately, #95660 has caused a regression in DeduceReturnType(),
where some of the local recursive lambdas are getting incorrectly rejected.
This reverts commit 5548ea34341e9d0ae645719c34b466ca3b9eaa5a. Also, this
adds an offending case to the test.
Closes #98526
Commit: d0d61a7e4c944defad2292ced385baab734356a8
https://github.com/llvm/llvm-project/commit/d0d61a7e4c944defad2292ced385baab734356a8
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
Log Message:
-----------
Split DWARFFormValue::getReference into four functions (#98905)
The result of the function cannot be correctly interpreted without
knowing the precise form type (a type signature needs to be looked up
very differently from a supplementary debug info reference). The
function sort of worked because the two reference types (unit-relative
and section-relative) that can be handled uniformly are also the most
common types of references, but this setup made it easy to write code
which does not support other kinds of reference (and if one tried to
support them, the result didn't look pretty --
https://github.com/llvm/llvm-project/pull/97423/files#r1676217081).
The split is based on the reference type classification from DWARFv5
(Section 7.5.5 Classes and Forms), and it should enable uniform (if
slightly more verbose) hadling. Note that this only affects users which
want more control of how (or if) the references are resolved. Users
which just want to access the referenced DIE can use the higher level
API (DWARFDie::GetAttributeValueAsReferencedDie) which returns (or will
return after #97423 is merged) the correct die for all reference types
(except for supplementary references, which we don't support right now).
Commit: 2ea4a03c0f1be6dd11428e4c6eb840b745116ca2
https://github.com/llvm/llvm-project/commit/2ea4a03c0f1be6dd11428e4c6eb840b745116ca2
Author: Kendal Harland <3987220+kendalharland at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
Log Message:
-----------
Fix test assertions in TestDAP_stepInTargets.py (#96687)
The strings this test is using seem to consistently fail to match
against the expected values when built & run targeting Windows amd64.
This PR updates them to the expected values.
To fix the test and avoid over-specifying for a specific platform, use
`assertIn(<target-substring>,...)` to see if we've got the correct
target label instead of comparing the demangler output for an exact
string match.
---------
Co-authored-by: kendal <kendal at thebrowser.company>
Commit: cc97a0d34787e4c9151fa894531ad9d07486a6ae
https://github.com/llvm/llvm-project/commit/cc97a0d34787e4c9151fa894531ad9d07486a6ae
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use getBestPlan when interleaving only. (NFCI)
Use the getBestPlan() utility added in b841e2eca3 to also get the
scalar plan when interleaving only.
Commit: 8afb6432c239a3f5502c5014ebab6b372d7b3d50
https://github.com/llvm/llvm-project/commit/8afb6432c239a3f5502c5014ebab6b372d7b3d50
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Log Message:
-----------
[SimplifyCFG] Select the first instruction that we can handle in `passingValueIsAlwaysUndefined` (#98802)
Fixes #98799.
Commit: bf5d5fed8d4cd7c36100af02664c2bdab912db9b
https://github.com/llvm/llvm-project/commit/bf5d5fed8d4cd7c36100af02664c2bdab912db9b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[lldb][Bazel] Add missing dependency.
Commit: c8783991c7f6446b9c530e1396728e71b6acd998
https://github.com/llvm/llvm-project/commit/c8783991c7f6446b9c530e1396728e71b6acd998
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[C API] Add accessors for new no-wrap flags on GEP instructions (#97970)
Previously, only the inbounds flag was accessible via the C API. This
adds support for any no-wrap related flags (currently nuw and nusw).
Commit: c05126bdfc3b02daa37d11056fa43db1a6cdef69
https://github.com/llvm/llvm-project/commit/c05126bdfc3b02daa37d11056fa43db1a6cdef69
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/wasm/Driver.cpp
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
A llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
R llvm/include/llvm/CodeGen/RuntimeLibcalls.h
M llvm/include/llvm/CodeGen/TargetLowering.h
A llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/CMakeLists.txt
A llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLegalizerInfo.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
M llvm/tools/lto/lto.cpp
Log Message:
-----------
[LLVM][LTO] Factor out RTLib calls and allow them to be dropped (#98512)
Summary:
The LTO pass and LLD linker have logic in them that forces extraction
and prevent internalization of needed runtime calls. However, these
currently take all RTLibcalls into account, even if the target does not
support them. The target opts-out of a libcall if it sets its name to
nullptr. This patch pulls this logic out into a class in the header so
that LTO / lld can use it to determine if a symbol actually needs to be
kept.
This is important for targets like AMDGPU that want to be able to use
`lld` to perform the final link step, but does not want the overhead of
uncalled functions. (This adds like a second to the link time trivially)
Commit: 4abdb85ef2b659a0ee919a4509dd6a82901351b5
https://github.com/llvm/llvm-project/commit/4abdb85ef2b659a0ee919a4509dd6a82901351b5
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/Support/GenericIteratedDominanceFrontier.h
Log Message:
-----------
[SSAUpdater] Avoid un-necessary SmallVector stores (#97820)
The default template for the generic IDF calculator fetching
block-children will, by default:
* Fetch the children range from the relevant `GraphTraits`,
* Store all child nodes in a `SmallVector`,
* Return that `SmallVector` into the IDF calculator.
The only place this `SmallVector` is used is in a for-range loop... thus
there's no reason why we can't just iterate over the child range from
`GraphTraits`, instead of storing all the nodes locally then iterating
over the local copy. (If the children of a node change during IDF
calculation, everything is broken anyway).
This yields a 0.14% debug-info build performance improvement on the
compile time tracker, as InstrRefBasedLDV uses the SSA updater
intensively on all functions.
Commit: 9dab91247d5c40607617f13b8fe5056111dd3045
https://github.com/llvm/llvm-project/commit/9dab91247d5c40607617f13b8fe5056111dd3045
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M bolt/lib/Core/DIEBuilder.cpp
Log Message:
-----------
Fix bolt for #98905
Commit: 4348f32ec609540e642be1be263d6ad2b60a90fd
https://github.com/llvm/llvm-project/commit/4348f32ec609540e642be1be263d6ad2b60a90fd
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/APINotes/Types.h
Log Message:
-----------
[APINotes] Remove unused API
This method is not actually used anywhere.
Commit: aa94a43178e1e1fa4dbe7ee802d46623667067ae
https://github.com/llvm/llvm-project/commit/aa94a43178e1e1fa4dbe7ee802d46623667067ae
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][Bazel] Adapt to 4eb30cfb3474e3770b465cdb39db3b7f6404c3ef
Commit: 46505b3cbfc5f48f28431b9141085c5d71ddf1c4
https://github.com/llvm/llvm-project/commit/46505b3cbfc5f48f28431b9141085c5d71ddf1c4
Author: RicoAfoat <51285519+RicoAfoat at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/CodeGen/X86/inline-asm-memop.ll
Log Message:
-----------
[SelectionDAG] use HandleSDNode instead of SDValue during SelectInlineAsmMemoryOperands (#85081)
SelectInlineAsmMemoryOperands - change the vector of SDValue into a list of SDNodeHandle. Fixes issues where x86 might call replaceAllUses when matching address.
Fixes https://github.com/llvm/llvm-project/issues/82431 - see https://github.com/llvm/llvm-project/issues/82431 for more information.
Commit: 49d53a206faf5fb398aba5c8c1d21b3ec111fe39
https://github.com/llvm/llvm-project/commit/49d53a206faf5fb398aba5c8c1d21b3ec111fe39
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/docs/MyFirstTypoFix.rst
Log Message:
-----------
[llvm][Docs] Add explanatory note to MyFirstTypoFix intro
To make it 100% clear that the changes are an example and the guide
should later be used with the reader's own changes to submit an
actual PR.
Commit: 5b310a1c3c5aabae325934a6475e93ea8b71cdc2
https://github.com/llvm/llvm-project/commit/5b310a1c3c5aabae325934a6475e93ea8b71cdc2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
Log Message:
-----------
[clang][Interp] Ignore lambda static invoker frames in backtraces
See comment. No test but this is neccessary for a later commit.
Commit: 55483379e286a95c88a6a973a8e0f02dc5f1fb05
https://github.com/llvm/llvm-project/commit/55483379e286a95c88a6a973a8e0f02dc5f1fb05
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
Log Message:
-----------
[VPlan] Update test to use CHECK variables.
Update test to avoid using hard-coded VPValue IDs.
Commit: d4a89af5a8c52191797bed5ff7ff40a85435d3a0
https://github.com/llvm/llvm-project/commit/d4a89af5a8c52191797bed5ff7ff40a85435d3a0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/qemu-testing.rst
R lldb/docs/use/qemu-testing.rst
Log Message:
-----------
[lldb][Docs] Move QEMU testing page into the developing lldb section
Commit: a6d2da8b9d7be19816dd4c76b02016c19618c1be
https://github.com/llvm/llvm-project/commit/a6d2da8b9d7be19816dd4c76b02016c19618c1be
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/docs/configure.rst
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
A libc/src/stdlib/qsort_data.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
A libc/src/stdlib/quick_sort.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/SortingTest.h
A libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_test.cpp
A libc/test/src/stdlib/quick_sort_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc][stdlib] Implement heap sort. (#98582)
Commit: c7aac38c29f564bc48f7cfb71d3b3b8b482c873b
https://github.com/llvm/llvm-project/commit/c7aac38c29f564bc48f7cfb71d3b3b8b482c873b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
Log Message:
-----------
[SLP]Correctly detect minnum/maxnum patterns for select/cmp operations on floats.
The patch enables detection of minnum/maxnum patterns for float point
instruction, represented as select/cmp. Also, enables better cost
estimation for integer min/max patterns since the compiler starts
to estimate the scalars separately.
Reviewers: nikic, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/98570
Commit: dba2e66e18cc82863542d2ba2fde52b9024df307
https://github.com/llvm/llvm-project/commit/dba2e66e18cc82863542d2ba2fde52b9024df307
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Preprocessor/embed_codegen.cpp
M clang/test/Preprocessor/embed_constexpr.cpp
M clang/test/Preprocessor/embed_weird.cpp
Log Message:
-----------
[clang] Inject tokens containing #embed back into token stream (#97274)
Instead of playing "whack a mole" with places where #embed should be
expanded as comma-separated list, just inject each byte as a token back
into the stream, separated by commas.
Commit: 0eebb48fcfbcb93da123e39ef61b22dc80c9ec0d
https://github.com/llvm/llvm-project/commit/0eebb48fcfbcb93da123e39ef61b22dc80c9ec0d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__type_traits/invoke.h
R libcxx/include/__type_traits/is_member_function_pointer.h
R libcxx/include/__type_traits/is_member_object_pointer.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/module.modulemap
M libcxx/include/type_traits
Log Message:
-----------
[libc++] Merge is_member{,_object,_function}_pointer.h (#98727)
The implementations for these traits have been simplified quite a bit,
since we have builtins available for them now.
Commit: 30cc12cd818d4b52914d1033d1ed79af4a0f78fa
https://github.com/llvm/llvm-project/commit/30cc12cd818d4b52914d1033d1ed79af4a0f78fa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_scalar.h
Log Message:
-----------
[libc++] Simplify the implementation of is_null_pointer a bit (#98728)
Commit: 7e2b5e233a49f1c99cf9a3696ca4322ff989a386
https://github.com/llvm/llvm-project/commit/7e2b5e233a49f1c99cf9a3696ca4322ff989a386
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Move reportVectorizationInfo to LoopVectorize.cpp (NFC)
The function is only used in LoopVectorize.cpp, no need to define it in
header.
Commit: 3bf83e3866237cd35c9828880241f5863d625ed9
https://github.com/llvm/llvm-project/commit/3bf83e3866237cd35c9828880241f5863d625ed9
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
A llvm/test/Transforms/LoopIdiom/AArch64/ctlz.ll
Log Message:
-----------
[LoopIdiom] Reland: Support 'shift until less-than' idiom #95002 (#98298)
The original patch failed to handle the case where the loopback
condition compared against a constant exceeding 64 bit unsigned range -
which caused a buildbot failure.
This PR fixes this and relands the original PR #95002.
The current loop idiom code for recognising and inserting a CTLZ
intrinsic does not support loops where the loopback control is based on
an unsigned less-than condition. This patch adds support for recognising
these loops and inserting a CTLZ intrinsic.
Fixes the missed optimization cases in #51064.
---------
Co-authored-by: David Sherwood <david.sherwood at arm.com>
Commit: d1bbae97f5d09e1de2e1e07b855e33cce533d7fa
https://github.com/llvm/llvm-project/commit/d1bbae97f5d09e1de2e1e07b855e33cce533d7fa
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
Revert "[gn] port b9496a74eb40"
This reverts commit 14fb6162a97e60a8aefcb0702a713f7a50205fce.
b9496a74eb40 got reverted in 27b2f4f861b8.
Commit: c3540d0b6bbde69e7e9de00c3c289d5fd6d02a49
https://github.com/llvm/llvm-project/commit/c3540d0b6bbde69e7e9de00c3c289d5fd6d02a49
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
Log Message:
-----------
Revert "[SLP]Correctly detect minnum/maxnum patterns for select/cmp operations on floats."
This reverts commit c7aac38c29f564bc48f7cfb71d3b3b8b482c873b to fix
crashes reavealed by the buildbot in https://lab.llvm.org/buildbot/#/builders/168/builds/1104.
Commit: e869549e01b6e5ad87075e127fb07bf568635b1b
https://github.com/llvm/llvm-project/commit/e869549e01b6e5ad87075e127fb07bf568635b1b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/AsmParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn] port bddab518db003f (X86AsmParser.cpp uses X86GenInstrMapping.inc)
Commit: 85cedd8e59be5eebad6292aee3b053f31afc8977
https://github.com/llvm/llvm-project/commit/85cedd8e59be5eebad6292aee3b053f31afc8977
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp] Ignore incomplete records when visiting lambdas
We need them to be complete so we have knowledge about all the
lambda captures.
Commit: 00f83a85c754e8b465e94470e733292cdbfbfe71
https://github.com/llvm/llvm-project/commit/00f83a85c754e8b465e94470e733292cdbfbfe71
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
Log Message:
-----------
[gn] port 8a27ef676e3c6 (lldbSymbol now includes clang headers)
Commit: 522fd53838d577add8c19b5eccccae756fd27899
https://github.com/llvm/llvm-project/commit/522fd53838d577add8c19b5eccccae756fd27899
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)
Following on from the discussion in
https://discourse.llvm.org/t/rfc-introducing-an-llvm-memset-pattern-inline-intrinsic/79496
and the equivalent change for llvm.memset.inline (#95397), this removes
the requirement that the length of llvm.memcpy.inline is constant.
PreISelInstrinsicLowering will expand llvm.memcpy.inline with
non-constant lengths, while the codegen path for constant lengths is
left unaltered.
Commit: 139df36d89bd731b5180be3cac2b58d4b2082368
https://github.com/llvm/llvm-project/commit/139df36d89bd731b5180be3cac2b58d4b2082368
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/test/API/functionalities/load_unload/TestLoadUnload.py
Log Message:
-----------
[LLDB] Make 'process load' take remote os path delimiter into account (#98690)
Currently, if we execute 'process load' with remote debugging, it uses
the host's path delimiter to look up files on a target machine. If we
run remote debugging of Linux target on Windows and execute "process
load C:\foo\a.so", lldb-server tries to load \foo\a.so instead of
/foo/a.so on the remote.
It affects several API tests.
This commit fixes that error. Also, it contains minor fixes for
TestLoadUnload.py for testing on Windows host and Linux target.
Commit: 473ed8e722df3b22f39db52df059f9d00ac63e1f
https://github.com/llvm/llvm-project/commit/473ed8e722df3b22f39db52df059f9d00ac63e1f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn] port 8a27ef676e3c6 better
I added this to the wrong target.
Reverts 00f83a85c754e and adds it to the right target instead.
Commit: ac4b6b662630cd4d3bf6929f2b39ea203c0054a1
https://github.com/llvm/llvm-project/commit/ac4b6b662630cd4d3bf6929f2b39ea203c0054a1
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
R llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
Revert "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"
This reverts commit 522fd53838d577add8c19b5eccccae756fd27899 while
unexpected mlir failures are investigated and resolved.
Commit: 6dc8c2dada4b17f3a70ca9693411d4a6dc940c5b
https://github.com/llvm/llvm-project/commit/6dc8c2dada4b17f3a70ca9693411d4a6dc940c5b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
A llvm/test/CodeGen/AMDGPU/global-alias.ll
Log Message:
-----------
[AMDGPU] Fix resource analysis crash on alias-to-alias function (#99034)
Summary:
Previously this code only looked through a single level of aliases to
find the underlying function. This patch changes it to continue until it
finds the end. Aliases that form a cycle are illegal IR, so we shouldn't
need to worry about infinite loops.
Fixes https://github.com/llvm/llvm-project/issues/96812
Commit: 55c8fd9e0b3ab1d2bb7ca4a7db7d6cf2aa83e5db
https://github.com/llvm/llvm-project/commit/55c8fd9e0b3ab1d2bb7ca4a7db7d6cf2aa83e5db
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[clang] Prevent dangling StringRefs (#98699)
Fix locations where dangling StringRefs are created.
* `ConstraintSatisfaction::SubstitutionDiagnostic`: typedef of
`std::pair<SourceLocation, StringRef>`
* `concepts::Requirement::SubstitutionDiagnostic`: struct whose 1st and
3rd data members are `StringRef`s
Fixes #98667
Commit: fdf94e16323e46d31a951a0910103b8c0db74942
https://github.com/llvm/llvm-project/commit/fdf94e16323e46d31a951a0910103b8c0db74942
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
M llvm/test/Verifier/intrinsic-immarg.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Reapply "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"
This reverts commit ac4b6b662630cd4d3bf6929f2b39ea203c0054a1.
A test change was missing for
mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir in the initial commit.
Commit: 009e176b880f660e7b01dda1f665a1b221375fd8
https://github.com/llvm/llvm-project/commit/009e176b880f660e7b01dda1f665a1b221375fd8
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[sanitizer_common] Fix TgKill on Solaris (#98000)
While working on safestack on Solaris, I noticed that the `TgKill`
implementation is wrong here: `TgKill` is supposed to return `-1` on
error, while `thr_kill` returns `errno` instead. This patch compensates
for that.
This went unnoticed so far since `TgKill` has been unused.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11` together
with a subsequent patch to make safestack actually work on Solaris.
Commit: ddc7999d896efcabac7a9be45f832721e9636802
https://github.com/llvm/llvm-project/commit/ddc7999d896efcabac7a9be45f832721e9636802
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0eebb48fcfbc
Commit: ab91e4097d49a4e22eb1fbcd3289e546a2c2c3db
https://github.com/llvm/llvm-project/commit/ab91e4097d49a4e22eb1fbcd3289e546a2c2c3db
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn build] Port 8a27ef676e3c
Commit: c7961538ff5c73ad03cbf2470e56cdc10cedc83b
https://github.com/llvm/llvm-project/commit/c7961538ff5c73ad03cbf2470e56cdc10cedc83b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
Log Message:
-----------
[gn build] Port c05126bdfc3b
Commit: d05949796531c9a0a6639438159638a5825ad059
https://github.com/llvm/llvm-project/commit/d05949796531c9a0a6639438159638a5825ad059
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: use lambda instead of std::bind. NFC.
Commit: 91722a4a13d808772edcdd5caad66a598a659655
https://github.com/llvm/llvm-project/commit/91722a4a13d808772edcdd5caad66a598a659655
Author: Ayke <aykevanlaethem at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopRotation.cpp
A llvm/test/Transforms/LoopRotate/minsize-disable.ll
Log Message:
-----------
[LoopRotate] Don't rotate loops when the minsize attribute is present
The main use for this patch is LTO. It is not (yet?) possible to set the
size level (-Os, -Oz) in the linker, which means loops are still rotated
even if -Oz is specified on the command line. Therefore, look at the
function attribute instead of only at the size level to determine
whether to rotate loops for a given function.
For discussion, see: https://reviews.llvm.org/D119342
An older version of this patch was already approved at
https://reviews.llvm.org/D119342 but I never got around to committing
it. The code changed so I had to make some minor updates to this patch
and in the meantime I also lost commit access because I wasn't really
using it. So here is an updated patch.
Commit: b115edc86c3d6d4e1ebc6546000117a77cf80eab
https://github.com/llvm/llvm-project/commit/b115edc86c3d6d4e1ebc6546000117a77cf80eab
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
Log Message:
-----------
[AMDGPU] Use std::is_same_v. NFC.
Commit: 16dd75b41c511d92f3f1947ccbb61b8ad66bbcd0
https://github.com/llvm/llvm-project/commit/16dd75b41c511d92f3f1947ccbb61b8ad66bbcd0
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[mlir][ROCDL] Construct AMDGCN ISA control variable explicitly (#98912)
This patch constructs the AMDGCN ISA control variable explicitly instead
of linking against the library shipped with ROCm. This change prevents
issues arising from the order in which the AMDGCN libraries are linked.
Commit: 11a9ab125737e4b43a98073ccf238cef9c8501b9
https://github.com/llvm/llvm-project/commit/11a9ab125737e4b43a98073ccf238cef9c8501b9
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M openmp/libompd/gdb-plugin/ompd/ompd.py
M openmp/tools/archer/tests/lit.cfg
Log Message:
-----------
[OpenMP] Fix comparison to True/False in openmp/**.py (#94041)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: cf00bb007428124a0d5af596300407ec11580fb2
https://github.com/llvm/llvm-project/commit/cf00bb007428124a0d5af596300407ec11580fb2
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M openmp/libompd/gdb-plugin/ompd/ompd_callbacks.py
Log Message:
-----------
[OpenMP] Fix comparison to None in openmp/**.py (#94020)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: c1fa62ba74ad8ad52bdcba2ec23ba12ac1e45242
https://github.com/llvm/llvm-project/commit/c1fa62ba74ad8ad52bdcba2ec23ba12ac1e45242
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
Log Message:
-----------
[AMDGPU] Sort #includes. NFC.
Commit: 38a1dec30bb94c68b3010da3bbf7ab986dd5d69b
https://github.com/llvm/llvm-project/commit/38a1dec30bb94c68b3010da3bbf7ab986dd5d69b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
[AMDGPU] Use std::min with initializer list. NFC.
Commit: 6bba44e8dcf5bb73e6e82068b194b14aa7d1880e
https://github.com/llvm/llvm-project/commit/6bba44e8dcf5bb73e6e82068b194b14aa7d1880e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Log Message:
-----------
[AMDGPU] Use member initializers. NFC.
Commit: ff81bbede4f3a28d285106a5a3f5d0980608dd47
https://github.com/llvm/llvm-project/commit/ff81bbede4f3a28d285106a5a3f5d0980608dd47
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
Log Message:
-----------
[AMDGPU] Concatenate nested namespaces. NFC.
Commit: 63a1242ae3f1ebc13831ac71cd19aa0cf98278dc
https://github.com/llvm/llvm-project/commit/63a1242ae3f1ebc13831ac71cd19aa0cf98278dc
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: define trivial constructors with = default. NFC.
Commit: 78dea4c1ea77ba683c720d2a2c0f32d03989f8cc
https://github.com/llvm/llvm-project/commit/78dea4c1ea77ba683c720d2a2c0f32d03989f8cc
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
Log Message:
-----------
[AMDGPU] Use bool literals for bools. NFC.
Commit: b22fa9093bb1a7be2de4e9d7073c94d3ecb69987
https://github.com/llvm/llvm-project/commit/b22fa9093bb1a7be2de4e9d7073c94d3ecb69987
Author: mskamp <msk at posteo.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/Analysis/ValueTracking/knownbits-x86-hadd-hsub.ll
A llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
M llvm/test/CodeGen/X86/pr53247.ll
M llvm/unittests/Analysis/VectorUtilsTest.cpp
Log Message:
-----------
[ValueTracking][X86] Compute KnownBits for phadd/phsub (#92429)
Add KnownBits computations to ValueTracking and X86 DAG lowering.
These instructions add/subtract adjacent vector elements in their operands. Example: phadd [X1, X2] [Y1, Y2] = [X1 + X2, Y1 + Y2]. This means that, in this example, we can compute the KnownBits of the operation by computing the KnownBits of [X1, X2] + [X1, X2] and [Y1, Y2] + [Y1, Y2] and intersecting the results. This approach also generalizes to all x86 vector types.
There are also the operations phadd.sw and phsub.sw, which perform saturating addition/subtraction. Use sadd_sat and ssub_sat to compute the KnownBits of these operations.
Also adjust the existing test case pr53247.ll because it can be transformed to a constant using the new KnownBits computation.
Fixes #82516.
Commit: 7a72856af8b30f50e546b8368596fdc5f44cbca9
https://github.com/llvm/llvm-project/commit/7a72856af8b30f50e546b8368596fdc5f44cbca9
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M openmp/runtime/src/include/omp-tools.h.var
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_wait_release.h
M openmp/runtime/src/ompt-specific.cpp
M openmp/runtime/test/ompt/callback.h
M openmp/runtime/test/ompt/parallel/nested.c
M openmp/runtime/test/ompt/parallel/nested_lwt.c
M openmp/runtime/test/ompt/parallel/nested_serialized.c
M openmp/runtime/test/ompt/parallel/nested_thread_num.c
M openmp/runtime/test/ompt/parallel/no_thread_num_clause.c
M openmp/runtime/test/ompt/parallel/normal.c
M openmp/runtime/test/ompt/parallel/not_enough_threads.c
M openmp/runtime/test/ompt/synchronization/barrier/explicit.c
M openmp/runtime/test/ompt/synchronization/barrier/for_loop.c
M openmp/runtime/test/ompt/synchronization/barrier/for_simd.c
M openmp/runtime/test/ompt/synchronization/barrier/implicit_task_data.c
M openmp/runtime/test/ompt/synchronization/barrier/parallel_region.c
M openmp/runtime/test/ompt/synchronization/barrier/sections.c
M openmp/runtime/test/ompt/synchronization/barrier/single.c
M openmp/runtime/test/ompt/tasks/explicit_task.c
M openmp/runtime/test/ompt/tasks/serialized.c
M openmp/runtime/test/ompt/tasks/task_in_joinbarrier.c
M openmp/runtime/test/ompt/tasks/untied_task.c
M openmp/tools/multiplex/tests/custom_data_storage/custom_data_storage.c
M openmp/tools/multiplex/tests/print/print.c
Log Message:
-----------
[OpenMP] Use new OMPT state and sync kinds for barrier events (#95602)
This change makes the runtime use new OMPT state and sync kinds
introduced in OpenMP 5.1 in place of the deprecated implicit state and
sync kinds. Events from implicit barriers use different enumerators for
workshare, parallel, and teams.
Commit: fdb669b0dc30f179b886ee9da5d727d474a5bebb
https://github.com/llvm/llvm-project/commit/fdb669b0dc30f179b886ee9da5d727d474a5bebb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Log Message:
-----------
[AMDGPU] clang-format: pass Triple by value and std::move it. NFC.
Commit: 80d261493e9bd3046fd56c77e276a105cc20c185
https://github.com/llvm/llvm-project/commit/80d261493e9bd3046fd56c77e276a105cc20c185
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: use override consistently. NFC.
Commit: 945440033f50aeaf85fca709d8c2644456b2a034
https://github.com/llvm/llvm-project/commit/945440033f50aeaf85fca709d8c2644456b2a034
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[NFC][clang] Replace unchecked dyn_cast with cast (#98948)
BI__builtin_hlsl_elementwise_rcp is only invoked with a FixedVectorType
so use cast to make this clear and satisfy the static verifier.
Commit: 1cd6359f39ab7fa55f00086c322bc183adb583bc
https://github.com/llvm/llvm-project/commit/1cd6359f39ab7fa55f00086c322bc183adb583bc
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[clang][ASTReaderStmt] Use helper function 'saveStrToCtx' (NFC)
Commit: 8ba9ed682552261d089ceb4bc9895d5f9fd0c888
https://github.com/llvm/llvm-project/commit/8ba9ed682552261d089ceb4bc9895d5f9fd0c888
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__ranges/single_view.h
A libcxx/test/std/ranges/range.factories/range.single.view/empty.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG4035: `single_view` should provide `empty` (#98371)
Implements: https://wg21.link/LWG4035
- https://eel.is/c++draft/range.single.view
Commit: 0b43d573f54c16f8ccd231ae40a4704a93ab4aa1
https://github.com/llvm/llvm-project/commit/0b43d573f54c16f8ccd231ae40a4704a93ab4aa1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: replace macro with enum. NFC.
Commit: 4ecb5383e12f1be91d6de06bb377d35964c01a7a
https://github.com/llvm/llvm-project/commit/4ecb5383e12f1be91d6de06bb377d35964c01a7a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Update tests for collapse 6/n (nfc) (#98902)
The main goal of this PR (and subsequent PRs), is to add more tests with
scalable vectors to:
* vector-transfer-collapse-inner-most-dims.mlir
There's quite a few cases to consider, hence this is split into multiple
PRs.
In this PR, I am making the following changes:
* All input memrefs for `xfer_read` are are renamed as `%src`.
* All input memrefs for `xfer_write` are are renamed as `%dest`.
* All variables representing pad values for `xfer_read` are renamed as
`%pad`.
* All vector variables (for `xfer_read` and `xfer_write`) are renamed as
`%v`.
* Add `@contiguous_inner_most_non_zero_idx_in_bounds_scalable` for
`xfer_read` (similar test already exists for `xfer_write`)
* All index variables are renamed as `%i` (1st index) and `%ii` (2nd
index).
The above were marked as TODOs in the test file - these are not
resolved. In addition (to avoid sending another PR):
* `@drop_inner_most_dim` is deleted - it duplicates
`@contiguous_inner_most` for xfer_write
* For consistency with other negative tests, renamed `@non_unit_strides`
as `@negative_non_unit_strides` and added a similar test for
`xfer_read`
* `@non_unit_strides` is renamed as `@negative_non_unit_strides` and
a similar test is added for `xfer_read`.
This is a follow-up for: #94490, #94604, #94906, #96214, #96227
Commit: aeafdc21d29793fdb6bfb19b919ea3ad56226cf4
https://github.com/llvm/llvm-project/commit/aeafdc21d29793fdb6bfb19b919ea3ad56226cf4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
Log Message:
-----------
[AMDGPU] Use using instead of typedef. NFC.
Commit: 26098fe4b892cab75c56f7779dfe4dfe40615784
https://github.com/llvm/llvm-project/commit/26098fe4b892cab75c56f7779dfe4dfe40615784
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[codeowners][nfc] Add myself and @dcaballe (#97853)
Commit: 266a784cce959d475d3d79a877f0c5f39194a4c4
https://github.com/llvm/llvm-project/commit/266a784cce959d475d3d79a877f0c5f39194a4c4
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
A llvm/test/CodeGen/PowerPC/peephole-combineRLWINM-liveness.mir
Log Message:
-----------
[PowerPC] Ensure MI peephole knows about instr modified by combineRLWINM() (#97134)
Ensure registers used in instructions modified by `combineRLWINM()` are
added to list of `RegsToUpdate`.
Commit: f1d3fe7aae7867b5de96b84d6d26b5c9f02f209a
https://github.com/llvm/llvm-project/commit/f1d3fe7aae7867b5de96b84d6d26b5c9f02f209a
Author: Alexis Perry-Holby <AlexisPerry at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
A flang/test/Driver/tune-cpu-fir.f90
A flang/test/Lower/tune-cpu-llvm.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/tune-cpu.ll
A mlir/test/Target/LLVMIR/tune-cpu.mlir
Log Message:
-----------
Add basic -mtune support (#98517)
Initial implementation for the -mtune flag in Flang.
This PR is a clean version of PR #96688, which is a re-land of PR #95043
Commit: 2ee5586ac7d8424b51790b143dbc6e2105bf99bc
https://github.com/llvm/llvm-project/commit/2ee5586ac7d8424b51790b143dbc6e2105bf99bc
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/AffineMap.h
M mlir/include/mlir/Interfaces/VectorInterfaces.td
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
M mlir/test/Dialect/Linalg/hoisting.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/python/dialects/vector.py
Log Message:
-----------
[mlir][vector] Make the in_bounds attribute mandatory (#97049)
At the moment, the in_bounds attribute has two confusing/contradicting
properties:
1. It is both optional _and_ has an effective default-value.
2. The default value is "out-of-bounds" for non-broadcast dims, and
"in-bounds" for broadcast dims.
(see the `isDimInBounds` vector interface method for an example of this
"default" behaviour [1]).
This PR aims to clarify the logic surrounding the `in_bounds` attribute
by:
* making the attribute mandatory (i.e. it is always present),
* always setting the default value to "out of bounds" (that's
consistent with the current behaviour for the most common cases).
#### Broadcast dimensions in tests
As per [2], the broadcast dimensions requires the corresponding
`in_bounds` attribute to be `true`:
```
vector.transfer_read op requires broadcast dimensions to be in-bounds
```
The changes in this PR mean that we can no longer rely on the
default value in cases like the following (dim 0 is a broadcast dim):
```mlir
%read = vector.transfer_read %A[%base1, %base2], %f, %mask
{permutation_map = affine_map<(d0, d1) -> (0, d1)>} :
memref<?x?xf32>, vector<4x9xf32>
```
Instead, the broadcast dimension has to explicitly be marked as "in
bounds:
```mlir
%read = vector.transfer_read %A[%base1, %base2], %f, %mask
{in_bounds = [true, false], permutation_map = affine_map<(d0, d1) -> (0, d1)>} :
memref<?x?xf32>, vector<4x9xf32>
```
All tests with broadcast dims are updated accordingly.
#### Changes in "SuperVectorize.cpp" and "Vectorization.cpp"
The following patterns in "Vectorization.cpp" are updated to explicitly
set the `in_bounds` attribute to `false`:
* `LinalgCopyVTRForwardingPattern` and `LinalgCopyVTWForwardingPattern`
Also, `vectorizeAffineLoad` (from "SuperVectorize.cpp") and
`vectorizeAsLinalgGeneric` (from "Vectorization.cpp") are updated to
make sure that xfer Ops created by these hooks set the dimension
corresponding to broadcast dims as "in bounds". Otherwise, the Op
verifier would complain
Note that there is no mechanism to verify whether the corresponding
memory access are indeed in bounds. Still, this is consistent with the
current behaviour where the broadcast dim would be implicitly assumed
to be "in bounds".
[1]
https://github.com/llvm/llvm-project/blob/4145ad2bac4bb99d5034d60c74bb2789f6c6e802/mlir/include/mlir/Interfaces/VectorInterfaces.td#L243-L246
[2]
https://mlir.llvm.org/docs/Dialects/Vector/#vectortransfer_read-vectortransferreadop
Commit: 74b87b02d21583c66c4cf6659703e4bd5c4f537d
https://github.com/llvm/llvm-project/commit/74b87b02d21583c66c4cf6659703e4bd5c4f537d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU] Fix and add namespace closing comments. NFC.
Commit: 5b54f36fb607d21c18f9eb56dcf481a9841dee8e
https://github.com/llvm/llvm-project/commit/5b54f36fb607d21c18f9eb56dcf481a9841dee8e
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix llvm:Core build (#99054)
According to @akuegel, this breakage was introduced in c05126bd.
Commit: 3706c12c8e2df3bae7ba27ba4645f6eef000bab4
https://github.com/llvm/llvm-project/commit/3706c12c8e2df3bae7ba27ba4645f6eef000bab4
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/Demangle/MicrosoftDemangle.h
Log Message:
-----------
Prevent copying of ArenaAllocator (#97935)
This patch removes copy constructor and assignment operator from
ArenaAllocator class to prevent resource duplication and ensure it
remains non-copyable as per design intent.
Commit: f0eb5587ceeb641445b64cb264c822b4751de04a
https://github.com/llvm/llvm-project/commit/f0eb5587ceeb641445b64cb264c822b4751de04a
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Headers/mm3dnow.h
M clang/lib/Headers/x86intrin.h
R clang/test/CodeGen/X86/3dnow-builtins.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/Driver/x86-target-features.c
M clang/test/Headers/mm3dnow.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/x86_target_features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
R llvm/test/CodeGen/X86/3dnow-intrinsics.ll
R llvm/test/CodeGen/X86/commute-3dnow.ll
M llvm/test/CodeGen/X86/expand-vr64-gr64-copy.mir
M llvm/test/CodeGen/X86/pr35982.ll
M llvm/test/CodeGen/X86/prefetch.ll
R llvm/test/CodeGen/X86/stack-folding-3dnow.ll
Log Message:
-----------
Remove support for 3DNow!, both intrinsics and builtins. (#96246)
This set of instructions was only supported by AMD chips starting in
the K6-2 (introduced 1998), and before the "Bulldozer" family
(2011). They were never much used, as they were effectively superseded
by the more-widely-implemented SSE (first implemented on the AMD side
in Athlon XP in 2001).
This is being done as a predecessor towards general removal of MMX
register usage. Since there is almost no usage of the 3DNow!
intrinsics, and no modern hardware even implements them, simple
removal seems like the best option.
(Clang half originally uploaded in https://reviews.llvm.org/D94213)
Works towards issue #41665 and issue #98272.
Commit: 47f3d55ecebe5d4f0376bce673be75a98b5763a7
https://github.com/llvm/llvm-project/commit/47f3d55ecebe5d4f0376bce673be75a98b5763a7
Author: Kamau Bridgeman <kamau.bridgeman.ibm at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-gc-sections.c
Log Message:
-----------
XFAIL: lld-available lit.cfg tag does not work as intended. (#99056)
This change XFAILs instrprof-gc-sections.c compiler-rt test case
because it uses the `lld-available` lit.config tag which erroneously
uses the `CMAKE_LINKER` if it is lld instead of checking for the
latest and greatest lld available. A patch is in the works to fix
this.
This change is to bring the `clang-ppc64le-linux-test-suite` and
`clang-ppc64le-linux-multistage` back to green as they were broken
as of PR #98382
Commit: f58cfacfafda0961396f92816692e9a316dec0c2
https://github.com/llvm/llvm-project/commit/f58cfacfafda0961396f92816692e9a316dec0c2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/memchr.ll
Log Message:
-----------
[AggressiveInstCombine] Expand memchr with small constant strings (#98501)
This patch converts memchr with a small constant string into a switch.
It will reduce overhead of libcall and enable more folds (e.g.,
comparing the result with null).
References: https://en.cppreference.com/w/c/string/byte/memchr
Commit: 99153c84dc321a7493dd4c5888973f525bf9f65e
https://github.com/llvm/llvm-project/commit/99153c84dc321a7493dd4c5888973f525bf9f65e
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[CMake][Fuchsia] Build libc++ on top libc for baremetal (#99009)
This is mostly a proof of concept requiring a number of workarounds, but
demonstrates that it is feasible.
Commit: 618b0b77cd7ecbdf726d393269ce822bf8d3beb9
https://github.com/llvm/llvm-project/commit/618b0b77cd7ecbdf726d393269ce822bf8d3beb9
Author: vporpo <vporpodas at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add more Instruction member functions (#98588)
This patch adds new Instruction member functions, including:
- getNextNode()
- getPrevNode()
- getOpcode()
- removeFromParent()
- eraseFromParent()
- getParent()
- insertBefore()
- insertAfter()
- insertInto()
- moveBefore()
- moveAfter()
Commit: 986ceae7c54bcda76edeffa41ff9aa0cd18a3c8e
https://github.com/llvm/llvm-project/commit/986ceae7c54bcda76edeffa41ff9aa0cd18a3c8e
Author: Chris Cotter <ccotter14 at bloomberg.net>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
A compiler-rt/test/msan/Linux/prctl.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
Log Message:
-----------
[msan] Support prctl PR_GET_NAME call (#98951)
Per the man page, PR_GET_NAME stores a null terminated string into the
input `char name[16]`.
This also adds prctl support in ASAN to detect freed memory being passed
to `prctl(PR_GET_NAME, ...)`:
Commit: 8ff233f4f16f4e372cba92ca5175fcd5e1791195
https://github.com/llvm/llvm-project/commit/8ff233f4f16f4e372cba92ca5175fcd5e1791195
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
Log Message:
-----------
[SLP]Correctly detect minnum/maxnum patterns for select/cmp operations on floats.
The patch enables detection of minnum/maxnum patterns for float point
instruction, represented as select/cmp. Also, enables better cost
estimation for integer min/max patterns since the compiler starts
to estimate the scalars separately.
Reviewers: nikic, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/98570
Commit: 15915c06d54151b78378a7cd029e1a8c09e764b3
https://github.com/llvm/llvm-project/commit/15915c06d54151b78378a7cd029e1a8c09e764b3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-extractelements.ll
Log Message:
-----------
[SLP]Do not vectorize small (<=2) buildvector/buildvalue sequences with MaxVF==true.
If MaxVFOnly for buildvector/buildvalue vectorization is set to true and the
total number of elements to vectorize is <= 2, better to try to
vectorize reductions at first, which may produce larger tree (reductions
have a limit of at least 4 elements to vectorize). Smaller
buildvector/buildvalue sequence will be attempted to vectorize later,
with MaxVFOnly set to false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/98957
Commit: 1ca07cee7ffaccaa5b07dc0105309b9d43a615d0
https://github.com/llvm/llvm-project/commit/1ca07cee7ffaccaa5b07dc0105309b9d43a615d0
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Revert "[SandboxIR] Add more Instruction member functions (#98588)"
This reverts commit 618b0b77cd7ecbdf726d393269ce822bf8d3beb9.
Commit: 3cdbb8d74d6fbd298ad4d7d283a3c7bba008e8ef
https://github.com/llvm/llvm-project/commit/3cdbb8d74d6fbd298ad4d7d283a3c7bba008e8ef
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libc/test/src/wchar/CMakeLists.txt
Log Message:
-----------
[libc] Fix old unittests for wchar tests (#99060)
Summary:
These need to use `add_libc_test`.
Commit: afbdd6f3c759d82624a6ab5dcc31c0ac3b35d9eb
https://github.com/llvm/llvm-project/commit/afbdd6f3c759d82624a6ab5dcc31c0ac3b35d9eb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
Revert "[PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers" (#99062)
Reverts llvm/llvm-project#98866
It's still use-after-scope.
Commit: a05724a1f84853fc655950c36453f200fba8af75
https://github.com/llvm/llvm-project/commit/a05724a1f84853fc655950c36453f200fba8af75
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libcxx/include/__chrono/year_month_day.h
M libcxx/modules/std/chrono.inc
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/comparisons.pass.cpp
Log Message:
-----------
[libc++][chrono] Adds year_month_day_last&::operator<=>. (#98169)
41f7bb9975bcaffae0267fa87b63c90b83ffd551 claimed it implemented this
change but the code was not adjusted. The other spaceship operators in
the calendar code have been validated too.
Implements parts of
- P1614R2 The Mothership has Landed
Commit: f38baad3e7395af94290aac21e587bc1c5f00946
https://github.com/llvm/llvm-project/commit/f38baad3e7395af94290aac21e587bc1c5f00946
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/select-from-load.ll
Log Message:
-----------
[InstCombine] Fix a crash in `PointerReplacer` (#98987)
A crash could happen in `PointerReplacer::replace` when constructing a
new
select instruction and there is no replacement for one of its operand.
This can
happen when the operand is a load instruction that has been replaced
earlier
such that the operand itself is already the new value. In this case, it
is not
in the replacement map and `getReplacement` simply returns nullptr.
Fix SWDEV-472192.
Commit: ca61bdde476aae4d179f16561ce4d245df9f0fdf
https://github.com/llvm/llvm-project/commit/ca61bdde476aae4d179f16561ce4d245df9f0fdf
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang] Prevent null pointer dereference in TransformUnaryTransformType() (#97912)
This patch adds null check after TransformType call to avoid
dereferencing a null pointer when calling getType().
Commit: 6464dd21b50bb5f22a5beae1377fec501b38e764
https://github.com/llvm/llvm-project/commit/6464dd21b50bb5f22a5beae1377fec501b38e764
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/invalid-linkerscript.test
M lld/test/ELF/oformat-binary.s
Log Message:
-----------
[ELF] OUTPUT_FORMAT: support "binary" and ignore extra OUTPUT_FORMAT commands
This patch improves GNU ld compatibility.
Close #87891: Support `OUTPUT_FORMAT(binary)`, which is like
--oformat=binary. --oformat=binary takes precedence over an ELF
`OUTPUT_FORMAT`.
In addition, if more than one OUTPUT_FORMAT command is specified, only
check the first one.
Pull Request: https://github.com/llvm/llvm-project/pull/98837
Commit: d269071d8524595fe65258e384411d1c0ae15df5
https://github.com/llvm/llvm-project/commit/d269071d8524595fe65258e384411d1c0ae15df5
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
R clang/test/AST/HLSL/ResourceStruct.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
Log Message:
-----------
[HLSL] Remove hlsl::Resource (#98938)
This was added in an effort to support resource types before we created
the HLSLResource builtin type, but it isn't needed.
Commit: 656f617ac772c54e0bee9d499e7ca232137ddb35
https://github.com/llvm/llvm-project/commit/656f617ac772c54e0bee9d499e7ca232137ddb35
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_defs.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h
Log Message:
-----------
[tsan] Replace ALIGNED with alignas
Similar to #98958.
Pull Request: https://github.com/llvm/llvm-project/pull/98959
Commit: 48f55ba9d8e51cf976a8789521dd0763dea1e2d1
https://github.com/llvm/llvm-project/commit/48f55ba9d8e51cf976a8789521dd0763dea1e2d1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/Support/DXILABI.h
A llvm/include/llvm/Transforms/Utils/DXILResource.h
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/DXILResource.cpp
M llvm/unittests/Transforms/Utils/CMakeLists.txt
A llvm/unittests/Transforms/Utils/DXILResourceTest.cpp
Log Message:
-----------
[Transforms][DXIL] Tool to generate resource metadata and annotations (#98939)
This introduces dxil::ResourceInfo, which can generate DXIL-style
metadata for resources and the constants for the DXIL 6.6+
annotateResource operation. These are done together so that it's easier
to see all of the information the ResourceInfo class needs to store.
This will be used for lowering resource in the DirectX backend and is
intended to help with the translation in the other direction as well. To
do that, we'll need the inverse functions of `getAsMetadata` and
`getAnnotateProps`.
Commit: b359209816bc58ac28139fe60bd44fe1a450778d
https://github.com/llvm/llvm-project/commit/b359209816bc58ac28139fe60bd44fe1a450778d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/unittests/Transforms/Utils/DXILResourceTest.cpp
Log Message:
-----------
Fully qualify `std::nullptr`
Commit: 9f14197eba554adcbc90a69fa517d6597c3ab25f
https://github.com/llvm/llvm-project/commit/9f14197eba554adcbc90a69fa517d6597c3ab25f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 48f55ba9d8e5
Commit: bbcb3d6aabef60c2dd2c32764ca4fd297782c322
https://github.com/llvm/llvm-project/commit/bbcb3d6aabef60c2dd2c32764ca4fd297782c322
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Reapply "[SandboxIR] Add more Instruction member functions (#98588)"
This reverts commit 1ca07cee7ffaccaa5b07dc0105309b9d43a615d0.
Commit: d3f8105c65046173e20c4c59394b4a7f1bbe7627
https://github.com/llvm/llvm-project/commit/d3f8105c65046173e20c4c59394b4a7f1bbe7627
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
A clang/lib/Basic/Targets/Le64.cpp
A clang/lib/Basic/Targets/Le64.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/bitfield-access-tail.cpp
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
Revert "Finish deleting the le32/le64 targets" (#99079)
Reverts llvm/llvm-project#98497
We're reverting this for approx 30 days so that the Halide project has
time to transition off the target.
Commit: 41b876dba420d09ba1015798a06b2b101cbb21bf
https://github.com/llvm/llvm-project/commit/41b876dba420d09ba1015798a06b2b101cbb21bf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
A llvm/test/Analysis/ValueTracking/known-bits.ll
A llvm/test/Analysis/ValueTracking/known-fpclass.ll
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for Known{Bits,NonZero,FPClass} for `llvm.vector.reverse`; NFC
Commit: 769952d72ff383e0e5fda46802fb8717712784d3
https://github.com/llvm/llvm-project/commit/769952d72ff383e0e5fda46802fb8717712784d3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-bits.ll
M llvm/test/Analysis/ValueTracking/known-fpclass.ll
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Implement Known{Bits,NonZero,FPClass} for `llvm.vector.reverse`
`llvm.vector.reverse` preserves each of the elements and thus elements
common to them.
Alive2 doesn't support the intrin yet, but the logic seems pretty
self-evident.
Closes #99013
Commit: 81704f6946894538ee1649a88688f604939de7f0
https://github.com/llvm/llvm-project/commit/81704f6946894538ee1649a88688f604939de7f0
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
R compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
Revert "[compiler-rt] adding preadv2/pwritev2 interceptions." (#99085)
Reverts llvm/llvm-project#97216
Commit: 5f8c46b88799a710f98c00d377d7edc34096f85d
https://github.com/llvm/llvm-project/commit/5f8c46b88799a710f98c00d377d7edc34096f85d
Author: Fehr Mathieu <mathieu.fehr at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
A mlir/include/mlir/CAPI/Rewrite.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/rewrite.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] Add RewriterBase to the C API (#98962)
This exposes most of the `RewriterBase` methods to the C API.
This allows to manipulate both the `IRRewriter` and the
`PatternRewriter`. The
`IRRewriter` can be created from the C API, while the `PatternRewriter`
cannot.
The missing operations are the ones taking `Block::iterator` and
`Region::iterator` as
parameters, as they are not exposed by the C API yet AFAIK.
The Python bindings for these methods and classes are not implemented.
Commit: f1c957d41bbb07c917cd36762bd6434e7d3daf95
https://github.com/llvm/llvm-project/commit/f1c957d41bbb07c917cd36762bd6434e7d3daf95
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libc/newhdrgen/class_implementation/classes/function.py
A libc/newhdrgen/gpu_headers.py
M libc/newhdrgen/header.py
A libc/newhdrgen/yaml/features.yaml
M libc/newhdrgen/yaml/pthread.yaml
M libc/newhdrgen/yaml/sys/sys_random.yaml
M libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] newheadergen: script adjusted for cmake (#98825)
- added entrypoints and headerfile parameters depending on target
- fixed nits in yaml files causing errors
- tested with new cmake config
- cmake patch will be seperate
Commit: bccd1190c99120e3675771c23901d4a44f82c617
https://github.com/llvm/llvm-project/commit/bccd1190c99120e3675771c23901d4a44f82c617
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/test/MC/AMDGPU/expressions-gfx10.s
M llvm/test/MC/AMDGPU/gfx1013.s
M llvm/test/MC/AMDGPU/gfx1030_unsupported.s
M llvm/test/MC/AMDGPU/gfx10_asm_dpp16.s
M llvm/test/MC/AMDGPU/gfx10_asm_dpp8.s
M llvm/test/MC/AMDGPU/gfx10_asm_ds.s
M llvm/test/MC/AMDGPU/gfx10_asm_err.s
M llvm/test/MC/AMDGPU/gfx10_asm_flat.s
M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
M llvm/test/MC/AMDGPU/gfx10_asm_sop.s
M llvm/test/MC/AMDGPU/gfx10_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx10_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx10_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx10_asm_vopc_e64.s
M llvm/test/MC/AMDGPU/gfx10_asm_vopc_sdwa.s
M llvm/test/MC/AMDGPU/gfx10_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx10_unsupported.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_dpp.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_e32.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_e64.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_e64_dpp.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_sdwa.s
M llvm/test/MC/AMDGPU/gfx11-promotions.s
M llvm/test/MC/AMDGPU/gfx11_asm_flat.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopd.s
M llvm/test/MC/AMDGPU/gfx11_asm_wmma.s
M llvm/test/MC/AMDGPU/gfx11_unsupported.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_dpp.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_e32.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_e64.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
M llvm/test/MC/AMDGPU/gfx12_asm_global_load_tr.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopd.s
M llvm/test/MC/AMDGPU/gfx12_asm_wmma_w64.s
M llvm/test/MC/AMDGPU/vop3-literal.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_ds.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_flat.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_sop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_sopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_sopk.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_sopp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1_sdwa.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_sdwa.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc_sdwa.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx_sdwa.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopd.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_wmma.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_global_load_tr.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopd.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w64.txt
Log Message:
-----------
[AMDGPU] Get rid of the +wavefrontsizeXX,-wavefrontsizeXX in MC tests (#99001)
Now turning off/turning on feature is not needed in most cases. This is
NFC, tests only.
Commit: bb604ae9b8adbc0a0852eb68545eff685902f41b
https://github.com/llvm/llvm-project/commit/bb604ae9b8adbc0a0852eb68545eff685902f41b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/IR/CMakeLists.txt
Log Message:
-----------
[LLVM][LTO] Add missing dependency
Fixes 'llvm/CodeGen/GenVT.inc' file not found.
Follow up to #98512
Commit: e094abde42634e38cda85a6024792f681fc58f32
https://github.com/llvm/llvm-project/commit/e094abde42634e38cda85a6024792f681fc58f32
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
A llvm/test/CodeGen/ARM/scmp.ll
A llvm/test/CodeGen/ARM/ucmp.ll
A llvm/test/CodeGen/LoongArch/scmp.ll
A llvm/test/CodeGen/LoongArch/ucmp.ll
A llvm/test/CodeGen/PowerPC/scmp.ll
A llvm/test/CodeGen/PowerPC/ucmp.ll
A llvm/test/CodeGen/RISCV/scmp.ll
A llvm/test/CodeGen/RISCV/ucmp.ll
A llvm/test/CodeGen/SystemZ/scmp.ll
A llvm/test/CodeGen/SystemZ/ucmp.ll
A llvm/test/CodeGen/Thumb/scmp.ll
A llvm/test/CodeGen/Thumb/ucmp.ll
A llvm/test/CodeGen/WebAssembly/scmp.ll
A llvm/test/CodeGen/WebAssembly/ucmp.ll
M llvm/test/CodeGen/X86/scmp.ll
M llvm/test/CodeGen/X86/ucmp.ll
Log Message:
-----------
[SelectionDAG] Expand [US]CMP using arithmetic on boolean values instead of selects (#98774)
The previous expansion of [US]CMP was done using two selects and two
compares. It produced decent code, but on many platforms it is better to
implement [US]CMP nodes by performing the following operation:
```
[us]cmp(x, y) = (x [us]> y) - (x [us]< y)
```
This patch adds this new expansion, as well as a hook in TargetLowering to allow some targets to still use the select-based approach. AArch64 and SystemZ are currently the only targets to prefer the former approach, but other targets may also start to use it if it provides for better codegen.
Commit: 9078036685af5b170380ce223e875659e3674e76
https://github.com/llvm/llvm-project/commit/9078036685af5b170380ce223e875659e3674e76
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/ScriptParser.cpp
A lld/test/ELF/emulation-hexagon.s
Log Message:
-----------
[lld] Add emulation support for hexagon (#98857)
Commit: ff6ff2e2561027b5f2db1be7edae9a29be5c95b4
https://github.com/llvm/llvm-project/commit/ff6ff2e2561027b5f2db1be7edae9a29be5c95b4
Author: Kamau Bridgeman <kamau.bridgeman at ibm.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-gc-sections.c
Log Message:
-----------
NFC: Mark instrprof-gc-sections.c unsupported on ppc64le
PR #99056 marked this test case as an XFAIl for ppc64le but it
is actually being temporary unsupported, this changes it from
an XFAIl to unsupported.
Commit: d01d9abf851fe688dd5f24649db2728431ca5c0d
https://github.com/llvm/llvm-project/commit/d01d9abf851fe688dd5f24649db2728431ca5c0d
Author: vporpo <vporpodas at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
A llvm/include/llvm/SandboxIR/Use.h
Log Message:
-----------
[SandboxIR][NFC] Move sandboxir::Use into a separate file (#99074)
This helps avoid circular dependencies in a follow-up patch.
Commit: 80e18b93c5abfcbf296b6e2b45cea1ee77633f1e
https://github.com/llvm/llvm-project/commit/80e18b93c5abfcbf296b6e2b45cea1ee77633f1e
Author: Martin Storsjö <martin at martin.st>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
Log Message:
-----------
[llvm-dlltool] Remove the i386 underscore prefix from COFFImportFile::ImportName. NFC. (#98226)
On i386, regular C level symbols are given an underscore prefix
in the symbols on the object file level. However, the exported
names from DLLs usually don't have this leading underscore.
When specified in a def file like "symbol == dllname", the "dllname"
is the name of the exported symbol from the DLL, which will be
linked against from an object file symbol named "_symbol"
(on i386).
The mechanism where one symbol is redirected to another one in
an import library is implemented with weak aliases. In that case,
we need to have the object file symbol level name for the target
of the import, as we make one object file symbol point at another
one. Therefore, we added an underscore to the ImportName field.
(This mechanism, with weak aliases, only works as long as the
target also is exported as is, in that form - this issue is
dealt with in a later commit.)
For clarity, for potentially handling the import renaming in
other ways, store the ImportName field unprefixed, containing
the actual name to import from the DLL.
When creating the aliases, add the prefix as needed. This requires
passing an extra AddUnderscores parameter to the writeImportLibrary
function; this is a temporary measure, until alias creation is
reworked in a later commit.
This doesn't preserve the corner case of checking !isDecorated()
before adding the prefix. This corner case isn't tested by any
of our existing tests, and only would trigger for
fastcall/vectorcall/MS C++ functions - while these kinds of
renames primarily are used in mingw-w64-crt import libraries
(which primarily handle cdecl and stdcall functions).
Commit: ad2ff1722622d199e77abf119e60bb1c66dd48e9
https://github.com/llvm/llvm-project/commit/ad2ff1722622d199e77abf119e60bb1c66dd48e9
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lld/test/wasm/dylink.s
M lld/wasm/InputFiles.cpp
Log Message:
-----------
[lld][WebAssembly] Work around limited architecture detection for wasm64 shared libraries (#98961)
We don't currently have a great way to detect the architecture of shared
object files under wasm. The currently method involves checking if the
imported or exported memory is 64-bit. However some shared libraries
don't use linear memory at all.
See https://github.com/llvm/llvm-project/issues/98778
Commit: 446965070149d53374ee4d3010789673083fb11c
https://github.com/llvm/llvm-project/commit/446965070149d53374ee4d3010789673083fb11c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-dlltool/coff-decorated.def
Log Message:
-----------
[llvm-dlltool] Handle import renaming using other name types, when possible (#98228)
This avoids needing to use weak aliases for these cases. (Weak
aliases only work if there's another, regular import entry that
provide the desired symbol from the DLL.)
Commit: f2d6d74cd2a8dccc5ec47bb5debb003e06249db3
https://github.com/llvm/llvm-project/commit/f2d6d74cd2a8dccc5ec47bb5debb003e06249db3
Author: Martin Storsjö <martin at martin.st>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lld/test/COFF/lib.test
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/test/tools/llvm-dlltool/coff-decorated.def
M llvm/test/tools/llvm-dlltool/coff-weak-exports.def
A llvm/test/tools/llvm-dlltool/renaming.def
Log Message:
-----------
[llvm-dlltool] Fix renamed imports without a separate regular import entry (#98229)
Normally, when doing renamed imports, we do this by providing a
weak alias, towards another regular import, for the symbol we
want to actually import. In a def file, this looks like this:
regularfunc
renamedfunc == regularfunc
However, if we want to link against a function in a DLL, where we
(intentionally) don't provide a regular import for that symbol
with the name in its DLL, doing the renamed import with a weak
alias doesn't work, as there's no symbol that the weak alias can
point towards.
We can't make up such an import either, as we may intentionally
not want to provide a regular import for that name.
This situation can either be resolved by using the "long" import
library format (as e.g. produced by GNU dlltool), or by using the
new short import library name type "export as".
This patch implements it by using the "export as" name type.
When producing a renamed import, defer emitting it until all regular
imports have been produced. If the renamed import refers to a
symbol that does exist as a regular import entry, produce a
weak alias, just as before. (This implementation also avoids needing
to know whether the symbol that the alias points towards actually
is prefixed or not, too.)
If the renamed import points at a symbol that isn't otherwise
available (or is available as a renamed symbol itself), generate
an "export as" import entry.
This name type is new, and is normally used in ARM64EC import
libraries, but can also be used for other architectures.
Commit: b7b77b0fe878d5620b042818cf527267521e51f5
https://github.com/llvm/llvm-project/commit/b7b77b0fe878d5620b042818cf527267521e51f5
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
A lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
R lldb/test/Shell/SymbolFile/DWARF/x86/simple-template-names-context.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/type-definition-search.cpp
Log Message:
-----------
Reapply [lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#98361)
This is a reapply of https://github.com/llvm/llvm-project/pull/92328 and
https://github.com/llvm/llvm-project/pull/93839.
It now passes the
[test](https://github.com/llvm/llvm-project/commit/de3f1b6d68ab8a0e827db84b328803857a4f60df),
which crashes with the original reverted changes.
Commit: 9be5f4f5d5617d11e96fe53e8c3f463252486641
https://github.com/llvm/llvm-project/commit/9be5f4f5d5617d11e96fe53e8c3f463252486641
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/docs/HLSL/HLSLIRReference.rst
M clang/docs/HLSL/ResourceTypes.rst
A llvm/docs/DirectX/DXILResources.rst
M llvm/docs/DirectXUsage.rst
Log Message:
-----------
[DirectX] Start documenting DXIL Resource handling (#90553)
This adds a new document about DXIL Resource Handling. I've attempted to
describe here how we intend to use TargetExtTypes to represent resources
in LLVM IR and the various intrinsics we'll need to lower these through
LLVM to DXIL.
For now this document is limited to the high level concepts and a few
details on buffer types, and there are a number of TODOs in the document
that we'll iterate on as we progress in the implementation.
Commit: 4199f80df58624bbd8491688b4ab6aefdfec2726
https://github.com/llvm/llvm-project/commit/4199f80df58624bbd8491688b4ab6aefdfec2726
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/load-store-index-loaded-in-loop.ll
Log Message:
-----------
[LAA] Adjust test from a4f8705b05 so RT checks aren't always false.
Updated @B_indices_loaded_in_loop_A_stored to use a different offset
for one of the accesses we create runtime checks for; the original
version had a runtime check that was always true as the accesses always
overlapped.
Commit: 434c2382f11e21b0c7ad2fda8ae66cd65c471463
https://github.com/llvm/llvm-project/commit/434c2382f11e21b0c7ad2fda8ae66cd65c471463
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_defs.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h
Log Message:
-----------
Revert "[tsan] Replace ALIGNED with alignas" (#99240)
Reverts llvm/llvm-project#98959
Commit: f7cee44ef2a2bf62f3c939d5686c45c71f3b14bc
https://github.com/llvm/llvm-project/commit/f7cee44ef2a2bf62f3c939d5686c45c71f3b14bc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/test/src/string/strerror_test.cpp
Log Message:
-----------
[libc] Add `strerror` and `strerror_k` to the GPU (#99083)
Summary:
The GPU ignores `errno` primarily, but targets want these functions to
be defined for certain C standard interfaces. This patch enables them
and makes the test function on non-Linux targets.
Commit: 8393ea5d1dd8e8b56a87a6edbca31fb8722cee48
https://github.com/llvm/llvm-project/commit/8393ea5d1dd8e8b56a87a6edbca31fb8722cee48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/docs/gpu/support.rst
M libc/include/llvm-libc-macros/gpu/time-macros.h
M libc/include/time.h.def
M libc/src/time/gpu/CMakeLists.txt
A libc/src/time/gpu/clock_gettime.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/clock_gettime_test.cpp
Log Message:
-----------
[libc] Implement `clock_gettime` for the monotonic clock on the GPU (#99067)
Summary:
This patch implements `clock_gettime` using the monotonic clock. This
allows users to get time elapsed at nanosecond resolution. This is
primarily to facilitate compiling the `chrono` library from `libc++`.
For this reason we provide both `CLOCK_MONOTONIC`, which we can
implement
with the GPU's global fixed-frequency clock, and `CLOCK_REALTIME` which
we cannot. The latter is provided just to make people who use this
header happy and it will always return failure.
Commit: 898c116add170afb832d7f2f6bcfdc0daa6765f1
https://github.com/llvm/llvm-project/commit/898c116add170afb832d7f2f6bcfdc0daa6765f1
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
Log Message:
-----------
[tsan] Avoid ALIGNED in tsan_platform_mac.cpp. NFC
Commit: 41553876d3cf31e709039cb3ba95d279ae0b217e
https://github.com/llvm/llvm-project/commit/41553876d3cf31e709039cb3ba95d279ae0b217e
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
A compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
Preadv2 pwritev2 san reapply (#99089)
Commit: 7bb6bb9a1f9f1613cc422d99fd9b9dacb1b329ec
https://github.com/llvm/llvm-project/commit/7bb6bb9a1f9f1613cc422d99fd9b9dacb1b329ec
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_defs.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h
Log Message:
-----------
[tsan] Replace ALIGNED with alignas
Similar to #98958.
The relands 656f617ac772c54e0bee9d499e7ca232137ddb35 , which
was reverted due to an issue in tsan_platform_mac.cpp
Pull Request: https://github.com/llvm/llvm-project/pull/98959
Commit: 49b2c30feb3730ccb1ba075dd37e68d47095bb23
https://github.com/llvm/llvm-project/commit/49b2c30feb3730ccb1ba075dd37e68d47095bb23
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libc/docs/gpu/support.rst
Log Message:
-----------
[libc][docs] Document printf support on the GPU target (#99241)
Summary:
Title
Commit: e215cf70998f299a0859d64b35c7f8f29bd478c6
https://github.com/llvm/llvm-project/commit/e215cf70998f299a0859d64b35c7f8f29bd478c6
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port changes from main (#99247)
This ports 5f8c46b88799a710f98c00d377d7edc34096f85d and
4531f82c1ad905614c1df9359a77d48e6397fd97
Commit: f761e50a98f4123f6a57d8e9c3be64e5e39a16fe
https://github.com/llvm/llvm-project/commit/f761e50a98f4123f6a57d8e9c3be64e5e39a16fe
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[CMake][Fuchsia] Use escaped double quote (#99246)
Using single quotes made the build to break on Windows.
Commit: c4610580adaefe76b3c14589b2d4d4c134609f67
https://github.com/llvm/llvm-project/commit/c4610580adaefe76b3c14589b2d4d4c134609f67
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
A clang-tools-extra/test/clang-doc/namespace.cpp
Log Message:
-----------
[clang-doc] add nested namespace test case (#97681)
This patch adds a test to clang-doc which test the nested namespace
generation of clang-doc
Commit: eab37384c151c7eabbffb65e5a053b58f88c8b5d
https://github.com/llvm/llvm-project/commit/eab37384c151c7eabbffb65e5a053b58f88c8b5d
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
A clang-tools-extra/test/clang-doc/enum.cpp
Log Message:
-----------
[clang-doc] add enum test (#97679)
This patch adds a test which test the enum generation for clang-doc.
Commit: e8ab4132598cd925263137adfad510b411459907
https://github.com/llvm/llvm-project/commit/e8ab4132598cd925263137adfad510b411459907
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/MC/RISCV/XTHeadVdot-valid.s
Log Message:
-----------
[RISCV] Add capital letters to T-Head extension names in descriptions. (#99070)
This matches T-Head documentation and the capitalization we use for the
RISCVSubtarget methods.
Commit: dbc3df17180782006be0ad6e43d3da81d98c2d4d
https://github.com/llvm/llvm-project/commit/dbc3df17180782006be0ad6e43d3da81d98c2d4d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Remove unnecessary call to MachineFunction::getSubtarget. NFC
RISCVInstrInfo already caches a reference to the subtarget object
that owns it. We can use that.
Commit: 6ad2987a72392e9885e1186a34834041445e0a1e
https://github.com/llvm/llvm-project/commit/6ad2987a72392e9885e1186a34834041445e0a1e
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/ObjC.cpp
M lld/test/MachO/dead-strip.s
M lld/test/MachO/icf-safe.ll
Log Message:
-----------
[lld-macho] Omit `__llvm_addrsig` metadata from the output (#98913)
This section contains metadata that's only relevant for Identical Code
Folding at link time, we should not include it in the output.
We still treat it like a regular section during input file parsing (e.g.
create a `ConcatInputSection` for it), as we want its relocations to be
parsed. But it should not be passed to `addInputSection`, as that's what
assigns it to an `OutputSection` and adds it to the `inputSections`
vector which specifies the inputs to dead-stripping and relocation
scanning.
This fixes a "__DATA,__llvm_addrsig, offset 0: fixups overlap" error
when using `--icf=safe` alongside `-fixup_chains`. This occurs because
all `__llvm_addrsig` sections are 8 bytes large, and the relocations
which signify functions whose addresses are taken are all at offset 0.
This makes the fix in 5fa24ac2 ("Category Merger: add support for
addrsig references") obsolete, as we no longer try to resolve symbols
referenced in `__llvm_addrsig` when writing the output file. When we do
iterate its relocations in `markAddrSigSymbols`, we do not try to
resolve their addresses.
Commit: ffbda47159361cd089b8046ec634ace071e5493c
https://github.com/llvm/llvm-project/commit/ffbda47159361cd089b8046ec634ace071e5493c
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/include/mlir/CAPI/Rewrite.h
Log Message:
-----------
[mlir] Fix build error (NFC)
/llvm-project/mlir/include/mlir/CAPI/Rewrite.h:21:63:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
DEFINE_C_API_PTR_METHODS(MlirRewriterBase, mlir::RewriterBase);
^
1 error generated.
Commit: bed625b0ad6722e1d29a3ea492dda173eee541dd
https://github.com/llvm/llvm-project/commit/bed625b0ad6722e1d29a3ea492dda173eee541dd
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
A llvm/test/MC/ELF/warn-newline-in-escaped-string.s
Log Message:
-----------
[MC,ELF] Emit warning if a string constant contains newline char (#98060)
GAS emits warning about newline in the string constant so make the same
behaviour.
Commit: f56cdd4a45b7bbe84be5d4ba9442eb7071605efc
https://github.com/llvm/llvm-project/commit/f56cdd4a45b7bbe84be5d4ba9442eb7071605efc
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/select-from-load.ll
Log Message:
-----------
[NFC] Use named variable for test case `select-from-load.ll`
Commit: b6c4ad700b0f5851313f18df89b9da2c27ba3185
https://github.com/llvm/llvm-project/commit/b6c4ad700b0f5851313f18df89b9da2c27ba3185
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/fastcc-int.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
Log Message:
-----------
[RISCV] Remove x7 from fastcc list. (#96729)
Like #93321, this patch also tries to solve the conflict usage of x7 for
fastcc and Zicfilp. But this patch removes x7 from fastcc directly. Its
purpose is to reduce the code complexity of #93321, and we also found
that it at most increase 0.02% instruction count for most benchmarks and
it might be benefit for benchmarks.
Commit: 746cea3eb741cae0cb90542d1580b7bacbf2a615
https://github.com/llvm/llvm-project/commit/746cea3eb741cae0cb90542d1580b7bacbf2a615
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splat.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splat.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Introduce vp.splat and RISC-V. (#98731)
This patch introduces a vp intrinsic for splat. It's helpful for
IR-level passes to create a splat with specific vector length.
Commit: cf6233f408029835488e1b4f2aad8cfa69e57c22
https://github.com/llvm/llvm-project/commit/cf6233f408029835488e1b4f2aad8cfa69e57c22
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M lld/COFF/LTO.cpp
M lld/test/COFF/lto-emit-llvm.ll
Log Message:
-----------
[lld-link] Change /lldemit:llvm to use the pre-codegen module
This matches ELF (#97480). clang cc1 -emit-llvm and -emit-llvm-bc for
ThinLTO backend compilation also uses `PreCodeGenModuleHook`.
While here, replace deprecated %T with %t.
Pull Request: https://github.com/llvm/llvm-project/pull/98589
Commit: b042af363bcdfa5e7e3d7dd424a561a041ac8f02
https://github.com/llvm/llvm-project/commit/b042af363bcdfa5e7e3d7dd424a561a041ac8f02
Author: Allen <zhongyunde at huawei.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
A clang/test/CodeGen/math-libcalls-tbaa.cpp
Log Message:
-----------
[clang codegen] Precommit tests for PR96025, NFC (#98704)
Add extern "C" for the function because there is difference function naming rules between Linux and Windows
Commit: befd44bcdc6e9d2f4099bf344826b2cd0fd8cbdc
https://github.com/llvm/llvm-project/commit/befd44bcdc6e9d2f4099bf344826b2cd0fd8cbdc
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx10.mir
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
Log Message:
-----------
[AMDGPU] Update hasUnwantedEffectsWhenEXECEmpty (#97982)
Add barriers and s_wait_event to hasUnwantedEffectsWhenEXECEmpty.
Add a comment documenting the current expected use of the function.
Commit: 1b873e565eea97d02cdb2375c50ceea89a818e5b
https://github.com/llvm/llvm-project/commit/1b873e565eea97d02cdb2375c50ceea89a818e5b
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
A llvm/include/llvm/CodeGen/PHIElimination.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/PHIElimination-crash.mir
M llvm/test/CodeGen/AArch64/PHIElimination-debugloc.mir
M llvm/test/CodeGen/AMDGPU/phi-elimination-assertion.mir
M llvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
M llvm/test/CodeGen/AMDGPU/split-mbb-lis-subrange.mir
M llvm/test/CodeGen/AMDGPU/stale-livevar-in-twoaddr-pass.mir
M llvm/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
M llvm/test/CodeGen/PowerPC/livevars-crash1.mir
M llvm/test/CodeGen/PowerPC/livevars-crash2.mir
M llvm/test/CodeGen/PowerPC/phi-eliminate.mir
M llvm/test/CodeGen/PowerPC/two-address-crash.mir
M llvm/test/CodeGen/Thumb2/phi_prevent_copy.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/phielim-undef.mir
Log Message:
-----------
[CodeGen][NewPM] Port `phi-node-elimination` to new pass manager (#98867)
- Add `PHIEliminationPass `.
- Support new pass manager in `MachineBasicBlock:: SplitCriticalEdge `
Commit: 484fdb901f2cc39b122489508009947910001213
https://github.com/llvm/llvm-project/commit/484fdb901f2cc39b122489508009947910001213
Author: Allen <zhongyunde at huawei.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/test/CodeGen/math-libcalls-tbaa.cpp
Log Message:
-----------
[clang codegen] Fix the ci fail for PR98704 (#99267)
Different targets may have different flag on arguments, so restrict the
triple to avoid ci fail.
Commit: 493d504b35b9f655177b81ef3848e4a08a17831a
https://github.com/llvm/llvm-project/commit/493d504b35b9f655177b81ef3848e4a08a17831a
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
M llvm/test/MachineVerifier/test_g_vscale.mir
Log Message:
-----------
[GlobalIsel] Fix Machine Verifier errors (#99018)
temporary solution.
For discussion see https://github.com/llvm/llvm-project/pull/98894
Permanent solution could be:
REQUIRES: default_triple
Commit: 3850912fee9a14990bc3d72dc2654b03f9e2ab87
https://github.com/llvm/llvm-project/commit/3850912fee9a14990bc3d72dc2654b03f9e2ab87
Author: hev <wangrui at loongson.cn>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/typepromotion-overflow.ll
Log Message:
-----------
[LoongArch] Enable the TypePromotion pass from AArch64 (#98868)
Commit: 9e9924cc2e0d0f03def09e02e7344d10066eb1b6
https://github.com/llvm/llvm-project/commit/9e9924cc2e0d0f03def09e02e7344d10066eb1b6
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
Log Message:
-----------
[RISCV] Don't fold vmerge.vvm or vmv.v.v into vredsum.vs if AVL changed (#99006)
When folding, we currently check if the pseudo's result is not lanewise
(e.g. vredsum.vs or viota.m) and bail if we're changing the mask.
However we also need to check for the AVL too.
This patch bails if the AVL changed for these pseudos, and also renames
the pseudo table property to be more explicit.
Commit: 6192f458f4fd2ca4e6f01515547034f89325e73c
https://github.com/llvm/llvm-project/commit/6192f458f4fd2ca4e6f01515547034f89325e73c
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/tag_types.h
R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.compile.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.compile.fail.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/ctor.adopt_lock.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/ctor.mutex.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.verify.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/std.mutex.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.compile.pass.cpp
A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.h
R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
Log Message:
-----------
[libc++] Make `std::lock_guard` available with `_LIBCPP_HAS_NO_THREADS` (#98717)
This change makes `std::lock_guard` available when
`_LIBCPP_HAS_NO_THREADS` is set. This class is generic and doesn't
require threading support, and is regularly used even in environments
where threading isn't available like embedded.
fixes #89891
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 6d26e574241e04264c10e15781c0788363f3e015
https://github.com/llvm/llvm-project/commit/6d26e574241e04264c10e15781c0788363f3e015
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
Log Message:
-----------
[RISCV] Remove accidentally duplicated isel patterns. NFC
VPatIntegerSetCCSDNode_XI_Swappable inherited from
VPatIntegerSetCCSDNode_XI and contained the same patterns.
Commit: 8ca7e24b359ab2b6d2868f9252c7cd11eb48c787
https://github.com/llvm/llvm-project/commit/8ca7e24b359ab2b6d2868f9252c7cd11eb48c787
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
Log Message:
-----------
[RISCV] Add more vector setcc VI isel patterns.
Add more patterns isel patterns for vmseq.vi and friends with
the constant splat on the left hand side.
We can't trust the canonicalization in SimplifySetCC to keep constants
to the RHS when the splat is VMV_V_X_VL for i64 on RV32.
Commit: f0ac8903ea1c1d664d1fae16ed00e096c713aaee
https://github.com/llvm/llvm-project/commit/f0ac8903ea1c1d664d1fae16ed00e096c713aaee
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
Log Message:
-----------
[RISCV][NFC] Fix intrinsic misspelled in a comment (#98998)
Commit: 3fe50b6dde174c76b3380927d7dd43ac19527d64
https://github.com/llvm/llvm-project/commit/3fe50b6dde174c76b3380927d7dd43ac19527d64
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/Inputs/ambiguous_fragment.s
A bolt/test/X86/Inputs/ambiguous_fragment.script
A bolt/test/X86/ambiguous_fragment.test
Log Message:
-----------
[BOLT] Store FileSymRefs in a multimap
With aggressive ICF, it's possible to have different local symbols
(under different FILE symbols) to be mapped to the same address.
FileSymRefs only keeps a single SymbolRef per address, which prevents
fragment matching from finding the correct symbol to perform parent
function lookup.
Work around this issue by switching FileSymRefs to a multimap. In
future, uses of FileSymRefs can be replaced with SortedSymbols which
keeps essentially the same information.
Test Plan: added ambiguous_fragment.test
Reviewers: dcci, ayermolo, maksfb, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/98992
Commit: 20861f1f2fdc5d9aaa76140ade96f7edfdefb0e1
https://github.com/llvm/llvm-project/commit/20861f1f2fdc5d9aaa76140ade96f7edfdefb0e1
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
A mlir/test/Integration/GPU/CUDA/alloc-host-shared.mlir
Log Message:
-----------
[mlir][gpu] Use alloc OP's `host_shared` in cuda runtime (#99035)
Commit: e316f1956992730fa601849799ccb12d17f507d7
https://github.com/llvm/llvm-project/commit/e316f1956992730fa601849799ccb12d17f507d7
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for spurious mask removal. NFC
Commit: b330d800cb7917e537b05a23febfe188401c5628
https://github.com/llvm/llvm-project/commit/b330d800cb7917e537b05a23febfe188401c5628
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
A clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Reapply [Clang][C++26] Implement "Ordering of constraints involving fold expressions (#99022)
Implement https://isocpp.org/files/papers/P2963R3.pdf
Commit: f10a78b7e48f9067bc2e5a67ea2166b707701f29
https://github.com/llvm/llvm-project/commit/f10a78b7e48f9067bc2e5a67ea2166b707701f29
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: use std::make_unique. NFC.
Commit: 31087c5e4c8ddfe08ab3ea6d3847e05c4738eeee
https://github.com/llvm/llvm-project/commit/31087c5e4c8ddfe08ab3ea6d3847e05c4738eeee
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
A flang/include/flang/Optimizer/Transforms/MemoryUtils.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
A flang/lib/Optimizer/Transforms/MemoryUtils.cpp
A flang/test/Fir/memory-allocation-opt-2.fir
Log Message:
-----------
[flang] handle alloca outside of entry blocks in MemoryAllocation (#98457)
This patch generalizes the MemoryAllocation pass (alloca -> heap) to
handle fir.alloca regardless of their postion in the IR. Currently, it
only dealt with fir.alloca in function entry blocks. The logic is placed
in a utility that can be used to replace alloca in an operation on
demand to whatever kind of allocation the utility user wants via
callbacks (allocmem, or custom runtime calls to instrument the code...).
To do so, a concept of ownership, that was already implied a bit and
used in passes like stack-reclaim, is formalized. Any operation with the
LoopLikeInterface, AutomaticAllocationScope, or IsolatedFromAbove owns
the alloca directly nested inside its regions, and they must not be used
after the operation.
The pass then looks for the exit points of region with such interface,
and use that to insert deallocation. If dominance is not proved, the
pass fallbacks to storing the new address into a C pointer variable
created in the entry of the owning region which allows inserting
deallocation as needed, included near the alloca itself to avoid leaks
when the alloca is executed multiple times due to block CFGs loops.
This should fix https://github.com/llvm/llvm-project/issues/88344.
In a next step, I will try to refactor lowering a bit to introduce
lifetime operation for alloca so that the deallocation points can be
inserted as soon as possible.
Commit: 578c6191eff7c69608cf5e363460f60a890d4065
https://github.com/llvm/llvm-project/commit/578c6191eff7c69608cf5e363460f60a890d4065
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/is_void.h
Log Message:
-----------
[libc++] Simplify std::is_void (#99033)
Commit: f2251f93ab6977c2a2fc547b9301da2c2627c663
https://github.com/llvm/llvm-project/commit/f2251f93ab6977c2a2fc547b9301da2c2627c663
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/alloc-host-shared.mlir
Log Message:
-----------
[mlir][gpu] Add mlir_c_runner_utils to fix #99035
This fixes the unit test that is broken in #99035.
Commit: 863ad5af2d2e99dfb370bf370079e452212807ac
https://github.com/llvm/llvm-project/commit/863ad5af2d2e99dfb370bf370079e452212807ac
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Remove Block::deref()
We already have Pointer::deref()
Commit: d3dab0cb8dd04a16e10b5f29b968d50749dcb2c2
https://github.com/llvm/llvm-project/commit/d3dab0cb8dd04a16e10b5f29b968d50749dcb2c2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.cpp
Log Message:
-----------
[clang][Interp][NFC] Assert initialization state in invoke{C,D}tor
Commit: 5e338f1f4ae28b9dd7d722a77ab204e358006a86
https://github.com/llvm/llvm-project/commit/5e338f1f4ae28b9dd7d722a77ab204e358006a86
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: use emplace_back instead of push_back. NFC.
Commit: a5b5208ba627da46310db67af0dcbb0a824fab92
https://github.com/llvm/llvm-project/commit/a5b5208ba627da46310db67af0dcbb0a824fab92
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/test/Preprocessor/embed_codegen.cpp
M clang/test/Preprocessor/embed_constexpr.cpp
Log Message:
-----------
[clang] Be careful when choosing "fast path" for initialization with #embed (#99023)
When #embed appears in an initializer list, we may choose a "fast path"
if the target declaration is a char array. We simply initialize it with
string literal that contains embedded data. However we need to be
careful when checking that we actually can use this "fast path" since
char array may be nested in a struct.
Commit: 0905732f75cb0f774972c721810aba74021102f2
https://github.com/llvm/llvm-project/commit/0905732f75cb0f774972c721810aba74021102f2
Author: Abe <abe149 at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang-tools-extra/docs/modularize.rst
Log Message:
-----------
[clang-tools-extra] Fix typos in Modularize.rst (#99256)
mainly, fixed “the Clang module mechanism doesn’t support headers the
rely on other headers” => “the Clang module mechanism doesn’t support
headers that rely on other headers”. [emphasis on “the” versus “that”]
Commit: caaf8099efa87a7ebca8920971b7d7f719808591
https://github.com/llvm/llvm-project/commit/caaf8099efa87a7ebca8920971b7d7f719808591
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M offload/include/OpenMP/OMPT/Interface.h
M offload/src/OpenMP/API.cpp
M offload/src/OpenMP/OMPT/Callback.cpp
A offload/test/ompt/omp_api.c
Log Message:
-----------
[Offload][OMPT] Add callbacks for (dis)associate_ptr (#99046)
This adds the OMPT callbacks for the API functions disassociate_ptr and
associate_ptr.
Commit: d28ed29d6bd9f0389092775406fff7e6205d4d5f
https://github.com/llvm/llvm-project/commit/d28ed29d6bd9f0389092775406fff7e6205d4d5f
Author: Sam Parker <sam.parker at arm.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
A llvm/test/CodeGen/WebAssembly/vector-reduce.ll
Log Message:
-----------
[TTI][WebAssembly] Pairwise reduction expansion (#93948)
WebAssembly doesn't support horizontal operations nor does it have a way
of expressing fast-math or reassoc flags, so runtimes are currently
unable to use pairwise operations when generating code from the existing
shuffle patterns.
This patch allows the backend to select which, arbitary, shuffle pattern
to be used per reduction intrinsic. The default behaviour is the same as
the existing, which is by splitting the vector into a top and bottom
half. The other pattern introduced is for a pairwise shuffle.
WebAssembly enables pairwise reductions for int/fp add/sub.
Commit: f270a4dd6667759d7305797a077ae09648318ac7
https://github.com/llvm/llvm-project/commit/f270a4dd6667759d7305797a077ae09648318ac7
Author: Amara Emerson <amara at apple.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
A llvm/test/CodeGen/AArch64/no-tail-call-bzero-from-memset.ll
Log Message:
-----------
[AArch64] Don't tail call memset if it would convert to a bzero. (#98969)
Well, not quite that simple. We can tc memset since it returns the first
argument but bzero doesn't do that and therefore we can end up
miscompiling.
This patch also refactors the logic out of isInTailCallPosition() into the callers.
As a result memcpy and memmove are also modified to do the same thing
for consistency.
rdar://131419786
Commit: a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
https://github.com/llvm/llvm-project/commit/a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
Log Message:
-----------
[lldb][RISCV] function prologue backtrace fix (#99043)
CreateFunctionEntryUnwindPlan RISCV ABI function fix needed to receive a
valid backtrace at the start of functions.
Fixed tests for RISCV target:
TestNumThreads.NumberOfThreadsTestCase
TestCPPExceptionBreakpoints.CPPBreakpointTestCase
TestStepThroughTrampoline.StepThroughTrampoline
TestOSPluginStepping.TestOSPluginStepping
TestSteppingOutWithArtificialFrames.TestArtificialFrameThreadStepOut1
TestStepAvoidsRegexp.StepAvoidsRegexTestCase
TestInlineStepping.TestInlineStepping
TestStepOverBreakpoint.StepOverBreakpointsTestCase
TestStepOverBreakpoint.StepOverBreakpointsTestCase
TestSteppingOutWithArtificialFrames.TestArtificialFrameThreadStepOut1
TestTailCallFrameSBAPI.TestTailCallFrameSBAPI
TestThreadPlanUserBreakpoint.ThreadPlanUserBreakpointsTestCase
Commit: 8bf952d77fbe63f979e4293e95a5ca379e26eede
https://github.com/llvm/llvm-project/commit/8bf952d77fbe63f979e4293e95a5ca379e26eede
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/test/Lower/tune-cpu-llvm.f90
Log Message:
-----------
[flang][test] Fix mtune test on AArch64 bots
The native architecture is AArch64 here so the pentium name won't
work even if you've got the x86 backend enabled.
https://lab.llvm.org/buildbot/#/builders/17/builds/898
Pass an explicit target for each run line to fix this.
Test added in f1d3fe7aae7867b5de96b84d6d26b5c9f02f209a / #98517
Commit: 72b3d7bc87019ba7ef268ce322f90382f01b11af
https://github.com/llvm/llvm-project/commit/72b3d7bc87019ba7ef268ce322f90382f01b11af
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
Log Message:
-----------
[clang][Interp] Makre sure we don't overflow Descriptor::AllocSize
We allocate the metadata and the array elements in one allocation,
and we save its size in a field of type 'unsigned'. Makre sure the
full size of the allocation doesn't overflow the field.
Commit: 7c597c0e691bb685a7b9ef01e3ccaad5e64a3e92
https://github.com/llvm/llvm-project/commit/7c597c0e691bb685a7b9ef01e3ccaad5e64a3e92
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/utils/vim/syntax/llvm.vim
Log Message:
-----------
[Utils][vim] Match vector 'splat' keyword (#99004)
Commit: 2e56497bf7b2c848b2c43ce8c64e585bc006240a
https://github.com/llvm/llvm-project/commit/2e56497bf7b2c848b2c43ce8c64e585bc006240a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/utils/vim/syntax/llvm.vim
Log Message:
-----------
[Utils][vim] Match more hexadecimal float constants (#99000)
The `0x[KLMHR]` syntax denotes different floating-point types: various
long doubles, half and bfloat.
See https://llvm.org/docs/LangRef.html#simple-constants for reference.
Commit: c7309dadbf5a07353fa18a712895e3cfb48a78e7
https://github.com/llvm/llvm-project/commit/c7309dadbf5a07353fa18a712895e3cfb48a78e7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Use range-based for loops. NFC. (#99047)
Commit: de61875e9d276cdb1899c2bea818bca86025b35a
https://github.com/llvm/llvm-project/commit/de61875e9d276cdb1899c2bea818bca86025b35a
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[MLIR][Vector] Generalize DropUnitDimFromElementwiseOps to non leading / trailing dimensions. (#98455)
Generalizes DropUnitDimFromElementwiseOps to support inner unit
dimensions.
This change stems from improving lowering of contractionOps for Arm SME.
Where we end up with inner unit dimensions on MulOp, BroadcastOp and
TransposeOp, preventing the generation of outerproducts.
discussed
[here](https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543/17?u=nujaa).
Fix after : https://github.com/llvm/llvm-project/pull/97652 showed an
unhandled edge case when all dimensions are one. The generated target
VectorType would be `vector<f32>` which is apparently not supported by
the mulf.
In case all dimensions are dropped, the target vectorType is
vector<1xf32>
---------
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>
Commit: 3941f652317d95cac203e64791bfa730de7bbd1e
https://github.com/llvm/llvm-project/commit/3941f652317d95cac203e64791bfa730de7bbd1e
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
Log Message:
-----------
adjust the m86k backend after change f270a4dd6667759d7305797a077ae09648318ac7
Commit: aa21ee7926a265c705b00bae186cf8adf0ca7410
https://github.com/llvm/llvm-project/commit/aa21ee7926a265c705b00bae186cf8adf0ca7410
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Add attributes no_unwind and will_return to the LLVMIR dialect (#98921)
And testing.
These are being added to be used in the GPU to LLVM SPV pass.
---------
Co-authored-by: Victor Perez <victor.perez at codeplay.com>
Commit: 39d751ad976ba9f5e8a1ad3880559faba38c3c3f
https://github.com/llvm/llvm-project/commit/39d751ad976ba9f5e8a1ad3880559faba38c3c3f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Use an array root's field decl in the LValuePath
Instead of pushing the index 0.
Commit: cf673604c16cc3aeee604642a2c6ea30b0eeeaba
https://github.com/llvm/llvm-project/commit/cf673604c16cc3aeee604642a2c6ea30b0eeeaba
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use VF from selected plan when creating InnerLoopVectorizer.
This makes sure the same VF is used when executing the plan and in the
functions in InnerLoopVectorizer when the assertion is disabled (e.g.
release builds).
No tests added as they would trigger an assertion.
Commit: 35a3b665bb321b114fb15a7c38065ad8a67e5ef6
https://github.com/llvm/llvm-project/commit/35a3b665bb321b114fb15a7c38065ad8a67e5ef6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Fold blend(pshufb(x,m1),pshufb(y,m2)) -> blend(pshufb(x,blend(m1,m2)),pshufb(y,blend(m1,m2))) to reduce constant pool (#98466)
Share PSHUFB masks where we have no overlap in used elements.
Fixes #98346
Commit: f56db7860b38ac73310039b44770e844e4cb613d
https://github.com/llvm/llvm-project/commit/f56db7860b38ac73310039b44770e844e4cb613d
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Value.def
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[C API] Support new ptrauth constant type (#93909)
This is a new constant type that was added to the C++ API in
0edc97f119f3ac3ff96b11183fe5c001a48a9a8d. This adds the ability to
create instances of this constant and get its values to the C API.
Commit: e9b2a25e90fb7fe47936f65b434e4ebe24773349
https://github.com/llvm/llvm-project/commit/e9b2a25e90fb7fe47936f65b434e4ebe24773349
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
Log Message:
-----------
[nsan] Swap alignas and visibility order (NFC) (#98933)
Use `alignas(16) SANITIZER_INTERFACE_ATTRIBUTE` instead of
`SANITIZER_INTERFACE_ATTRIBUTE alignas(16)`, as the former is not
supported prior to clang 16. See https://clang.godbolt.org/z/Wj1193xWK.
This was broken by https://github.com/llvm/llvm-project/pull/96142 as
part of other style changes.
Commit: e94e72a0c2293a02ea6c5335ac5fbc2d34de13f1
https://github.com/llvm/llvm-project/commit/e94e72a0c2293a02ea6c5335ac5fbc2d34de13f1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
A clang/lib/AST/Interp/DynamicAllocator.cpp
A clang/lib/AST/Interp/DynamicAllocator.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.h
A clang/test/AST/Interp/new-delete.cpp
M clang/test/Rewriter/rewrite-modern-catch.m
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
Reapply "[clang][Interp] Implement dynamic memory allocation handling (#70306)"
This reverts commit 48d703e7f56282ce5d690e45a129a4a7fd040ee6.
Commit: 20c6b9fbba583d172e931dd24417784186136531
https://github.com/llvm/llvm-project/commit/20c6b9fbba583d172e931dd24417784186136531
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Integration/debug-fixed-array-type-2.f90
A flang/test/Transforms/debug-local-global-storage-1.fir
Log Message:
-----------
[flang][debug] Fix issues with local variables. (#98661)
This PR fixes 2 similar issues.
1. As reported in #97476, flang generated executable has inconsistent
behavior regarding values of the local array variables.
2. Variable with save attribute would not show up in debugger.
The reason behind is same for both cases. If a local variable has
storage which extends beyond function lifetime, the way to represent it
in the debug info is through a global variable whose scope is limited to
the function. This is what is used for static local variable in C.
Previously local array worked in cases they were on stack. But will not
show up if they had a global storage.
To fix this, if we can get a corresponding `GlobalOp` for a variable
while processing `DeclareOp`, we treat it the variable as global with
scope set appropriately. A new FIR test is added. A previous Integration
test has been adjusted as to not expect local variables for local
arrays.
With this fix in place, all the issues described in #97476 go away. It
also fixes a lot of fails in GDB's fortran testsuite.
Fixes #97476.
Commit: c5329c827ab345c4390f9a176573816e7f5c19e3
https://github.com/llvm/llvm-project/commit/c5329c827ab345c4390f9a176573816e7f5c19e3
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/prefer-fixed-if-equal-to-scalable.ll
Log Message:
-----------
[LV][AArch64] Prefer Fixed over Scalable if cost-model is equal (Neoverse V2) (#95819)
For the Neoverse V2 we would like to prefer fixed width over scalable
vectorisation if the cost-model assigns an equal cost to both for certain
loops. This improves 7 kernels from TSVC-2 and several production kernels by
about 2x, and does not affect SPEC21017 INT and FP. This also adds a new TTI
hook that can steer the loop vectorizater to preferring fixed width
vectorization, which can be set per CPU. For now, this is only enabled for the
Neoverse V2.
There are 3 reasons why preferring NEON might be better in the case the
cost-model is a tie and the SVE vector size is the same as NEON (128-bit):
architectural reasons, micro-architecture reasons, and SVE codegen reasons. The
latter will be improved over time, so the more important reasons are the former
two. I.e., (micro) architecture reason is the use of LPD/STP instructions which
are not available in SVE2 and it avoids predication.
For what it is worth: this codegen strategy to generate more NEON is inline
with GCC's codegen strategy, which is actually even more aggressive in
generating NEON when no predication is required. We could be smarter about the
decision making, but this seems to be a first good step in the right direction,
and we can always revise this later (for example make the target hook more
general).
Commit: 9b9194af408003e7d484d621fb3ee61389bdd20e
https://github.com/llvm/llvm-project/commit/9b9194af408003e7d484d621fb3ee61389bdd20e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port e94e72a0c229
Commit: 0b71d8020f1181c75c305d34943ed42bb1948177
https://github.com/llvm/llvm-project/commit/0b71d8020f1181c75c305d34943ed42bb1948177
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Log Message:
-----------
[InstrRef][NFC] Avoid un-necessary DenseMap queries (#99048)
This patch adjusts how some data is stored to avoid a number of
un-necessary DenseMap queries. There's no change to the compiler
behaviour, and it's measurably faster on the compile time tracker.
The BlockOrders vector in buildVLocValueMap collects the blocks over
which a variables value have to be determined: however the Cmp ordering
function makes two DenseMap queries to determine the RPO-order of blocks
being compared. And given that sorting is O(N log(N)) comparisons this
isn't fast. So instead, fetch the RPO-numbers of the block collection,
order those, and then map back to the blocks themselves.
The OrderToBB collection mapped an RPO-number to an MBB: it's completely
un-necessary to have DenseMap here, we can just use the RPO number as an
array index. Switch it to a SmallVector and deal with a few consequences
when iterating.
(And for good measure I've jammed in a couple of reserve calls).
Commit: 8d28a4102b3668c75d061235c2890546757f4257
https://github.com/llvm/llvm-project/commit/8d28a4102b3668c75d061235c2890546757f4257
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Remove SIWholeQuadMode pass early exit (#98450)
Merge the code bypass elements from the early exit into the main pass
execution flow.
Commit: d216615518875f828b9055ac79dbdb32e539367a
https://github.com/llvm/llvm-project/commit/d216615518875f828b9055ac79dbdb32e539367a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
Log Message:
-----------
[LV] Process dead interleave pointer ops in reverse order.
Process dead interleave pointer ops in reverse order. This also catches
cases where the same base pointer is used by multiple different
interleave groups.
This fixes another case where the legacy cost model inaccuarately
estimates cost, surfaced by b841e2eca3b5c8.
Commit: 762c607d8ecb2bf678375f79ac23e143be0b5f3f
https://github.com/llvm/llvm-project/commit/762c607d8ecb2bf678375f79ac23e143be0b5f3f
Author: Tianyi Guan <tguan at nvidia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
Log Message:
-----------
[AArch64][GISel] Add test cases for folding shifts into load/store addressing modes (NFC)
Commit: 290184880ae22541738e280397da33fe515e4c86
https://github.com/llvm/llvm-project/commit/290184880ae22541738e280397da33fe515e4c86
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
R llvm/lib/Target/AArch64/peephole-sxtw.mir
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Log Message:
-----------
Revert "[AArch64] Remove superfluous sxtw in peephole opt (#96293)"
This reverts commit 7f2a5dfe35f8bbaca2819644c7aa844f938befd6.
It appears that after this, llc segfaults on the following code:
```
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64--linux-eabi"
define i32 @f(i32 %0) {
entry:
%1 = sext i32 %0 to i64
br label %A
A:
%2 = trunc i64 %1 to i32
%a69.us = sub i32 0, %2
%a69.us.fr = freeze i32 %a69.us
%3 = zext i32 %a69.us.fr to i64
br label %B
B:
%t = icmp eq i64 0, %3
br i1 %t, label %A, label %B
}
```
assert.h assertion failed at .../llvm/lib/CodeGen/LiveVariables.cpp:159 in void llvm::LiveVariables::HandleVirtRegUse(Register, MachineBasicBlock *, MachineInstr &): MRI->getVRegDef(Reg) && "Register use before def!"
Commit: 8156be684da4c37b6191dab26d2eb5c2777be17d
https://github.com/llvm/llvm-project/commit/8156be684da4c37b6191dab26d2eb5c2777be17d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC]Introduce isScalableVectorizationAllowed() to refactor getMaxLegalScalableVF().
Adds isScalableVectorizationAllowed() and the corresponding data member
to query if the scalable vectorization is supported rather than
performing the analysis each time the scalable vector factor is
requested.
Part of https://github.com/llvm/llvm-project/pull/91403
Reviewers: ayalz, fhahn
Reviewed By: fhahn, ayalz
Pull Request: https://github.com/llvm/llvm-project/pull/98916
Commit: 440fffad7e7231fab766c6e00e47a39ad5a9b95e
https://github.com/llvm/llvm-project/commit/440fffad7e7231fab766c6e00e47a39ad5a9b95e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
Log Message:
-----------
[Clang][Concepts] Avoid substituting into constraints for invalid TemplateDecls (#75697)
Fixes https://github.com/llvm/llvm-project/issues/73885.
Substituting into constraints for invalid TemplateDecls might still
yield dependent expressions and end up crashing later in evaluation.
Commit: 6425f2d66740b84fc3027b649cd4baf660c384e8
https://github.com/llvm/llvm-project/commit/6425f2d66740b84fc3027b649cd4baf660c384e8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
M llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for trun'ed gather nodes.
If the gather node is trunc'ed, better to trunc scalars and then gather
them rather than gather and then trunc. Trunc for scalars is free in
most cases.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/99072
Commit: d2bfc2b52bfc1c17248b897ae8618865d4d9a3af
https://github.com/llvm/llvm-project/commit/d2bfc2b52bfc1c17248b897ae8618865d4d9a3af
Author: Lin Jian <me at linj.tech>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/utils/emacs/llvm-mir-mode.el
Log Message:
-----------
[emacs] Fix autoloading for llvm-mir-mode (#98984)
Without this patch, the autoloading of the major mode `llvm-mir-mode` is
not generated, which breaks its autoloading functionality.
To test this patch, use the following command to generate an autoload
file:
```console
cd llvm/utils/emacs
emacs --quick --batch --load=package --eval='(package-generate-autoloads "llvm-mir-mode" ".")'
```
Diff of generated autoload files is as follows:
```diff
> (autoload 'llvm-mir-mode "llvm-mir-mode" "\
> A major mode for editing LLVM MIR files.
>
> (fn)" t)
```
CC @bogner for review
Commit: 343ed3fd5a5e183f0edf87a89955af772aaadcfb
https://github.com/llvm/llvm-project/commit/343ed3fd5a5e183f0edf87a89955af772aaadcfb
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[lldb][Bazel]: Adapt BUILD.bazel file for a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
Commit: 8d97cbcf27becd88e053ef888605f55b68272e60
https://github.com/llvm/llvm-project/commit/8d97cbcf27becd88e053ef888605f55b68272e60
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
Revert "[lldb][Bazel]: Adapt BUILD.bazel file for a751f653b40f2021f091a2f1ebcc2d91bc4cc89d"
This reverts commit 343ed3fd5a5e183f0edf87a89955af772aaadcfb.
Commit: b5b9832b42f436986c7290bc1e912e2f276b4e6b
https://github.com/llvm/llvm-project/commit/b5b9832b42f436986c7290bc1e912e2f276b4e6b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[lldb][Bazel]: Second attempt to adapt for a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
Commit: 64f67a448740480b0ff5d8c89ee2b99878c5559c
https://github.com/llvm/llvm-project/commit/64f67a448740480b0ff5d8c89ee2b99878c5559c
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
Log Message:
-----------
adjust the Xtensa backend after change f270a4dd6667759d7305797a077ae09648318ac7
Similar fix as in 3941f652317d95cac203e64791bfa730de7bbd1e
Commit: bc8a8f5415c522f99600171e012d511c010d7309
https://github.com/llvm/llvm-project/commit/bc8a8f5415c522f99600171e012d511c010d7309
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang][Sema] Improve `Sema::CheckCXXDefaultArguments` (#97338)
In the second loop in `Sema::CheckCXXDefaultArguments`, we don't need to
re-examine the first parameter with a default argument. Dropped the
first iteration of that loop.
In addition, use the preferred early `continue` for the if-statement in
the loop.
Commit: fa0e52995929ab67dfb468d71fe793be5e1c7f03
https://github.com/llvm/llvm-project/commit/fa0e52995929ab67dfb468d71fe793be5e1c7f03
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/runtime/time-intrinsic.cpp
Log Message:
-----------
[Flang] Exclude the reference to TIME_UTC for AIX. (#99069)
This PR supersede PR #98915
Commit: 1813ffd6b2eb04ee2c296a4399a18748740a439d
https://github.com/llvm/llvm-project/commit/1813ffd6b2eb04ee2c296a4399a18748740a439d
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make SLP support revectorization (-slp-revec) and add simple test. (#98269)
This PR will make SLP support revectorization. Add an option -slp-revec
to control the functionality.
reference:
https://discourse.llvm.org/t/rfc-make-slp-vectorizer-revectorize-vector-instructions/79436
Commit: 329e7c80ac2dbc16c267390da5f1baaf1cd438b1
https://github.com/llvm/llvm-project/commit/329e7c80ac2dbc16c267390da5f1baaf1cd438b1
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/stdatomic.h
M clang/lib/Sema/SemaExpr.cpp
A clang/test/C/C23/n2653.c
M clang/www/c_status.html
Log Message:
-----------
[Clang] [C23] Implement N2653: u8 strings are char8_t[] (#97208)
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2653.htm
Closes #97202
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 177ce1900f0de05337f744edd3f4e454f7a93b06
https://github.com/llvm/llvm-project/commit/177ce1900f0de05337f744edd3f4e454f7a93b06
Author: Lawrence Benson <github at lawben.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-compress.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/vector-compress.ll
Log Message:
-----------
[LLVM] Add `llvm.experimental.vector.compress` intrinsic (#92289)
This PR adds a new vector intrinsic `@llvm.experimental.vector.compress`
to "compress" data within a vector based on a selection mask, i.e., it
moves all selected values (i.e., where `mask[i] == 1`) to consecutive
lanes in the result vector. A `passthru` vector can be provided, from
which remaining lanes are filled.
The main reason for this is that the existing
`@llvm.masked.compressstore` has very strong constraints in that it can
only write values that were selected, resulting in guard branches for
all targets except AVX-512 (and even there the AMD implementation is
_very_ slow). More instruction sets support "compress" logic, but only
within registers. So to store the values, an additional store is needed.
But this combination is likely significantly faster on many target as it
avoids branches.
In follow up PRs, my plan is to add target-specific lowerings for x86,
SVE, and possibly RISCV. I also want to combine this with a store
instruction, as this is probably a common case and we can avoid some
memory writes in that case.
See [discussion in
forum](https://discourse.llvm.org/t/new-intrinsic-for-masked-vector-compress-without-store/78663)
for initial discussion on the design.
Commit: b05ccaf451bca11fda5437003d54d7975cd8e575
https://github.com/llvm/llvm-project/commit/b05ccaf451bca11fda5437003d54d7975cd8e575
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
M llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll
Log Message:
-----------
Revert "[SLP]Improve minbitwidth analysis for trun'ed gather nodes."
This reverts commit 6425f2d66740b84fc3027b649cd4baf660c384e8 to fix the
buildbost issues reported in https://lab.llvm.org/buildbot/#/builders/95/builds/1404.
Commit: e093109e4a1551de13a1219275d62e9c7ee3146f
https://github.com/llvm/llvm-project/commit/e093109e4a1551de13a1219275d62e9c7ee3146f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
[InstrRef][NFC] Avoid another DenseMap, use a sorted vector (#99051)
When resolving value-numbers to specific machine locations in the final
stages of LiveDebugValues, we've been producing a DenseMap containing
all the value-numbers we're interested in. However we never modify the
map keys as they're all pre-known. Thus, this is a suitable collection
to switch to a sorted vector that gets searched, rather than a DenseMap
that gets probed. The overall operation of LiveDebugValues isn't
affected at all.
Commit: 8917d52938b907b00fced24506708b381f472890
https://github.com/llvm/llvm-project/commit/8917d52938b907b00fced24506708b381f472890
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] createSetFPEnvNodes - pass SDLoc by reference instead of value.
Commit: 396a5ba51e9e47f818a749ec3f2368e4fea6a67f
https://github.com/llvm/llvm-project/commit/396a5ba51e9e47f818a749ec3f2368e4fea6a67f
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/BuiltinsBase.td
M clang/lib/Basic/Builtins.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[Clang] Add attribute for consteval builtin functions (#91894)
Builtins with the new `Consteval` attribute will also be marked
`Constexpr` and will only be available in C++20 mode where `consteval`
makes sense.
Commit: 6451806ef73bb033be3f6e1599f3bcb224943206
https://github.com/llvm/llvm-project/commit/6451806ef73bb033be3f6e1599f3bcb224943206
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Require base element type of `__has_unique_object_representations` to be complete (#95432)
Fixes #95311
Previous behaviour was that `false` was silently returned, templated
classes were not instantiated and incomplete classes did not issue an
error.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 544c390aac41983342227db1c47be9308188712f
https://github.com/llvm/llvm-project/commit/544c390aac41983342227db1c47be9308188712f
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[CodeGen] Fix -Wunused-variable in SelectionDAG.cpp (NFC)
/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7560:9:
error: unused variable 'VecVT' [-Werror,-Wunused-variable]
EVT VecVT = N1.getValueType();
^
1 error generated.
Commit: 75b3ddf23b7dfb2cf4cb3c99b4b7ee80e510589d
https://github.com/llvm/llvm-project/commit/75b3ddf23b7dfb2cf4cb3c99b4b7ee80e510589d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use State.VF in vectorizeInterleaveGroup (NFCI).
Update vectorizeInterleaveGroup to use State.VF in preparation to moving
the code directly to the recipe.
Commit: 3fae5551de72756c3bb9fb2e5a29c95f02cbbd6b
https://github.com/llvm/llvm-project/commit/3fae5551de72756c3bb9fb2e5a29c95f02cbbd6b
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
A mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
A mlir/lib/Conversion/MathToROCDL/CMakeLists.txt
A mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
A mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Refactor conversion of math operations to ROCDL calls to a separate pass (#98653)
This patch refactors the conversion of math operations to ROCDL library
calls. This pass will also be used in flang to lower Fortran
intrinsics/math functions for OpenMP target offloading codgen.
Commit: 8687f7cd662384e3bd009a0f43eabbbe87f4387a
https://github.com/llvm/llvm-project/commit/8687f7cd662384e3bd009a0f43eabbbe87f4387a
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/ConstantHoisting/RISCV/immediates.ll
Log Message:
-----------
[RISCV] Support constant hoisting of immediate store values (#96073)
Previously getIntImmInstCost only calculated the cost of materialising
the argument of a store if it was the address. This means
ConstantHoisting's transformation wouldn't kick in for cases like
storing two values that require multiple instructions to materialise but
where one can be cheaply generated from the other (e.g. by an addition).
Two key changes were needed to avoid regressions when enabling this:
* Allowing constant materialisation cost to be calculated assuming
zeroes are free (as might happen if you had a 2*XLEN constant and one
half is zero).
* Avoiding constant hoisting if we have a misaligned store that's going
to be a legalised to a sequence of narrower stores. I'm seeing cases
where hoisting the constant ends up with worse codegen in that case.
Out of caution and so as not to unexpectedly degrade other existing hoisting logic, FreeZeroes is used only for the new cost calculations for the load instruction. It would likely make sense to revisit this later.
Commit: d3d2f9a4208eedbd2f372c34725ab61c3f4d3aed
https://github.com/llvm/llvm-project/commit/d3d2f9a4208eedbd2f372c34725ab61c3f4d3aed
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for trun'ed gather nodes.
If the gather node is trunc'ed, better to trunc scalars and then gather
them rather than gather and then trunc. Trunc for scalars is free in
most cases.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/99072
Commit: 05b067b5f952a427f80e1c39a5c9025fdb2d64b2
https://github.com/llvm/llvm-project/commit/05b067b5f952a427f80e1c39a5c9025fdb2d64b2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
Log Message:
-----------
Revert "[SLP]Improve minbitwidth analysis for trun'ed gather nodes."
This reverts commit d3d2f9a4208eedbd2f372c34725ab61c3f4d3aed to fix
buildbot https://lab.llvm.org/buildbot/#/builders/92/builds/1880.
Commit: c5c1bd164fc81a992dfdb5b7c7c672dab0e3f165
https://github.com/llvm/llvm-project/commit/c5c1bd164fc81a992dfdb5b7c7c672dab0e3f165
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for trun'ed gather nodes.
If the gather node is trunc'ed, better to trunc scalars and then gather
them rather than gather and then trunc. Trunc for scalars is free in
most cases.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/99072
Commit: 554febd3aad8d7cea7b8f8f6124d691031fb618c
https://github.com/llvm/llvm-project/commit/554febd3aad8d7cea7b8f8f6124d691031fb618c
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
Log Message:
-----------
[Clang] Fix some assertions not looking through type sugar (#92299)
Fixes #92284
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: ec9d62fe84fe314370a256306c083a9e7079b80b
https://github.com/llvm/llvm-project/commit/ec9d62fe84fe314370a256306c083a9e7079b80b
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lldb/test/Shell/Recognizer/verbose_trap.test
Log Message:
-----------
[lldb] Disable verbose_trap.test on Windows (#99323)
verbose_trap.test, added in #80368, fails on some Windows bots.
See https://lab.llvm.org/buildbot/#/builders/141/builds/808.
Commit: 77b2c681677db02552475426f0f7cf2c009ff98d
https://github.com/llvm/llvm-project/commit/77b2c681677db02552475426f0f7cf2c009ff98d
Author: Nathan James <n.james93 at hotmail.co.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
Log Message:
-----------
[clang-tidy] Add support for std::rotate(_copy) and inplace_merge to modernize-use-ranges (#99057)
These algorithms take 3 iterators for the range and we are only
interested in the first and last iterator argument. The ranges versions
of these take a range and an iterator(defined to be inside the range) so
the transformation is pretty similar `algo(I.begin, other, I.end,...)`
-> `ranges::algo(I, other,...)`
Commit: c034c44362a5dda93a8049d452625c59b76f7169
https://github.com/llvm/llvm-project/commit/c034c44362a5dda93a8049d452625c59b76f7169
Author: Tim Gymnich <tgymnich at icloud.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
A llvm/test/Transforms/InstCombine/select-of-symmetric-selects.ll
Log Message:
-----------
[InstCombine] Fold select of symmetric selects (#99245)
fixes #98800
Fold patterns like:
select c2 (select c1 a b) (select c1 b a)
into:
select (xor c1 c2) b a
Alive2 proofs:
https://alive2.llvm.org/ce/z/4QAm4K
https://alive2.llvm.org/ce/z/vTVRnC
Commit: a56e009ef852926c8e77eb8e50739d2b5a389212
https://github.com/llvm/llvm-project/commit/a56e009ef852926c8e77eb8e50739d2b5a389212
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/test/Sema/c2x-typeof.c
Log Message:
-----------
[Clang] [C23] Fix typeof_unqual for qualified array types (#92767)
Properly remove qualifiers for both the element type and the array type
Fixes #92667
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 5d42d69d936bc3f29e849aac33d331b198143145
https://github.com/llvm/llvm-project/commit/5d42d69d936bc3f29e849aac33d331b198143145
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/src/stdlib/rand.cpp
Log Message:
-----------
[libc] Change rand implementation so all tests pass in both 32- and 64-bit systems (#98692)
This patch makes rand select different algorithms depending on the arch.
This is needed to avoid a test failure in 32-bit systems where the LSB
of rand was not uniform enough when the 64-bit constants are used in
32-bit systems.
Commit: 60b6f43ea188f3427985f6328a638375063a9f44
https://github.com/llvm/llvm-project/commit/60b6f43ea188f3427985f6328a638375063a9f44
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__ranges/iota_view.h
A libcxx/test/std/ranges/range.factories/range.iota.view/empty.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG4001: `iota_view` should provide `empty` (#79687)
Implements: https://wg21.link/LWG4001
- https://eel.is/c++draft/range.iota.view
---------
Co-authored-by: Zingam <zingam at outlook.com>
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: 351a4b27da7dfe2ec6ae3400bd681eae1fb5180f
https://github.com/llvm/llvm-project/commit/351a4b27da7dfe2ec6ae3400bd681eae1fb5180f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
Log Message:
-----------
[AMDGPU] Simplify alias stripping to use utility function
Commit: e9fdc689dbb141a318bb7be40001cef03ca67301
https://github.com/llvm/llvm-project/commit/e9fdc689dbb141a318bb7be40001cef03ca67301
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[Clang][NFC] Remove unnecessary copy (#97902)
Reported by Static Analyzer Tool:
In
clang::ASTNodeImporter::VisitCountAttributedType(clang::CountAttributedType
const *): Using the auto keyword without an & causes the copy of an
object of type TypeCoupledDeclRefInfo
Commit: 73799b46072c2241ae32c87f478a7e2a30c0e1a3
https://github.com/llvm/llvm-project/commit/73799b46072c2241ae32c87f478a7e2a30c0e1a3
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/test/UnitTest/HermeticTestUtils.cpp
Log Message:
-----------
[libc] Added missing operator delete generated by gcc/clang (#67457)
This patch adds two operators delete that are being generated by clang 15 on rv32 (operator delete(void *mem, std::align_val_t)) and by gcc 13 on intel 64 (operator delete(void *mem, unsigned long)).
Commit: daab6fc5357b3a7f8b6780134d5cb6130f92329b
https://github.com/llvm/llvm-project/commit/daab6fc5357b3a7f8b6780134d5cb6130f92329b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DXILResource.cpp
Log Message:
-----------
[Transforms] DXILResource.cpp - fix MSVC "not all control paths return a value" warning. NFC.
Commit: 3ad7108c3cf843cac6301db3f73ccea9661bc4d3
https://github.com/llvm/llvm-project/commit/3ad7108c3cf843cac6301db3f73ccea9661bc4d3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Avoid temporary when RHS is a logical constant (#99078)
Enhance the detection of constant on the RHS for logical cases so we
don't create a temporary.
Commit: 666d224248707f373577b5b049b5b0229100006c
https://github.com/llvm/llvm-project/commit/666d224248707f373577b5b049b5b0229100006c
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
Log Message:
-----------
[clang-tidy] Fix modernize-use-std-print/format for fmt (#99021)
When fixing #92896 in 0e62d5cf55479981da5e05e406bbca4afb3cdc4f (#94104)
I failed to spot that I'd broken converting from fmt::printf,
fmt::fprintf and fmt::sprintf in these checks since the format parameter
of those functions is not a simple character pointer.
The first part of the previous fix to avoid the assert and instead
produce an error message was sufficient. It was only the second part
that required the format parameter of the called function to be a simple
character pointer that was problematic. Let's remove that second part
and add the now-expected error messages to the lit tests along with
fixing the prototype for the fmt functions to more accurately reflect
the ones used by the fmt library so they are actually useful.
Fixes #92896
Commit: c63125d4533a22a200c3b5b1efb8ac3ce4b1cb69
https://github.com/llvm/llvm-project/commit/c63125d4533a22a200c3b5b1efb8ac3ce4b1cb69
Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
M mlir/test/Dialect/Linalg/detensorize_entry_block.mlir
M mlir/test/Dialect/Linalg/detensorize_if.mlir
M mlir/test/Dialect/Linalg/detensorize_while.mlir
M mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
M mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
M mlir/test/Transforms/canonicalize-block-merge.mlir
M mlir/test/Transforms/canonicalize-dce.mlir
M mlir/test/Transforms/make-isolated-from-above.mlir
A mlir/test/Transforms/test-canonicalize-merge-large-blocks.mlir
Log Message:
-----------
[mlir] Fix block merging (#97697)
With this PR I am trying to address:
https://github.com/llvm/llvm-project/issues/63230.
What changed:
- While merging identical blocks, don't add a block argument if it is
"identical" to another block argument. I.e., if the two block arguments
refer to the same `Value`. The operations operands in the block will
point to the argument we already inserted. This needs to happen to all
the arguments we pass to the different successors of the parent block
- After merged the blocks, get rid of "unnecessary" arguments. I.e., if
all the predecessors pass the same block argument, there is no need to
pass it as an argument.
- This last simplification clashed with
`BufferDeallocationSimplification`. The reason, I think, is that the two
simplifications are clashing. I.e., `BufferDeallocationSimplification`
contains an analysis based on the block structure. If we simplify the
block structure (by merging and/or dropping block arguments) the
analysis is invalid . The solution I found is to do a more prudent
simplification when running that pass.
**Note**: this a rework of #96871 . I ran all the integration tests
(`-DMLIR_INCLUDE_INTEGRATION_TESTS=ON`) and they passed.
Commit: 850a2e68749266ae0944a27fedf81c6f68d5a2c4
https://github.com/llvm/llvm-project/commit/850a2e68749266ae0944a27fedf81c6f68d5a2c4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] Fix compiler warning (#99306)
Commit: 136737d94777140952c4948aa4c8fe441aec48e3
https://github.com/llvm/llvm-project/commit/136737d94777140952c4948aa4c8fe441aec48e3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__utility/rel_ops.h
A libcxx/test/libcxx/depr/depr.rel_ops/rel_ops.depr_in_cxx20.verify.cpp
M libcxx/test/std/containers/iterator.rel_ops.compile.pass.cpp
M libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp
Log Message:
-----------
[libc++] Deprecates rel_ops. (#91642)
These operators were deprecated in
P0768R1 Library Support for the Spaceship (Comparison) Operator
This was discovered while investigating the paper's implementation
status.
Commit: 7fc9fb9f3f671ee4b1ccfefaf03ed18cc0c3e3c3
https://github.com/llvm/llvm-project/commit/7fc9fb9f3f671ee4b1ccfefaf03ed18cc0c3e3c3
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
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/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/cbrt.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cbrt.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cbrt_test.cpp
Log Message:
-----------
[libc][math] Implement double precision cbrt correctly rounded to all rounding modes. (#99262)
Division-less Newton iterations algorithm for cube roots.
1. **Range reduction**
For `x = (-1)^s * 2^e * (1.m)`, we get 2 reduced arguments `x_r` and `a`
as:
```
x_r = 1.m
a = (-1)^s * 2^(e % 3) * (1.m)
```
Then `cbrt(x) = x^(1/3)` can be computed as:
```
x^(1/3) = 2^(e / 3) * a^(1/3).
```
In order to avoid division, we compute `a^(-2/3)` using Newton method
and then
multiply the results by a:
```
a^(1/3) = a * a^(-2/3).
```
2. **First approximation to a^(-2/3)**
First, we use a degree-7 minimax polynomial generated by Sollya to
approximate `x_r^(-2/3)` for `1 <= x_r < 2`.
```
p = P(x_r) ~ x_r^(-2/3),
```
with relative errors bounded by:
```
| p / x_r^(-2/3) - 1 | < 1.16 * 2^-21.
```
Then we multiply with `2^(e % 3)` from a small lookup table to get:
```
x_0 = 2^(-2*(e % 3)/3) * p
~ 2^(-2*(e % 3)/3) * x_r^(-2/3)
= a^(-2/3)
```
with relative errors:
```
| x_0 / a^(-2/3) - 1 | < 1.16 * 2^-21.
```
This step is done in double precision.
3. **First Newton iteration**
We follow the method described in:
Sibidanov, A. and Zimmermann, P., "Correctly rounded cubic root
evaluation
in double precision", https://core-math.gitlabpages.inria.fr/cbrt64.pdf
to derive multiplicative Newton iterations as below:
Let `x_n` be the nth approximation to `a^(-2/3)`. Define the n^th error
as:
```
h_n = x_n^3 * a^2 - 1
```
Then:
```
a^(-2/3) = x_n / (1 + h_n)^(1/3)
= x_n * (1 - (1/3) * h_n + (2/9) * h_n^2 - (14/81) * h_n^3 + ...)
```
using the Taylor series expansion of `(1 + h_n)^(-1/3)`.
Apply to `x_0` above:
```
h_0 = x_0^3 * a^2 - 1
= a^2 * (x_0 - a^(-2/3)) * (x_0^2 + x_0 * a^(-2/3) + a^(-4/3)),
```
it's bounded by:
```
|h_0| < 4 * 3 * 1.16 * 2^-21 * 4 < 2^-17.
```
So in the first iteration step, we use:
```
x_1 = x_0 * (1 - (1/3) * h_n + (2/9) * h_n^2 - (14/81) * h_n^3)
```
Its relative error is bounded by:
```
| x_1 / a^(-2/3) - 1 | < 35/242 * |h_0|^4 < 2^-70.
```
Then we perform Ziv's rounding test and check if the answer is exact.
This step is done in double-double precision.
4. **Second Newton iteration**
If the Ziv's rounding test from the previous step fails, we define the
error
term:
```
h_1 = x_1^3 * a^2 - 1,
```
And perform another iteration:
```
x_2 = x_1 * (1 - h_1 / 3)
```
with the relative errors exceed the precision of double-double.
We then check the Ziv's accuracy test with relative errors < 2^-102 to
compensate for rounding errors.
5. **Final iteration**
If the Ziv's accuracy test from the previous step fails, we perform
another
iteration in 128-bit precision and check for exact outputs.
Commit: ac1d5facf60c6e83418f8ab9d3fdfb1a8004d4aa
https://github.com/llvm/llvm-project/commit/ac1d5facf60c6e83418f8ab9d3fdfb1a8004d4aa
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/src/math/generic/cbrt.cpp
Log Message:
-----------
[libc][math] Remove constexpr quantifier from cbrt's utility functions. (#99349)
Fix full build failures:
https://lab.llvm.org/buildbot/#/builders/131/builds/2342
Commit: e5ccc7136dab209d769cc97efd7f1596c12d5bec
https://github.com/llvm/llvm-project/commit/e5ccc7136dab209d769cc97efd7f1596c12d5bec
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/test/src/CMakeLists.txt
Log Message:
-----------
[libc] Add missing -latomic for rv32 (#99337)
On rv32, libatomic is needed to build libc when mpfr and gmp are enabled.
Commit: a10570ba91050a394ca7766a6d1386dc17f8acc6
https://github.com/llvm/llvm-project/commit/a10570ba91050a394ca7766a6d1386dc17f8acc6
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/MC/MachObjectWriter.cpp
A llvm/test/MC/MachO/section-offset-overflow.s
Log Message:
-----------
[MachO] Detect overflow in section offset. (#98685)
The section offset field is only 32 bits; if the computed section offset
is larger, make sure we don't emit a corrupt object file.
Commit: 2d42f840a2f08ce9635bafe56b2817d8b5099d06
https://github.com/llvm/llvm-project/commit/2d42f840a2f08ce9635bafe56b2817d8b5099d06
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
A llvm/test/CodeGen/X86/global-with-max-align.ll
Log Message:
-----------
[MC] Fix emission in asm of alignment 2^32. (#98688)
The alignment amount was getting corrupted due to accidental truncation.
Commit: c077a4f305aa7faf92a1438b239078c1da1563a9
https://github.com/llvm/llvm-project/commit/c077a4f305aa7faf92a1438b239078c1da1563a9
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
Log Message:
-----------
[mlir][Tensor] Add pattern to fold concats of empty. (#98994)
A concatenation of empty tensors can be replaced by a single empty
tensor of the concatenated shape. Add this pattern to
`populateFoldTensorEmptyPatterns`.
Commit: c736ca85c38ce9c30a2286382d8023604f34f9e8
https://github.com/llvm/llvm-project/commit/c736ca85c38ce9c30a2286382d8023604f34f9e8
Author: matthew-f <551862+matthew-f at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
Log Message:
-----------
[clang-tidy] Ensure functions are anchored in the global namespace (#99084)
The regular expressions match functions that aren't anchored in the
global namespace. For example `::connect` matches `QObject::connect`
This change is to remove these false positives
Commit: 86ef699060394c82dcda7e86ff70d8cabeabcc2a
https://github.com/llvm/llvm-project/commit/86ef699060394c82dcda7e86ff70d8cabeabcc2a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] progressive progress reporting for darwin kernel/firmware (#98845)
When doing firmware/kernel debugging, it is frequent that binaries and
debug info need to be retrieved / downloaded, and the lack of progress
reports made for a poor experience, with lldb seemingly hung while
downloading things over the network. This PR adds progress reports to
the critical sites for these use cases.
Commit: c7b08ac01fa98db7c9ec7c3bbe9784c2d20f91e9
https://github.com/llvm/llvm-project/commit/c7b08ac01fa98db7c9ec7c3bbe9784c2d20f91e9
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lld/test/MachO/implicit-and-allowable-clients.test
Log Message:
-----------
[lld-macho][test] Require "shell" feature for usage of `ln -s` (#99355)
The use of `ln -s` is not guaranteed to be supported on Windows.
Commit: 6867e49fc80c8468f9a5a8376ce7d3b89fd4fb51
https://github.com/llvm/llvm-project/commit/6867e49fc80c8468f9a5a8376ce7d3b89fd4fb51
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
A mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
M mlir/test/Conversion/ConvertToSPIRV/index.mlir
M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][spirv] Implement vector type legalization for function signatures (#98337)
### Description
This PR implements a minimal version of function signature conversion to
unroll vectors into 1D and with a size supported by SPIR-V (2, 3 or 4
depending on the original dimension). This PR also includes new unit
tests that only check for function signature conversion.
### Future Plans
- Check for capabilities that support vectors of size 8 or 16.
- Set up `OneToNTypeConversion` and `DialectConversion` to replace the
current implementation that uses `GreedyPatternRewriteDriver`.
- Introduce other vector unrolling patterns to cancel out the
`vector.insert_strided_slice` and `vector.extract_strided_slice` ops and
fully legalize the vector types in the function body.
- Handle `func::CallOp` and declarations.
- Restructure the code in `SPIRVConversion.cpp`.
- Create test passes for testing sets of patterns in isolation.
- Optimize the way original shape is splitted into target shapes, e.g.
`vector<5xi32>` can be splitted into `vector<4xi32>` and
`vector<1xi32>`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: d748dab6010dfd4ddf63cd59c0a89487824aa038
https://github.com/llvm/llvm-project/commit/d748dab6010dfd4ddf63cd59c0a89487824aa038
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #98653 (#99356)
Commit: 963e25ae60f43ea77b686bd506171ee7482f044a
https://github.com/llvm/llvm-project/commit/963e25ae60f43ea77b686bd506171ee7482f044a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/add_pointer.h
Log Message:
-----------
[libc++][NFC] Remove a few unused includes (#98808)
Commit: 81955da03bd4731b668fee401b3d6aca8b7d4da6
https://github.com/llvm/llvm-project/commit/81955da03bd4731b668fee401b3d6aca8b7d4da6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
M libcxx/benchmarks/lit.cfg.py
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++] Remove special handling of the native C++ library in benchmarks (#98529)
There were some ad-hoc settings that allowed running the benchmarks
against the native C++ Standard Library. While this ability is very
useful, it was done before the test suite was quite independent of
libc++ itself. Instead, it is better to streamline running the
benchmarks on the native standard library by using a custom Lit
configuration like we do with the test suite.
A follow-up patch will rework the integration of benchmarks with the Lit
configuration used for the test suite so that we can reuse the same
mechanism for both, making it easy to benchmark the native standard
library.
It will also make benchmarks way more user-friendly to run since we will
be able to run them like we run individual tests, which is a pain point
right now.
Commit: 18cdfa72e046a40deeee4372ee98602fd1a65a94
https://github.com/llvm/llvm-project/commit/18cdfa72e046a40deeee4372ee98602fd1a65a94
Author: Lei Wang <wlei at fb.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-renaming-recursive.prof
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-renaming.prof
M llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming-recursive.ll
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll
Log Message:
-----------
[SampleFDO] Stale profile call-graph matching (#95135)
Profile staleness could be due to function renaming. Given that sample
profile loader relies on exact string matching, a trivial change in the
function signature( such as `int foo()` --> `long foo()` ) can make the
mangled name different, the function profile(including all nested
children profile) becomes unavailable.
This patch introduces stale profile call-graph level matching, targeting
at identifying the trivial function renaming and reusing the old
function profile.
Some noteworthy details:
1. Extend the LCS based CFG level matching to identify new function.
- Extend to match function and profile have different name instead of
the exact function name matching. This leverages LCS, i.e during the
finding of callsite anchor matching, when two function name are
different, try matching the functions instead of return.
- In LCS, the equal function check is replaced by
`functionMatchesProfile`.
- Only try matching functions that are new functions(neither appears on
each side). This reduces the matching scope as we don't need to match
the originally matched function.
2. Determine the matching by call-site anchor similarity check.
- A new function `functionMatchesProfile(IRFunc, ProfFunc)` is used to
check the renaming for the possible <IRFunc, ProfFunc> pair, use the
LCS(diff) matching to compute the equal set and we define: `Similarity =
|equalSet * 2| / (|A| + |B|)`. The profile name is marked as renamed if
the similarity is above a
threshold(`-func-profile-similarity-threshold`)
3. Process the matching in top-down function order
- when a caller's is done matching, the new function names are saved for
later use, using top-down order will maximize the reused results.
- `ProfileNameToFuncMap` is used to save or cache the matching result.
4. Update the original profile at the end using `ProfileNameToFuncMap`.
5. Added a new switch --salvage-unused-profile to control this, default
is false.
Verified on one Meta's internal big service, confirmed 90%+ of the found
renaming pair is good. (There could be incorrect renaming pair if the
num of the anchor is small, but checked that those functions are simple
cold function)
Commit: 0bb68b55715487447ffceaa1ab59f7a0bc8c7979
https://github.com/llvm/llvm-project/commit/0bb68b55715487447ffceaa1ab59f7a0bc8c7979
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Performance optimizations for function effects (nonblocking attribute etc.) (#96844)
- Put new FunctionProtoType trailing objects last.
- Inline FunctionEffectsRef::get()
- Manually inline FunctionEffectsRef::Profile().
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Commit: 0778f5c1f11da599b71d6c9f5990fd880ff7cb46
https://github.com/llvm/llvm-project/commit/0778f5c1f11da599b71d6c9f5990fd880ff7cb46
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lld/ELF/LinkerScript.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/ELF/linkerscript/nocrossrefs.test
Log Message:
-----------
[ELF] Support NOCROSSREFS and NOCROSSERFS_TO
Implement the two commands described by
https://sourceware.org/binutils/docs/ld/Miscellaneous-Commands.html
After `outputSections` is available, check each output section described
by at least one `NOCROSSREFS`/`NOCROSSERFS_TO` command. For each checked
output section, scan relocations from its input sections.
This step is slow, therefore utilize `parallelForEach(isd->sections, ...)`.
To support non SHF_ALLOC sections, `InputSectionBase::relocations`
(empty) cannot be used. In addition, we may explore eliminating this
member to speed up relocation scanning.
Some parse code is adapted from #95714.
Close #41825
Pull Request: https://github.com/llvm/llvm-project/pull/98773
Commit: 93d38d7f08864397f1e751c8cecde5ea302ecced
https://github.com/llvm/llvm-project/commit/93d38d7f08864397f1e751c8cecde5ea302ecced
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/main.cpp
Log Message:
-----------
[lldb][test] Fix simulator test for std::unique_ptr (#99357)
libcxx-simulators/unique_ptr/main.cpp uses __builtin_printf, that
maps to printf on Windows. Include stdio.h to avoid linker errors
on Windows.
See https://lab.llvm.org/buildbot/#/builders/141/builds/853
Commit: 858147d0b88b50f6829834a059d95924ea8e5d4d
https://github.com/llvm/llvm-project/commit/858147d0b88b50f6829834a059d95924ea8e5d4d
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[CMake][Fuchsia] Include new/delete in baremetal targets (#99279)
These don't include libcxxabi yet so we need new/delete in libcxx.
Commit: e3b8d3649789a59e54a32998780fb64d0663284c
https://github.com/llvm/llvm-project/commit/e3b8d3649789a59e54a32998780fb64d0663284c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
Log Message:
-----------
[ARC,CSKY] Update getMemcpy after #98969
Commit: 321a0c00425adeab84bce657cac85ae4634df910
https://github.com/llvm/llvm-project/commit/321a0c00425adeab84bce657cac85ae4634df910
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/test/CodeGen/pragma-cx-limited-range.c
Log Message:
-----------
The pragma STDC CX_LIMITED_RANGE ON should have precedence. (#98520)
The `pragma STDC CX_LIMITED_RANGE` should have precedence over the
command line `-fcomplex-arithmetic`.
Commit: ddbf5ea6d48d3fbf5300309ca009f9e4e67fb58a
https://github.com/llvm/llvm-project/commit/ddbf5ea6d48d3fbf5300309ca009f9e4e67fb58a
Author: vporpo <vporpodas at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[SandboxIR][NFC] Add some comments (#99359)
Commit: 093f0a4770ec9bde9f7a21cfe9c5ec5b20a923a8
https://github.com/llvm/llvm-project/commit/093f0a4770ec9bde9f7a21cfe9c5ec5b20a923a8
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
Log Message:
-----------
[instcombine] Improve coverage for reductions of i1 types
In advance of an upcoming change to generalize some of this to scalable
vector types.
Commit: ead486ca61ab06d46aa4b30c91d1f40e5e5e43e5
https://github.com/llvm/llvm-project/commit/ead486ca61ab06d46aa4b30c91d1f40e5e5e43e5
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[ClangLinkerWrapper] Fix intermediate file naming for multi-arch compilation (#99325)
When save-temps is enabled and the given offload-archs differ
only in target features with the same arch, the intermediate
postlink.bc and postopt.bc files were getting overwritten. This
fix, suffixes the intermediate file names with the complete
TargetID.
E.g. `helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postlink.bc`
and `helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postopt.bc`
Commit: 130ef7375493b560df08546666338233bacf95e5
https://github.com/llvm/llvm-project/commit/130ef7375493b560df08546666338233bacf95e5
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[CMake][Fuchsia] Install libc++ for baremetal targets (#99372)
We already build the library and want to install it also.
Commit: 194f98c2210bf40d0490613fddbf83e04c18ad9b
https://github.com/llvm/llvm-project/commit/194f98c2210bf40d0490613fddbf83e04c18ad9b
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/cmake/caches/AIX.cmake
M libcxx/cmake/caches/s390x-ibm-zos-ascii.cmake
M libcxx/cmake/caches/s390x-ibm-zos.cmake
M libcxx/include/__configuration/abi.h
M libcxx/include/ios
A libcxx/test/std/input.output/iostream.format/std.manip/setfill_wchar_max.pass.cpp
Log Message:
-----------
[libc++] basic_ios<wchar_t> cannot store fill character WCHAR_MAX (#89305)
`libcxx std::basic_ios` uses `WEOF` to indicate the `fill` value is
uninitialized. On some platforms (e.g AIX and zOS in 64-bit mode)
`wchar_t` is 4 bytes `unsigned` and `wint_t` is also 4 bytes which means
`WEOF` cannot be distinguished from `WCHAR_MAX` by
`std::char_traits<wchar_t>::eq_int_type()`, meaning this valid character
value cannot be stored on affected platforms (as the implementation
triggers reinitialization to `widen(’ ’)`).
This patch introduces a new helper class `_FillHelper` uses a boolean
variable to indicate whether the fill character has been initialized,
which is used by default in libcxx ABI version 2. The patch does not
affect ABI version 1 except for targets AIX in 32- and 64-bit and z/OS
in 64-bit (so that the layout of the implementation is compatible with
the current IBM system provided libc++)
This is a continuation of Phabricator patch
[D124555](https://reviews.llvm.org/D124555). This patch uses a modified
version of the [approach](https://reviews.llvm.org/D124555#3566746)
suggested by @ldionne .
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Co-authored-by: David Tenty <daltenty.dev at gmail.com>
Commit: da5264efa3ae50d61a4fc584f8c4f60a51539a96
https://github.com/llvm/llvm-project/commit/da5264efa3ae50d61a4fc584f8c4f60a51539a96
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M utils/bazel/README.md
Log Message:
-----------
[bazel][docs] Update build documentation (#99339)
This PR updates the Quick Start section to provide more detailed build
instructions.
Commit: 21e6777957457451196084cd48ebc42bce9619f0
https://github.com/llvm/llvm-project/commit/21e6777957457451196084cd48ebc42bce9619f0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M mlir/include/mlir/CAPI/Rewrite.h
Log Message:
-----------
[mlir][NFC] Add rewrite header to fix standalone header compile (#99370)
This uses `MlirRewriterBase` from from `mlir-c/Rewrite.h` without
including it.
Commit: ff0821583eab1651ff126bbf4f881e6163b67435
https://github.com/llvm/llvm-project/commit/ff0821583eab1651ff126bbf4f881e6163b67435
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst.ll
Log Message:
-----------
[msan] Precommit MSan Arm NEON vst tests (#98247)
These tests show that MSan currently does not handle vst (or vld)
correctly.
Commit: 51122fb4469b56b207bcae0c39182f961e4276fd
https://github.com/llvm/llvm-project/commit/51122fb4469b56b207bcae0c39182f961e4276fd
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Fix build (#99361)
On clang 14 the build is failing with:
reference to local binding 'ParentName' declared in enclosing function
'llvm::bolt::RewriteInstance::registerFragments'
Commit: a51f343b433120e45f186e5507e8a522d4d7192f
https://github.com/llvm/llvm-project/commit/a51f343b433120e45f186e5507e8a522d4d7192f
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.mir
A llvm/test/CodeGen/X86/udiv-exact.ll
Log Message:
-----------
[CodeGen] Emit more efficient magic numbers for exact udivs (#87161)
Have simpler lowering for exact udivs in both SelectionDAG and
GlobalISel.
The algorithm is the same between unsigned exact divs and signed divs
save for arithmetic vs logical shift for even divisors, according to
Hacker's Delight, 2nd Edition, page 242.
Commit: d85f1054fbb04c5299848bf81aa350442f9a56c7
https://github.com/llvm/llvm-project/commit/d85f1054fbb04c5299848bf81aa350442f9a56c7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrol.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vrol-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vror-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Teach fillUpExtensionSupportForSplat to handle nxvXi64 VMV_V_X_VL on RV32. (#99251)
A nxvXi64 VMV_V_X_VL on RV32 sign extends its 32 bit input to 64 bits.
If that input is positive, the sign extend can also be considered as a
zero extend.
Commit: b5e4d323badbd24324bfab4366b670977b16df07
https://github.com/llvm/llvm-project/commit/b5e4d323badbd24324bfab4366b670977b16df07
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add MathToROCDL to fix layering check (#99377)
Commit: 8044a863518166db1a1e05df5c76e26d53dbbcb9
https://github.com/llvm/llvm-project/commit/8044a863518166db1a1e05df5c76e26d53dbbcb9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M compiler-rt/www/index.html
Log Message:
-----------
[compiler-rt][www] Update standalone build instruction (#98707)
Follow up to #71500
Commit: 495d3ea989d4e97ce77ee73d6b35b171a7346019
https://github.com/llvm/llvm-project/commit/495d3ea989d4e97ce77ee73d6b35b171a7346019
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
A llvm/test/CodeGen/RISCV/sink-and-fold-crash.mir
Log Message:
-----------
[MachineSink][RISCV] Only call isConstantPhysReg or isIgnorableUse for uses. (#99363)
The included test case contains X0 as a def register. X0 is considered a
constant register when it is a use. When its a def, it means to throw
away the result value.
If we treat it as a constant register here, we will execute the continue
and not assign `DefReg` to any register. This will cause a crash when
trying to get the register class for `DefReg` after the loop.
By only checking isConstantPhysReg for uses, we will reach the `return
false` a little further down and stop processing this instruction.
Commit: 63fae3ed656241a1d6a19c3e773ecc9bfff3e182
https://github.com/llvm/llvm-project/commit/63fae3ed656241a1d6a19c3e773ecc9bfff3e182
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp
M llvm/lib/Target/AMDGPU/R600ISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU] clang-tidy: no else after return etc. NFC. (#99298)
Commit: 2bb65660ae8b9b2e1896b07b881505a4ffc0393b
https://github.com/llvm/llvm-project/commit/2bb65660ae8b9b2e1896b07b881505a4ffc0393b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
Log Message:
-----------
[LV] Allow re-processing of operands of instrs feeding interleave group
Follow up to d216615518 to update dead interleave group pointer detection
to allow re-processing of operands of instructions determined to only feed
interleave groups.
This is needed because instructions feeding interleave group pointers
can become dead in any order, as per the newly added test case.
Commit: a742693f6104055ec026852a70a68275fb82f7a0
https://github.com/llvm/llvm-project/commit/a742693f6104055ec026852a70a68275fb82f7a0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[ctx_prof] Add missing test for `PGOContextualProfile::getContainedGuids`
Commit: 33cb29cc3e38990173688aee353d6cbeeb187728
https://github.com/llvm/llvm-project/commit/33cb29cc3e38990173688aee353d6cbeeb187728
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Use cuf.alloc/cuf.free for local descriptor (#98518)
Local descriptor for cuda allocatable need to be handled on host and
device. One solution is to duplicate the descriptor (one on the host and
one on the device) and keep them in sync or have the descriptor in
managed/unified memory so we don't to take care of any sync.
The second solution is probably the one we will implement. In order to
have more flexibility on how descriptor representing cuda allocatable
are allocated, this patch updates the lowering to use the cuf operations
alloc and free to managed them.
Commit: fffe2728534a238ff0024e11a18280f85094dcde
https://github.com/llvm/llvm-project/commit/fffe2728534a238ff0024e11a18280f85094dcde
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
Log Message:
-----------
[ADT] Make set_subtract more efficient when subtrahend is larger (NFC) (#98702)
If the subtrahend is larger, iterate the minuend set instead.
Noticed when subtracting a large set from a number of other smaller
sets for an upcoming MemProf change, this change makes that much faster.
I subsequently found a couple of callsites in one file that were calling
set_subtract with a vector subtrahend, which doesn't have the "count()"
interface. Add a separate helper for subtracting a vector.
Commit: 306196349f7e7a92156ca733f876d503049696e7
https://github.com/llvm/llvm-project/commit/306196349f7e7a92156ca733f876d503049696e7
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
Log Message:
-----------
Revert "[ADT] Make set_subtract more efficient when subtrahend is larger (NFC)" (#99386)
Reverts llvm/llvm-project#98702
This broke some mlir code and needs investigation.
Commit: 1ecffdaf27cb456aecc5a1c0272d3994d26bf645
https://github.com/llvm/llvm-project/commit/1ecffdaf27cb456aecc5a1c0272d3994d26bf645
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/Main.cpp
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M libc/utils/gpu/loader/nvptx/Loader.cpp
Log Message:
-----------
[libc] Add Kernel Resource Usage to nvptx-loader (#97503)
This PR allows `nvptx-loader` to read the resource usage of `_start`,
`_begin`, and `_end` when executing CUDA binaries.
Example output:
```
$ nvptx-loader --print-resource-usage libc/benchmarks/gpu/src/ctype/libc.benchmarks.gpu.src.ctype.isalnum_benchmark.__build__
[ RUN ] LlvmLibcIsAlNumGpuBenchmark.IsAlnumWrapper
[ OK ] LlvmLibcIsAlNumGpuBenchmark.IsAlnumWrapper: 93 cycles, 76 min, 470 max, 23 iterations, 78000 ns, 80 stddev
_begin registers: 25
_start registers: 80
_end registers: 62
```
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 82b800ecb35fb46881aa52000fa40b1b99aa654e
https://github.com/llvm/llvm-project/commit/82b800ecb35fb46881aa52000fa40b1b99aa654e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Limit number of the external uses analysis, NFC.
BoUpSLP::buildExternalUses runs through all the users of the vectorized
scalars, which may require significant amount of time, if there are too
many users. Limited the analysis, if there are too many users, all of
them are replaced, not individually.
Commit: 10b4834b76e0473eee3eb70490dd39366589534d
https://github.com/llvm/llvm-project/commit/10b4834b76e0473eee3eb70490dd39366589534d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
[libc] Fix wrong printf usage in AMDGPU loader
Commit: f6add66b720f85bf1092af7d6702b7397da57349
https://github.com/llvm/llvm-project/commit/f6add66b720f85bf1092af7d6702b7397da57349
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
Log Message:
-----------
[instcombine] Extend logical reduction canonicalization to scalable vectors (#99366)
These transformations do not depend on the type being fixed in size, so
enable them for scalable vectors too. Unlike for fixed vectors, these
are only a canonicalization - the bitcast lowering for and/or/add is not
legal on a scalable vector type.
Commit: d08527ee3ee2dc1e90d2afcc6e5982d0997dad20
https://github.com/llvm/llvm-project/commit/d08527ee3ee2dc1e90d2afcc6e5982d0997dad20
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/vector.h
Log Message:
-----------
[scudo] Add static vector functionality. (#98986)
The scudo vector implementation maintains static local data before
switching to dynamically allocated data as the array size grows.
Users of the vector must now specify the size of the static local data
through the vector template (the default size has been removed).
If 0 is specified for the size of the static local data, an assertion
will
be triggered.
Commit: 07f8a65d09608d67bfd6adbd62bb0999c7363456
https://github.com/llvm/llvm-project/commit/07f8a65d09608d67bfd6adbd62bb0999c7363456
Author: Oliver Hunt <oliver at apple.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
A clang/test/CodeGenCXX/ptrauth-throw.cpp
Log Message:
-----------
[clang] Ensure pointers passed to runtime support functions are correctly signed (#98276)
Updates codegen for global destructors and raising exceptions to ensure
that the function pointers being passed are signed using the correct
schema.
Notably this requires that CodeGenFunction::createAtExitStub to return
an opaque Constant* rather than a Function* as the value being emitted
is no longer necessarily a raw function pointer depending on the
configured ABI.
Co-Authored-By: Akira Hatanaka <ahatanaka at apple.com>
Co-Authored-By: John McCall <rjmccall at apple.com>
Commit: 7647174738bf1b8e58c854c488183a849403d5db
https://github.com/llvm/llvm-project/commit/7647174738bf1b8e58c854c488183a849403d5db
Author: David Truby <david.truby at arm.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[flang] Add -rtlib flag (#99058)
This patch allows the -rtlib flag with flang-new to select between the
libgcc_s and compiler-rt runtimes. The behaviour is identical to the
same flag with clang.
Commit: 83251a22f623df8d27b6184d19b24c18d314f2bd
https://github.com/llvm/llvm-project/commit/83251a22f623df8d27b6184d19b24c18d314f2bd
Author: Scallop Ye <yescallop at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerFork.cpp
Log Message:
-----------
[libFuzzer] Fix incorrect coverage number in fork mode (#82335)
Closes #82307.
I built LLVM with the changes and tested fuzzing in fork mode. The
coverage number was correct:
```
[ye at ye-arch ~]$ /home/ye/work/llvm-project/build/bin/clang++ -fsanitize=fuzzer test_fuzzer.cc
[ye at ye-arch ~]$ ./a.out corpus -fork=4
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 3152497917
INFO: Loaded 1 modules (40 inline 8-bit counters): 40 [0x5aa6f7b310d0, 0x5aa6f7b310f8),
INFO: Loaded 1 PC tables (40 PCs): 40 [0x5aa6f7b310f8,0x5aa6f7b31378),
INFO: -fork=4: fuzzing in separate process(s)
INFO: -fork=4: 56 seed inputs, starting to fuzz in /tmp/libFuzzerTemp.FuzzWithFork54465.dir
#600649: cov: 36 ft: 224 corp: 56 exec/s: 300324 oom/timeout/crash: 0/0/0 time: 2s job: 1 dft_time: 0
#1548208: cov: 36 ft: 224 corp: 56 exec/s: 315853 oom/timeout/crash: 0/0/0 time: 3s job: 2 dft_time: 0
#2465991: cov: 36 ft: 224 corp: 56 exec/s: 229445 oom/timeout/crash: 0/0/0 time: 4s job: 3 dft_time: 0
#3887877: cov: 36 ft: 224 corp: 56 exec/s: 284377 oom/timeout/crash: 0/0/0 time: 5s job: 4 dft_time: 0
```
Commit: 884772fdd6213c1bc16316b1e57fe08d85bdbc2d
https://github.com/llvm/llvm-project/commit/884772fdd6213c1bc16316b1e57fe08d85bdbc2d
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/attr-weak.c
M clang/test/SemaCXX/attr-weak.cpp
Log Message:
-----------
[Sema] Don't drop weak_import from a declaration if its definition isn't seen (#85886)
I believe this is what the original commit (33e022650adee965c65f9aea086ee74f3fd1bad5) was trying to do.
This fixes a bug where clang removes the attribute from a declaration that follows a declaration directly contained in a linkage-specification.
rdar://61865848
Commit: 83fbd79319a4d997520c85ab41997692a58cd958
https://github.com/llvm/llvm-project/commit/83fbd79319a4d997520c85ab41997692a58cd958
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/include/CMakeLists.txt
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/header.py
Log Message:
-----------
[libc] newheadergen: configured cmake (#98828)
- all headers in the build system are generated by newheadergen
- tested on gpu-build
---------
Co-authored-by: Rose Zhang <rosezhang at google.com>
Commit: 9ce5b38dc32a5f023e9824afe246978130b9080e
https://github.com/llvm/llvm-project/commit/9ce5b38dc32a5f023e9824afe246978130b9080e
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/config/linux/x86_64/headers.txt
A libc/newhdrgen/yaml/arpa/arpa_inet.yaml
R libc/newhdrgen/yaml/arpa_inet.yaml
M libc/newhdrgen/yaml/assert.yaml
A libc/newhdrgen/yaml/gpu/gpu_rpc.yaml
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/pthread.yaml
R libc/newhdrgen/yaml/rpc.yaml
M libc/newhdrgen/yaml/search.yaml
M libc/newhdrgen/yaml/sys/sys_time.yaml
M libc/newhdrgen/yaml/wchar.yaml
Log Message:
-----------
[libc] final edits to newheadergen yaml files (#98983)
- final run of integration tests to deal with incorrect YAML input
(finished sys headers, will finish the rest today)
- add any new functions made in recent PRs
Commit: e0f3484874964ed749355d5a652e876efe3a05de
https://github.com/llvm/llvm-project/commit/e0f3484874964ed749355d5a652e876efe3a05de
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[lldb][nfc] add an nfc entry to the .git-blame-ignore-revs.
Commit: 90cbb1ec4ff9c687f7ebca505845388655ed5582
https://github.com/llvm/llvm-project/commit/90cbb1ec4ff9c687f7ebca505845388655ed5582
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/config/linux/x86_64/headers.txt
Log Message:
-----------
[libc] Temporarily disable statvfs header (#99405)
The statfvs header was not generating for a while. Patch #98983 added it
to the list of headers, but it's apparently broken right now so this
patch comments it out until it can be fixed.
Commit: ad023a844ab19f37ea0abd2130ec81ea2663937b
https://github.com/llvm/llvm-project/commit/ad023a844ab19f37ea0abd2130ec81ea2663937b
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] newheadergen: cmakelist file changes (#99404)
Commit: d772cdd6279de1e578dfdfca7432327a1806c659
https://github.com/llvm/llvm-project/commit/d772cdd6279de1e578dfdfca7432327a1806c659
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
Log Message:
-----------
[ADT] Make set_subtract more efficient when subtrahend is larger (NFC) (#99401)
This patch is based on:
commit fffe2728534a238ff0024e11a18280f85094dcde
Author: Teresa Johnson <tejohnson at google.com>
Date: Wed Jul 17 13:53:10 2024 -0700
This iteration comes with a couple of improvements:
- We now accommodate S2Ty being SmallPtrSet, which has remove_if(pred)
but not erase(iterator). (Lack of this code path broke the mlir
build.)
- The code path for erase(iterator) now pre-increments the iterator to
avoid problems with iterator invalidation.
Commit: 21c8c22a93086794c9023bfdbf2fc8f6ff99f90e
https://github.com/llvm/llvm-project/commit/21c8c22a93086794c9023bfdbf2fc8f6ff99f90e
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/newhdrgen/yaml/wchar.yaml
Log Message:
-----------
[libc] newheadergen: removing extra .h (#99408)
Commit: ab142c635e5edeb381fb3bd0222501cd2108c176
https://github.com/llvm/llvm-project/commit/ab142c635e5edeb381fb3bd0222501cd2108c176
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] newheadergen: quick fix to fuchsia build (#99410)
Commit: d5fe73515a609639c63013478236bd81978db6b7
https://github.com/llvm/llvm-project/commit/d5fe73515a609639c63013478236bd81978db6b7
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
Revert "[libc] newheadergen: quick fix to fuchsia build" (#99412)
Reverts llvm/llvm-project#99410
Commit: ad4da8304cd75aecbdbe6d235ec70af8fa9e7bcb
https://github.com/llvm/llvm-project/commit/ad4da8304cd75aecbdbe6d235ec70af8fa9e7bcb
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
Revert "[libc] newheadergen: cmakelist file changes" (#99413)
Reverts llvm/llvm-project#99404
Commit: 58d4ca06bdc5e2f8f9bf8bfd22ebd0577557a4fe
https://github.com/llvm/llvm-project/commit/58d4ca06bdc5e2f8f9bf8bfd22ebd0577557a4fe
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/include/CMakeLists.txt
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/header.py
Log Message:
-----------
Revert "[libc] newheadergen: configured cmake" (#99414)
Reverts llvm/llvm-project#98828
Commit: 4283f1ad18db9878b98f98e7a36b4f94ab674d29
https://github.com/llvm/llvm-project/commit/4283f1ad18db9878b98f98e7a36b4f94ab674d29
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M compiler-rt/test/fuzzer/lit.cfg.py
Log Message:
-----------
[NFC][fuzzer] Remove unhelpful lit notes
They are not actionable.
Commit: 888b130bdfd98bda71e14fb10893113cbbd15733
https://github.com/llvm/llvm-project/commit/888b130bdfd98bda71e14fb10893113cbbd15733
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M lld/wasm/Options.td
Log Message:
-----------
[lld][WebAssembly] Consolidate --fatal-warnings and --no-fatal-warnings options. NFC (#99374)
Also document defaults for boolean options.
See https://reviews.llvm.org/D42859
Commit: c41fa0fdd7e14019fc48bece2a2b0b00c88c8518
https://github.com/llvm/llvm-project/commit/c41fa0fdd7e14019fc48bece2a2b0b00c88c8518
Author: hev <wangrui at loongson.cn>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
Log Message:
-----------
[LoongArch] Remove spurious mask operations from andn->icmp on 16 and 8 bit values (#99272)
Commit: fe6c24000f2d7316899d4ec4c12273892326ed47
https://github.com/llvm/llvm-project/commit/fe6c24000f2d7316899d4ec4c12273892326ed47
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.h
A clang-tools-extra/clangd/ModulesBuilder.cpp
A clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
A clang-tools-extra/clangd/ProjectModules.h
A clang-tools-extra/clangd/ScanningProjectModules.cpp
A clang-tools-extra/clangd/ScanningProjectModules.h
M clang-tools-extra/clangd/test/CMakeLists.txt
A clang-tools-extra/clangd/test/modules.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
A clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/TestFS.h
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (#66462)
Alternatives to https://reviews.llvm.org/D153114.
Try to address https://github.com/clangd/clangd/issues/1293.
See the links for design ideas and the consensus so far. We want to have
some initial support in clang18.
This is the initial support for C++20 Modules in clangd.
As suggested by sammccall in https://reviews.llvm.org/D153114,
we should minimize the scope of the initial patch to make it easier
to review and understand so that every one are in the same page:
> Don't attempt any cross-file or cross-version coordination: i.e. don't
> try to reuse BMIs between different files, don't try to reuse BMIs
> between (preamble) reparses of the same file, don't try to persist the
> module graph. Instead, when building a preamble, synchronously scan
> for the module graph, build the required PCMs on the single preamble
> thread with filenames private to that preamble, and then proceed to
> build the preamble.
This patch reflects the above opinions.
# Testing in real-world project
I tested this with a modularized library:
https://github.com/alibaba/async_simple/tree/CXX20Modules. This library
has 3 modules (async_simple, std and asio) and 65 module units. (Note
that a module consists of multiple module units). Both `std` module and
`asio` module have 100k+ lines of code (maybe more, I didn't count). And
async_simple itself has 8k lines of code. This is the scale of the
project.
The result shows that it works pretty well, ..., well, except I need to
wait roughly 10s after opening/editing any file. And this falls in our
expectations. We know it is hard to make it perfect in the first move.
# What this patch does in detail
- Introduced an option `--experimental-modules-support` for the support
for C++20 Modules. So that no matter how bad this is, it wouldn't affect
current users. Following off the page, we'll assume the option is
enabled.
- Introduced two classes `ModuleFilesInfo` and
`ModuleDependencyScanner`. Now `ModuleDependencyScanner` is only used by
`ModuleFilesInfo`.
- The class `ModuleFilesInfo` records the built module files for
specific single source file. The module files can only be built by the
static member function `ModuleFilesInfo::buildModuleFilesInfoFor(PathRef
File, ...)`.
- The class `PreambleData` adds a new member variable with type
`ModuleFilesInfo`. This refers to the needed module files for the
current file. It means the module files info is part of the preamble,
which is suggested in the first patch too.
- In `isPreambleCompatible()`, we add a call to
`ModuleFilesInfo::CanReuse()` to check if the built module files are
still up to date.
- When we build the AST for a source file, we will load the built module
files from ModuleFilesInfo.
# What we need to do next
Let's split the TODOs into clang part and clangd part to make things
more clear.
The TODOs in the clangd part include:
1. Enable reusing module files across source files. The may require us
to bring a ModulesManager like thing which need to handle `scheduling`,
`the possibility of BMI version conflicts` and `various events that can
invalidate the module graph`.
2. Get a more efficient method to get the `<module-name> ->
<module-unit-source>` map. Currently we always scan the whole project
during `ModuleFilesInfo::buildModuleFilesInfoFor(PathRef File, ...)`.
This is clearly inefficient even if the scanning process is pretty fast.
I think the potential solutions include:
- Make a global scanner to monitor the state of every source file like I
did in the first patch. The pain point is that we need to take care of
the data races.
- Ask the build systems to provide the map just like we ask them to
provide the compilation database.
3. Persist the module files. So that we can reuse module files across
clangd invocations or even across clangd instances.
TODOs in the clang part include:
1. Clang should offer an option/mode to skip writing/reading the bodies
of the functions. Or even if we can requrie the parser to skip parsing
the function bodies.
And it looks like we can say the support for C++20 Modules is initially
workable after we made (1) and (2) (or even without (2)).
Commit: 3e47f6ba4a2aae7a8414dfeafa21d8d79e806c43
https://github.com/llvm/llvm-project/commit/3e47f6ba4a2aae7a8414dfeafa21d8d79e806c43
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
Rapply "[Target] Use range-based for loops (NFC) (#98844)"
This iteration drops hunks where the loop body adds more elements.
Commit: ad154281230d83ee551e12d5be48bb956ef47ed3
https://github.com/llvm/llvm-project/commit/ad154281230d83ee551e12d5be48bb956ef47ed3
Author: David Tenty <daltenty at ibm.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M libcxx/test/std/input.output/iostream.format/std.manip/setfill_wchar_max.pass.cpp
Log Message:
-----------
[NFC][libc++][test] loosen XFAIL condition for setfill_wchar_max.pass.cpp
So we can also match aarch64 triples which have four components instead of three when disabling the test, which the case on some buildbots.
Follow on to #89305
Commit: edfe25064e13c9cabf1cf3398f7760bf0991ae3e
https://github.com/llvm/llvm-project/commit/edfe25064e13c9cabf1cf3398f7760bf0991ae3e
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Consolidate increments in callee matching code (#99385)
To facilitate some follow on changes, consolidate the incrementing of
the edge iterator used during callee matching to the for loop statement.
This requires an additional adjustment in the case of tail call
handling.
Commit: c184b94ff6546c8ba8ac54b5127189427567978f
https://github.com/llvm/llvm-project/commit/c184b94ff6546c8ba8ac54b5127189427567978f
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
Log Message:
-----------
[C++20] [Modules] Write ODRHash for decls in GMF
Previously, we skipped calculating ODRHash for decls in GMF when writing
them to .pcm files as an optimization. But actually, it is not
true that this will be a pure optimization. Whether or not it is
beneficial depends on the use cases. For example, if we're writing a
function `a` in module and there are 10 consumers of `a` in other TUs,
then the other TUs will pay for the cost to calculate the ODR hash for
`a` ten times. Then this optimization doesn't work. However, if all the
consumers of the module didn't touch `a`, then we can save the cost to
calculate the ODR hash of `a` for 1 times.
And the assumption to make it was: generally, the consumers of a module
may only consume a small part of the imported module. This is the reason
why we tried to load declarations, types and identifiers lazily. Then it
looks good to do the similar thing for calculating ODR hashs.
It works fine for a long time, until we started to look into the support
of modules in clangd. Then we meet multiple issue reports complaining
we're calculating ODR hash in the wrong place. To workaround these issue
reports, I decided to always write the ODRhash for decls in GMF. In my
local test, I only observed less than 1% compile time regression after
doing this. So it should be fine.
Commit: 464d321ee8dde1eaf14b5537eaf030e6df513849
https://github.com/llvm/llvm-project/commit/464d321ee8dde1eaf14b5537eaf030e6df513849
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/StackArrays.cpp
A flang/test/Transforms/stack-arrays-hlfir.f90
M flang/test/Transforms/stack-arrays.fir
Log Message:
-----------
[flang][stack-arrays] Extend pass to work on declare ops and within omp regions (#98810)
Extends the stack-arrays pass to support `fir.declare` ops. Before that,
we did not recognize malloc-free pairs for which `fir.declare` is used
to declare the allocated entity. This is because the `free` op was
invoked on the result of the `fir.declare` op and did not directly use
the allocated memory SSA value.
This also extends the pass to collect the analysis results within OpenMP
regions.
Commit: 5338bd3c8ac5e313a09fffbe84aacc51a16e17f8
https://github.com/llvm/llvm-project/commit/5338bd3c8ac5e313a09fffbe84aacc51a16e17f8
Author: vporpo <vporpodas at google.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/docs/SandboxIR.md
M llvm/include/llvm/SandboxIR/SandboxIR.h
A llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/lib/SandboxIR/CMakeLists.txt
M llvm/lib/SandboxIR/SandboxIR.cpp
A llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/CMakeLists.txt
A llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] IR Tracker (#99238)
This is the first patch in a series of patches for the IR change
tracking component of SandboxIR.
The tracker collects changes in a vector of `IRChangeBase` objects and
provides a `save()`/`accept()`/`revert()` API.
Each type of IR changing event is captured by a dedicated subclass of
`IRChangeBase`. This patch implements only one of them, that for
updating a `sandboxir::Use` source value, named `UseSet`.
Commit: 27ee33d1368b9772f75285932c00479a0fae82ee
https://github.com/llvm/llvm-project/commit/27ee33d1368b9772f75285932c00479a0fae82ee
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
A mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Decompose winograd operators (#96183)
Convert Linalg winograd_filter_transform, winograd_input_transform, and
winograd_output_transform into nested loops with matrix multiplication
with constant transform matrices.
Support several configurations of Winograd Conv2D, including F(2, 3),
F(4, 3) and F(2, 5). These configurations show that the implementation
can support different kernel size (3 and 5) and different output size
(2 and 4). Besides symetric kernel size 3x3 and 5x5, this patch also
supports 1x3, 3x1, 1x5, and 5x1 kernels.
The implementation is based on the paper, Fast Algorithm for
Convolutional Neural Networks. (https://arxiv.org/abs/1509.09308)
Reviewers: ftynse, Max191, GeorgeARM, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin
Reviewed By: ftynse, Max191
Pull Request: https://github.com/llvm/llvm-project/pull/96183
Commit: 4782a4ab0ad43b2f47f20afbe025b841d7f0ac04
https://github.com/llvm/llvm-project/commit/4782a4ab0ad43b2f47f20afbe025b841d7f0ac04
Author: Joachim <jenke at itc.rwth-aachen.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/depend_iterator_bug.c
M clang/test/OpenMP/task_codegen.c
Log Message:
-----------
[OpenMP] Fix calculation of dependencies for multi-dimensional iteration space (#99347)
The expectation for multiple iterators used in a single depend clause
(`depend(iterator(i=0:5,j=0:5), in:x[i][j])`) is that the iterator space
is the product of the iteration vectors (25 in that case). The current
codeGen only works correctly, if `numIterators() = 1`. For more
iterators, the execution results in runtime assertions or segfaults.
The modified codeGen first calculates the iteration space, then
multiplies to the number of dependencies in the depend clause and
finally adds to the total number of iterator dependencies.
Commit: 810adbaa0236eed10ecfd9f96837b6d23d308a7d
https://github.com/llvm/llvm-project/commit/810adbaa0236eed10ecfd9f96837b6d23d308a7d
Author: Tristan Ross <rosscomputerguy at protonmail.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
Log Message:
-----------
[RISCV] Remove unused include in RISCVMCTargetDesc.h (#98790)
Goes in hand with #97130, split out to figure out CI fails. Should just
build whatever subprojects utilize the `RISCVMCTargetDesc.h` header and
it should build & test just like normal.
Co-authored-by: pca006132 <john.lck40 at gmail.com>
Commit: fbf8b82cd02818c0888805bb39abbf550333bea6
https://github.com/llvm/llvm-project/commit/fbf8b82cd02818c0888805bb39abbf550333bea6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpState.cpp
Log Message:
-----------
[clang][Interp][NFC] Be more cautious about Block initialization state
... when moving a Block to a DeadBlock. Only invoke the MoveFn if the
old block was initialized at all.
Commit: 0e986e395f9cd759b859ba0c934c0d73de4554c8
https://github.com/llvm/llvm-project/commit/0e986e395f9cd759b859ba0c934c0d73de4554c8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/utils/mlgo-utils/pyproject.toml
Log Message:
-----------
[MLGO] Fix MLGO executable scripts
The MLGO executable scripts were previously set up incorrectly with the
entrypoints. This patch corrects the entrypoints so that the scripts
work as expected rather than throwing import errors in the wrapper.
Commit: 1e6672af2497042d5dad0236c2ad9e61f879ac07
https://github.com/llvm/llvm-project/commit/1e6672af2497042d5dad0236c2ad9e61f879ac07
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/runtime/command.cpp
Log Message:
-----------
[Flang][Runtime] Simplify StringLength implementation
This implementation relies on arithmetic conversion, let's see what
happens when we do
std::size_t length{std::strlen(string)};
if (length <= std::numeric_limits<std::int64_t>::max())
return static_cast<std::int64_t>(length);
1) if size_t == uint32_t (or lower), then the comparison operator
invokes integral promotion to uint64_t, the comparison happens, it's
fine.
2) if size_t == uint64_t, then the comparison is done between unsigned
types, which implies a conversion of
std::numeric_limits<std::int64_t>::max() to uint64_t, which happens
without accuracy loss, fine
3) if size_t == uint128_t (or higher), then we invoke integral promotion
of std::int64_t, it's also fine.
So this snippet has the same behavior as the existing one, while being
easier to read.
Commit: f36331770267501e157ac34afc3ca7d7a0bfb52c
https://github.com/llvm/llvm-project/commit/f36331770267501e157ac34afc3ca7d7a0bfb52c
Author: Alexander Pivovarov <pivovaa at amazon.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/MicrosoftMangle.cpp
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Add support for f8E4M3 IEEE 754 type (#97179)
This PR adds `f8E4M3` type to APFloat.
`f8E4M3` type follows IEEE 754 convention
```c
f8E4M3 (IEEE 754)
- Exponent bias: 7
- Maximum stored exponent value: 14 (binary 1110)
- Maximum unbiased exponent value: 14 - 7 = 7
- Minimum stored exponent value: 1 (binary 0001)
- Minimum unbiased exponent value: 1 − 7 = −6
- Precision specifies the total number of bits used for the significand (mantisa),
including implicit leading integer bit = 3 + 1 = 4
- Follows IEEE 754 conventions for representation of special values
- Has Positive and Negative zero
- Has Positive and Negative infinity
- Has NaNs
Additional details:
- Max exp (unbiased): 7
- Min exp (unbiased): -6
- Infinities (+/-): S.1111.000
- Zeros (+/-): S.0000.000
- NaNs: S.1111.{001, 010, 011, 100, 101, 110, 111}
- Max normal number: S.1110.111 = +/-2^(7) x (1 + 0.875) = +/-240
- Min normal number: S.0001.000 = +/-2^(-6)
- Max subnormal number: S.0000.111 = +/-2^(-6) x 0.875 = +/-2^(-9) x 7
- Min subnormal number: S.0000.001 = +/-2^(-6) x 0.125 = +/-2^(-9)
```
Related PRs:
- [PR-97118](https://github.com/llvm/llvm-project/pull/97118) Add f8E4M3
IEEE 754 type to mlir
Commit: 7b08c2774ca7350b372f70f63135eacc04d739c5
https://github.com/llvm/llvm-project/commit/7b08c2774ca7350b372f70f63135eacc04d739c5
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
Log Message:
-----------
[mlir][Linalg] Remove unused header include.
There seems to be no direct usage of any tosa utils.
Commit: 0ce3ea1bfffcbd62195cf07e34477cc7cc5c5009
https://github.com/llvm/llvm-project/commit/0ce3ea1bfffcbd62195cf07e34477cc7cc5c5009
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Simplify selection of llvm.amdgcn.inverse.ballot. NFCI. (#99345)
Commit: 14c323cfd66454c65324c4d5b9d9b6a9c5651eca
https://github.com/llvm/llvm-project/commit/14c323cfd66454c65324c4d5b9d9b6a9c5651eca
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/test/Driver/amdgpu-openmp-toolchain.c
Log Message:
-----------
[OpenMP][AMDGPU] Do not attach -fcuda-is-device (#99002)
-fcuda-is-device flag is not used for OpenMP offloading for AMD GPUs and
it does not need to be added as clang cc1 option for OpenMP code.
This PR has the same functionality as
https://github.com/llvm/llvm-project/pull/96909 but it doesn't introduce
regression for virtual function support.
Commit: 7aabdb8776eb11b90d43162254db47df46806ec9
https://github.com/llvm/llvm-project/commit/7aabdb8776eb11b90d43162254db47df46806ec9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
Log Message:
-----------
[clang][Interp][NFC] Protect ByteCodeEmitter against unfinished fns
This is similar to a check in TextNodeDumper.cpp. Without this, we will
crash later when trying to iterate over FuncDecl->params().
Commit: 4b9bcabdf05346fd72db0d1ad88faa9b969a8f13
https://github.com/llvm/llvm-project/commit/4b9bcabdf05346fd72db0d1ad88faa9b969a8f13
Author: David Green <david.green at arm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
A llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64] Add streaming-mode stack hazards. (#98956)
Under some SME contexts, a coprocessor with its own separate cache will
be used for FPR operations. This can create hazards if the CPU and the
SME unit try to access the same area of memory, including if the access
is to an area of the stack.
To try to alleviate that, this patch attempts to introduce extra padding
into the stack frame between FP and GPR accesses, controlled by the
StackHazardSize option. Without changing the layout of the stack frame,
a stack object of the right size is added between GPR and FPR CSRs.
Another is added to the stack objects section, and stack objects are
sorted so that FPR > Hazard padding slot > GPRs (where possible).
Unfortunately some things are not handled well (VLA area, FPR arguments
on the stack, object with both GPR and FPR accesses), but if those are
controlled by the user then the entire stack frame becomes GPR at the
start/end with FPR in the middle, surrounded by Hazard padding. This can
greatly help reduce something that can be difficult for the user to
control themselves.
The current implementation is opt-in through an
-aarch64-stack-hazard-size flag, and should have no effect if the option
is unset. In the long run the implementation might change (for example
using more base pointers to separate in more cases, re-enabling ldp/stp
using an extra register, etc), but this gets at least something for
people to use in llvm-19 if they need it. The only change whilst the
option is unset will be a fix for making sure the stack increment is
added at the right place when it cannot be converted to postinc
(++MBBI). I believe without extra padding that can not normally be
reached.
Commit: 8afb395aeef5335554c623f92f48cbdc9ffe927d
https://github.com/llvm/llvm-project/commit/8afb395aeef5335554c623f92f48cbdc9ffe927d
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
R compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_bad_report_path_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[sanitizer] Fix running sanitizer_bad_report_path_test on Linux as root (#97732)
Running tests as root is not the greatest idea, however, there is one
valid use case - running them in a container in order to verify LLVM on
different distros. There is no reason to configure unprivileged users
in a container, so one works as root.
sanitizer_bad_report_path_test assumes that creating a file in a
non-writable directory would fail, which is not the always case. For
example, when we are on Linux and CAP_DAC_OVERRIDE, which root has, is
in effect. Therefore, one solution is to drop it. However, that would
be Linux-specific.
Instead, use argv[0] as if it were a directory. mkdir() on top of a
file should be prohibited by all supported Posix operating systems.
Combine this with a partial revert of commit f4214e1469ad ("[sanitizer]
Skip test on Android where chmod is not working"), since we shouldn't
need to exclude Android anymore.
Commit: a19e5aedd9b15ecf0b05bafb7d20e13c952b4531
https://github.com/llvm/llvm-project/commit/a19e5aedd9b15ecf0b05bafb7d20e13c952b4531
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/second.f90
Log Message:
-----------
[flang] load SECOND result in genSecond (#99342)
Until genSecond, all intrinsic `genXXX` returning scalar intrinsic
(except NULL) were returning them as value.
The code calling genIntrinsicCall is using that assumption when
generation the asExprOp because hflir.expr<> of scalar are badly
supported in tools (I should likely just forbid them all together), the
type is meant for "non trivial" values: arrays, character, and derived
type. For instance, the added tests crashed with error: `'arith.subf' op
operand #0 must be floating-point-like, but got '!hlfir.expr<f32>'`
Load the result in genSecond and add an assert after genIntrinsicCall to
better enforce this.
Commit: e93df78bd46b585c0bdabdbdc95410e4c08b9d38
https://github.com/llvm/llvm-project/commit/e93df78bd46b585c0bdabdbdc95410e4c08b9d38
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s
Log Message:
-----------
[llvm/DWARF] Recursively resolve DW_AT_signature references (#97423)
findRecursively follows DW_AT_specification and DW_AT_abstract_origin
references, but not DW_AT_signature. As far as I can tell, there is no
fundamental difference between these attributes that would make this
behavior desirable, and this just seems like a consequence of the fact
that this attribute is newer. This patch aims to change that.
The motivation is some code in lldb, which assumes that it can construct
a qualified name of a type by just walking the parent chain and looking
at the name attribute. This works for "regular" debug info, even when
some of the DIEs are just forward declarations, but it breaks in the
presence of type units, because of the need to explicitly resolve the
signature reference.
While LLDB does not use the llvm's DWARFDie class (yet?), this seems
like a very important change in the overall API, and any divergence here
would complicate eventual reunification, which is why I am making the
change in the llvm API first. However, putting lldb aside, I think this
change is beneficial in llvm on its own, as it allows us to remove the
explicit DW_AT_signature resolution in the DWARFTypePrinter.
Commit: 09cbb45edd149d30766c87be4628e4df13f3496d
https://github.com/llvm/llvm-project/commit/09cbb45edd149d30766c87be4628e4df13f3496d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] A better DIEBuilder for the llvm API change in #98905 (#99324)
The caller (cloneAttribute) already switches on the reference type. By
aligning the cases with the retrieval functions, we can avoid branching
twice.
Commit: 2ef7cbf71c98246d6f3a9c63dea75b76c7b5e928
https://github.com/llvm/llvm-project/commit/2ef7cbf71c98246d6f3a9c63dea75b76c7b5e928
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/Ofast.c
Log Message:
-----------
[clang] Add deprecation warning for `-Ofast` driver option (#98736)
This patch implements consensus on the corresponding RFC documented
here: https://discourse.llvm.org/t/rfc-deprecate-ofast/78687/72
Specifically, I added a deprecation warning for `-Ofast`, that suggests
to use `-O3` or `-O3` with `-ffast-math`, and a new diagnostic group for
aforementioned warning.
Deprecation period is going to be lengthy, so I hope this PR can be
merged in time for Clang 19.
Commit: cf66cec7c4481ff39525232d64a4d5215cca3ac5
https://github.com/llvm/llvm-project/commit/cf66cec7c4481ff39525232d64a4d5215cca3ac5
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
Recommit "[PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers" (3rd Try) (#99292)
The first fix forgot to fixup the commutative matchers...
Commit: 94cd18b7fcf239b85698ad70f145ca5fa5edd516
https://github.com/llvm/llvm-project/commit/94cd18b7fcf239b85698ad70f145ca5fa5edd516
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[CVP] Add test for phi merging of vectors (NFC)
Commit: 3eba28d1fd3347a1658f68b63285148b0bb25fab
https://github.com/llvm/llvm-project/commit/3eba28d1fd3347a1658f68b63285148b0bb25fab
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg-disabled.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
Log Message:
-----------
[clang] Extend lifetime analysis to support assignments for pointer-like objects. (#99032)
This is a follow-up patch to #96475 to detect dangling assignments for
C++ pointer-like objects (classes annotated with the
`[[gsl::Pointer]]`). Fixes #63310.
Similar to the behavior for built-in pointer types, if a temporary owner
(`[[gsl::Owner]]`) object is assigned to a pointer-like class object,
and this temporary object is destroyed at the end of the full assignment
expression, the assignee pointer is considered dangling. In such cases,
clang will emit a warning:
```
/tmp/t.cpp:7:20: warning: object backing the pointer my_string_view will be destroyed at the end of the full-expression [-Wdangling-assignment-gsl]
7 | my_string_view = CreateString();
| ^~~~~~~~~~~~~~
1 warning generated.
```
This new warning is `-Wdangling-assignment-gsl`. It is initially
disabled, but I intend to enable it by default in clang 20.
I have initially tested this patch on our internal codebase, and it has
identified many use-after-free bugs, primarily related to `string_view`.
Commit: 26af44b3985c762b2cbaf348f8012a30af09151f
https://github.com/llvm/llvm-project/commit/26af44b3985c762b2cbaf348f8012a30af09151f
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/preserving-debugloc-signedinst-branch-feasible-succ.ll
Log Message:
-----------
[DebugInfo][SCCPSolver] Fix missing debug locations (#98876)
Fixes #98875
Commit: 57539418bae45e3c972e8f4f0a88577f807e8697
https://github.com/llvm/llvm-project/commit/57539418bae45e3c972e8f4f0a88577f807e8697
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/var-sized-fragment.ll
A llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll
Log Message:
-----------
[SROA] Fix debug locations for variables with non-zero offsets (#97750)
Fixes issue #61981 by adjusting variable location offsets (in the DIExpression)
when splitting allocas.
Patch [4/4] to fix structured bindings in SROA.
NOTE: There's still a bug in mem2reg which generates incorrect locations in some
situations: if the variable fragment has an offset into the new (split) alloca,
mem2reg will fail to convert that into a bit shift (the location contains a
garbage offset). That's not addressed here.
insertNewDbgInst - Now takes the address-expression and FragmentInfo as
separate parameters because unlike dbg_declares dbg_assigns want those to go
to different places. dbg_assign records put the variable fragment info in the
value expression only (whereas dbg_declare has only one expression so puts it
there - ideally this information wouldn't live in DIExpression, but that's
another issue).
MigrateOne - Modified to correctly compute the necessary offsets and fragment
adjustments. The previous implementation produced bogus locations for variables
with non-zero offsets. The changes replace most of the body of this lambda, so
it might be easier to review in a split-diff view and focus on the change as a
whole than to compare it to the old implementation.
This uses calculateFragmentIntersect and extractLeadingOffset added in previous
patches in this series, and createOrReplaceFragment described below.
createOrReplaceFragment - Similar to DIExpression::createFragmentExpression
except for 3 important distinctions:
1. The new fragment isn't relative to an existing fragment.
2. There are no checks on the the operation types because it is assumed
the location this expression is computing is not implicit (i.e., it's
always safe to create a fragment because arithmetic operations apply
to the address computation, not to an implicit value computation).
3. Existing extract_bits are modified independetly of fragment changes
using \p BitExtractOffset. A change to the fragment offset or size
may affect a bit extract. But a bit extract offset can change
independently of the fragment dimensions.
Returns the new expression, or nullptr if one couldn't be created. Ideally
this is only used to signal that a bit-extract has become zero-sized (and thus
the new debug record has no size and can be dropped), however, it fails for
other reasons too - see the FIXME below.
FIXME: To keep the scope of this change focused on non-bitfield structured
bindings the function bails in situations that
DIExpression::createFragmentExpression fails. E.g. when fragment and bit
extract sizes differ. These limitations can be removed in the future.
Commit: cbd255942b52c3576aa0dca444811512fff43714
https://github.com/llvm/llvm-project/commit/cbd255942b52c3576aa0dca444811512fff43714
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Log Message:
-----------
[lldb] add RISCV target specific info in API tests (#99039)
Add information about RISCV first register in python API testsuite, that
is used to check register readability in tests.
Fixed tests on RISCV target:
TestBreakpointByFileColonLine.BreakpointByLineAndColumnTestCase
TestAddressBreakpoints.AddressBreakpointTestCase
TestBreakpointAutoContinue.BreakpointAutoContinue
TestInterruptBacktrace.TestInterruptingBacktrace
TestBadAddressBreakpoints.BadAddressBreakpointTestCase
TestScriptedResolver.TestScriptedResolver
TestStopHookScripted.TestStopHooks
TestBreakpointConditions.BreakpointConditionsTestCase
TestLocalVariables.LocalVariablesTestCase
TestFindLineEntry.FindLineEntry
TestScriptedResolver.TestScriptedResolver
TestInlineSourceFiles.InlineSourceFilesTestCase
TestModuleAndSection.ModuleAndSectionAPIsTestCase
TestFrameVar.TestFrameVar
TestInferiorAssert.AssertingInferiorTestCase
TestInferiorCrashing.CrashingInferiorTestCase
TestInferiorCrashingStep.CrashingInferiorStepTestCase
TestRegistersIterator.RegistersIteratorTestCase
TestCoroutineHandle.TestCoroutineHandle
TestWithLimitDebugInfo.TestWithLimitDebugInfo
TestLLDBIterator.LLDBIteratorTestCase
TestMemoryWrite.MemoryWriteTestCase
TestNestedTemplate.NestedTemplateTestCase
TestParrayVrsCharArrayChild.TestParrayVrsCharArrayChild
TestRecursiveInferior.CrashingRecursiveInferiorTestCase
TestRecursiveInferiorStep.CrashingRecursiveInferiorStepTestCase
TestRunLocker.TestRunLocker
TestSampleTest.RenameThisSampleTestTestCase
TestUniqueTypes3.UniqueTypesTestCase3
TestPrintStackTraces.ThreadsStackTracesTestCase
TestUnicodeSymbols.TestUnicodeSymbols
TestUnusedInlinedParameters.TestUnusedInlinedParameters
TestValueVarUpdate.ValueVarUpdateTestCase
TestPtrRef2Typedef.PtrRef2TypedefTestCase
TestDataFormatterStdIterator.StdIteratorDataFormatterTestCase
TestDataFormatterStdString.StdStringDataFormatterTestCase
TestDataFormatterStdVBool.StdVBoolDataFormatterTestCase
Commit: 26cb88e3210af24942310a192431c8d7c3544e21
https://github.com/llvm/llvm-project/commit/26cb88e3210af24942310a192431c8d7c3544e21
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s
Log Message:
-----------
Revert "[llvm/DWARF] Recursively resolve DW_AT_signature references" (#99444)
Reverts llvm/llvm-project#97423 due to a failure in the
cross-project-tests.
Commit: 80865c01e1b8d3a6bea308fda7bbc53047dcc2e7
https://github.com/llvm/llvm-project/commit/80865c01e1b8d3a6bea308fda7bbc53047dcc2e7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/OpenMP/reverse_ast_print.cpp
A clang/test/OpenMP/reverse_codegen.cpp
A clang/test/OpenMP/reverse_messages.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
A openmp/runtime/test/transform/reverse/foreach.cpp
A openmp/runtime/test/transform/reverse/intfor.c
A openmp/runtime/test/transform/reverse/iterfor.cpp
A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-foreach.cpp
A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-intfor.cpp
Log Message:
-----------
[Clang][OpenMP] Add reverse directive (#92916)
Add the reverse directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).
---------
Co-authored-by: Alexey Bataev <a.bataev at outlook.com>
Commit: 1dfbd07255f50ab3920d397dda5f8f9c05020f76
https://github.com/llvm/llvm-project/commit/1dfbd07255f50ab3920d397dda5f8f9c05020f76
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/known-bits.ll
M llvm/test/Analysis/ValueTracking/known-fpclass.ll
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `llvm.vector.reverse` with `DemandedElts`; NFC
Commit: 6ef970b65f93b0f7fbcd8ffc44fb9b9af58cc097
https://github.com/llvm/llvm-project/commit/6ef970b65f93b0f7fbcd8ffc44fb9b9af58cc097
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-bits.ll
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `computeKnownBits`
Commit: 72ff0499bba72eecc1b3d19833027b6c04337041
https://github.com/llvm/llvm-project/commit/72ff0499bba72eecc1b3d19833027b6c04337041
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `isKnownNonZero`
Commit: e8eeda8e4dc581ae744bc64a2683b5533fec8922
https://github.com/llvm/llvm-project/commit/e8eeda8e4dc581ae744bc64a2683b5533fec8922
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `ComputeNumSignBits`
Commit: 0589762e4e42a21796ca74eeb356cdfc50eaa232
https://github.com/llvm/llvm-project/commit/0589762e4e42a21796ca74eeb356cdfc50eaa232
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-fpclass.ll
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `computeKnownFPClass`
Closes #99080
Commit: c1263b326439dd623264d35ac5d006800092bac6
https://github.com/llvm/llvm-project/commit/c1263b326439dd623264d35ac5d006800092bac6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Transforms/SCCP/phis.ll
Log Message:
-----------
[SCCP] Add tests for vectors ins phis (NFC)
Commit: 474d35f238d46010d12485734e62de91cb469404
https://github.com/llvm/llvm-project/commit/474d35f238d46010d12485734e62de91cb469404
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
[safestack] Various Solaris fixes (#99290)
Even with the `-u __safestack_init` link order fixed on Solaris, there
are still several safestack test issues left:
- While 540fd42c755f20f7b79c6c79493ec36d8cb9b3d3 enabled safestack on
Solaris in the driver unconditionally, it ignored that Solaris also
exists on SPARC and forgot to enable SPARC support for the runtime lib.
This patch fixes that.
- The tests fail to link with undefined references to
`__sanitizer_internal_memset` etc in `safestack.cpp.o` and
`interception_linux.cpp.o`. These are from indirectly including
`sanitizer_redefine_builtins.h`. Instead of using the implementations
from `sanitizer_common` as was done in [[safestack] Various Solaris
fixes](https://github.com/llvm/llvm-project/pull/98469), this patch
disables the interception as discussed in [Revert "[safestack] Various
Solaris fixes"](https://github.com/llvm/llvm-project/pull/98541). A
similar issue affects 32-bit Linux/sparc where compiling `safestack.cpp`
with `-ftrivial-auto-var-init=pattern` causes the compiler to generate
calls to `memset` to initialize a `pthread_attr_t` which is larger than
can be handled inline. This is avoided by defining
`SANITIZER_COMMON_NO_REDEFINE_BUILTINS` in `safestack.cpp` and also
adding definitions of the interceptors that just forward to `libc` for
the benefit of `interception_linux.cpp`.
- The `pthread*.c` tests `FAIL` with
``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:227
size ```
The problem is that `pthread_attr_init` initializes the `stacksize`
attribute to 0, signifying the default. Unless explicitly overridded, it
stays that way. I think this is allowed by XPG7. Since safestack cannot
deal with this, I set `size` to the defaults documented in
`pthread_create(3C)`. Unfortunately, there's no macro for those values
outside of private `libc` headers.
- The Solaris `syscall` interface isn't stable. This is not just a
theoretical concern, but the syscalls have changed incompatibly several
times in the past. Therefore this patch switches the implementations of
`TgKill` (where `SYS_lwp_kill` doesn't exist on Solaris 11.4 anyway),
`Mmap`, `Munmap`, and `Mprotect` to the same `_REAL*` solution already
used in `sanitizer_solaris.cpp`.
With those changes, safestack compiles and all tests `PASS`, so the
tests are re-enabled for good.
Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.
Commit: b1864a8d6ab8bfd346922e36d80e684a4eaf3248
https://github.com/llvm/llvm-project/commit/b1864a8d6ab8bfd346922e36d80e684a4eaf3248
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/test/MachO/link-search-at-rpath.s
M lld/test/MachO/rpath.s
Log Message:
-----------
[lld-macho] Ignore duplicate `-rpath` entries (#99289)
Starting with Xcode 16 (dyld-1122), Apple's binary utilities, e.g.
`dyld_info` (but not dyld itself), will refuse to load binaries built
against the macOS 15 SDK or newer that contain the same `LC_RPATH`
entry multiple times:
https://github.com/apple-oss-distributions/dyld/blob/rel/dyld-1122/mach_o/Policy.cpp#L246-L249
`ld-prime` deduplicates entries (regardless of the deployment target),
we now do the same. We also match `ld-prime`'s and `ld64`'s behavior by
warning on duplicate `-rpath` arguments. This can be disabled by the
LLD-specific `--no-warn-duplicate-rpath` flag.
Commit: d68804f725a3997b04e41341826bd71f559d137b
https://github.com/llvm/llvm-project/commit/d68804f725a3997b04e41341826bd71f559d137b
Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
A .github/workflows/ci-post-commit-analyzer-run.py
A .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/containers/github-action-ci/stage1.Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-write.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
A .github/workflows/libcxx-restart-preempted-jobs.yaml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
A .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M bolt/CMakeLists.txt
M bolt/cmake/modules/AddBOLT.cmake
M bolt/docs/CMakeLists.txt
M bolt/docs/CommandLineArgumentReference.md
A bolt/docs/HeatmapHeader.png
M bolt/docs/Heatmaps.md
A bolt/docs/OptimizingLinux.md
A bolt/docs/generate_doc.py
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
A bolt/include/bolt/Core/BinaryFunctionCallGraph.h
M bolt/include/bolt/Core/BinarySection.h
A bolt/include/bolt/Core/CallGraph.h
A bolt/include/bolt/Core/CallGraphWalker.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/FunctionLayout.h
A bolt/include/bolt/Core/GDBIndex.h
M bolt/include/bolt/Core/HashUtilities.h
M bolt/include/bolt/Core/MCPlusBuilder.h
R bolt/include/bolt/Passes/BinaryFunctionCallGraph.h
R bolt/include/bolt/Passes/CallGraph.h
R bolt/include/bolt/Passes/CallGraphWalker.h
M bolt/include/bolt/Passes/HFSort.h
M bolt/include/bolt/Passes/RegReAssign.h
M bolt/include/bolt/Passes/ReorderFunctions.h
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/MetadataRewriter.h
M bolt/include/bolt/Rewrite/MetadataRewriters.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
A bolt/lib/Core/BinaryFunctionCallGraph.cpp
M bolt/lib/Core/CMakeLists.txt
A bolt/lib/Core/CallGraph.cpp
A bolt/lib/Core/CallGraphWalker.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/FunctionLayout.cpp
A bolt/lib/Core/GDBIndex.cpp
M bolt/lib/Core/HashUtilities.cpp
R bolt/lib/Passes/BinaryFunctionCallGraph.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/CallGraph.cpp
R bolt/lib/Passes/CallGraphWalker.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/RegAnalysis.cpp
M bolt/lib/Passes/RegReAssign.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/ValidateMemRefs.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
A bolt/lib/Rewrite/BuildIDRewriter.cpp
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MetadataManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/Inputs/array_end.lld_script
A bolt/test/AArch64/dummy-return.s
M bolt/test/AArch64/lit.local.cfg
A bolt/test/AArch64/plt-call.test
A bolt/test/AArch64/test-indirect-branch.s
M bolt/test/CMakeLists.txt
R bolt/test/Inputs/lsda.ldscript
A bolt/test/Inputs/plt-tailcall.c
A bolt/test/X86/Inputs/ambiguous_fragment.s
A bolt/test/X86/Inputs/ambiguous_fragment.script
A bolt/test/X86/Inputs/blarge_profile_stale_low_matched_blocks.yaml
A bolt/test/X86/Inputs/dwarf4-df-input-lowpc-ranges-other.s
A bolt/test/X86/Inputs/dwarf4-subprogram-multiple-ranges-other.s
A bolt/test/X86/Inputs/dwarf5-df-input-lowpc-ranges-other.s
A bolt/test/X86/Inputs/dwarf5-subprogram-multiple-ranges-other.s
A bolt/test/X86/Inputs/infer_no_exits.s
M bolt/test/X86/addr32.s
A bolt/test/X86/ambiguous_fragment.test
M bolt/test/X86/asm-func-debug.test
M bolt/test/X86/avx512-trap.test
M bolt/test/X86/bb-with-two-tail-calls.s
M bolt/test/X86/block-reordering.test
M bolt/test/X86/bolt-address-translation-internal-call.test
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M bolt/test/X86/branch-data.test
M bolt/test/X86/broken_dynsym.test
M bolt/test/X86/bug-function-layout-execount.s
M bolt/test/X86/bug-reorder-bb-jrcxz.s
M bolt/test/X86/calculate-emitted-block-size.s
M bolt/test/X86/call-zero.s
M bolt/test/X86/cdsplit-call-scale.s
M bolt/test/X86/cdsplit-symbol-names.s
M bolt/test/X86/cfi-expr-rewrite.s
M bolt/test/X86/cfi-instrs-count.s
M bolt/test/X86/cfi-instrs-reordered.s
M bolt/test/X86/checkvma-large-section.test
M bolt/test/X86/ctc-and-unreachable.test
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/debug-fission-single.s
M bolt/test/X86/double-jump.test
M bolt/test/X86/dwarf-handle-visit-loclist-error.s
M bolt/test/X86/dwarf-test-df-logging.test
M bolt/test/X86/dwarf3-lowpc-highpc-convert.s
M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
M bolt/test/X86/dwarf4-cross-cu-forward-different-abbrev.test
M bolt/test/X86/dwarf4-cross-cu-loclist-dwarf4-loclist--dwarf5-loclist.test
M bolt/test/X86/dwarf4-df-basic.test
M bolt/test/X86/dwarf4-df-call-site-change-low-pc.test
M bolt/test/X86/dwarf4-df-change-in-dw-op-gnu-addr-index-main.test
M bolt/test/X86/dwarf4-df-do-no-convert-low-pc-high-pc-to-ranges.test
M bolt/test/X86/dwarf4-df-dualcu-loclist.test
M bolt/test/X86/dwarf4-df-dualcu.test
M bolt/test/X86/dwarf4-df-inlined-subroutine-lowpc-0.test
A bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test
M bolt/test/X86/dwarf4-df-no-base.test
M bolt/test/X86/dwarf4-do-no-convert-low-pc-high-pc-to-ranges.test
M bolt/test/X86/dwarf4-duplicate-types.test
M bolt/test/X86/dwarf4-ftypes-dwo-input-dwp-output.test
M bolt/test/X86/dwarf4-ftypes-dwo-mono-input-dwp-output.test
M bolt/test/X86/dwarf4-ftypes-dwp-input-dwo-output.test
M bolt/test/X86/dwarf4-ftypes-dwp-input-dwp-output.test
M bolt/test/X86/dwarf4-gdb-index-types-gdb-generated.test
M bolt/test/X86/dwarf4-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf4-invalid-reference-die-offset-no-internal-dwarf-error.s
M bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-cant-parse-die.s
M bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-invalid-die.s
M bolt/test/X86/dwarf4-sibling.s
M bolt/test/X86/dwarf4-size-0-inlined_subroutine.s
M bolt/test/X86/dwarf4-split-dwarf-no-address.test
M bolt/test/X86/dwarf4-split-gdb-index-types-gdb-generated.test
A bolt/test/X86/dwarf4-subprogram-multiple-ranges-cus.test
M bolt/test/X86/dwarf4-subprogram-multiple-ranges.test
M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
M bolt/test/X86/dwarf4-subprogram-single-ranges.test
M bolt/test/X86/dwarf4-types-dwarf5-types.test
M bolt/test/X86/dwarf4-types-dwarf5.test
M bolt/test/X86/dwarf4-types-forward-backward-cross-reference.s
M bolt/test/X86/dwarf4-types.test
M bolt/test/X86/dwarf5-addr-section-reuse.s
M bolt/test/X86/dwarf5-call-pc-function-null-check.test
M bolt/test/X86/dwarf5-call-pc.test
M bolt/test/X86/dwarf5-cu-no-debug-addr.test
M bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s
M bolt/test/X86/dwarf5-debug-line-not-modified.test
M bolt/test/X86/dwarf5-debug-line.s
M bolt/test/X86/dwarf5-debug-loclists.s
A bolt/test/X86/dwarf5-debug-names-class-type-decl.s
A bolt/test/X86/dwarf5-debug-names-enumeration-type-decl.s
A bolt/test/X86/dwarf5-debug-names-skip-forward-decl.s
A bolt/test/X86/dwarf5-debug-names-structure-type-decl.s
M bolt/test/X86/dwarf5-df-call-site-change-low-pc.test
M bolt/test/X86/dwarf5-df-change-in-dw-op-gnu-addr-index-main.test
M bolt/test/X86/dwarf5-df-cu-function-gc.test
M bolt/test/X86/dwarf5-df-dualcu-loclist.test
M bolt/test/X86/dwarf5-df-dualcu.test
M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
M bolt/test/X86/dwarf5-df-inlined-subroutine-range-0.test
A bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test
M bolt/test/X86/dwarf5-df-input-lowpc-ranges.test
M bolt/test/X86/dwarf5-df-mono-dualcu.test
M bolt/test/X86/dwarf5-df-output-dir-same-name.test
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
M bolt/test/X86/dwarf5-do-no-convert-low-pc-high-pc-to-ranges.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb11.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb9.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf5-dwarf4-monolithic.test
M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
M bolt/test/X86/dwarf5-ftypes-dwo-mono-input-dwp-output.test
M bolt/test/X86/dwarf5-ftypes-dwp-input-dwo-output.test
M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb11.test
M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb9.test
M bolt/test/X86/dwarf5-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf5-locaddrx.test
M bolt/test/X86/dwarf5-locexpr-addrx.s
M bolt/test/X86/dwarf5-locexpr-referrence.test
M bolt/test/X86/dwarf5-loclist-offset-form.test
M bolt/test/X86/dwarf5-lowpc-highpc-convert.s
M bolt/test/X86/dwarf5-multiple-dw-op-addrx-locexpr.s
M bolt/test/X86/dwarf5-one-loclists-two-bases.test
M bolt/test/X86/dwarf5-rangeoffset-to-rangeindex.s
M bolt/test/X86/dwarf5-return-pc-form-addr.test
M bolt/test/X86/dwarf5-return-pc.test
M bolt/test/X86/dwarf5-shared-str-offset-base.s
M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
M bolt/test/X86/dwarf5-split-gdb-index-types-gdb-generated.test
A bolt/test/X86/dwarf5-subprogram-multiple-ranges-cus.test
M bolt/test/X86/dwarf5-subprogram-multiple-ranges.test
M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
M bolt/test/X86/dwarf5-subprogram-single-ranges.test
M bolt/test/X86/dwarf5-two-loclists.test
M bolt/test/X86/dwarf5-two-rnglists.test
M bolt/test/X86/dwarf5-types-backward-cross-reference.s
M bolt/test/X86/dwarf5-types-forward-cross-reference.s
M bolt/test/X86/dynrelocs.s
M bolt/test/X86/exceptions-args.test
M bolt/test/X86/fallthrough-to-noop.test
M bolt/test/X86/false-jump-table.s
M bolt/test/X86/fatal-error.s
M bolt/test/X86/fragment-lite-reverse.s
M bolt/test/X86/fragment-lite.s
M bolt/test/X86/fragmented-symbols.s
M bolt/test/X86/frame-opt-lea.s
M bolt/test/X86/function-order-lite.s
M bolt/test/X86/gdbindex.test
A bolt/test/X86/hashing-based-function-matching.test
M bolt/test/X86/high_pc_udata.s
M bolt/test/X86/icp-inline.s
M bolt/test/X86/ignored-interprocedural-reference.s
M bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/indirect-goto.test
A bolt/test/X86/infer_no_exits.test
M bolt/test/X86/inlined-function-mixed.test
M bolt/test/X86/insert-addr-rnglists_base.s
M bolt/test/X86/insert-debug-info-entry.test
M bolt/test/X86/internal-call-instrument-so.s
M bolt/test/X86/internal-call-instrument.s
M bolt/test/X86/interprocedural-ref-entry-point.s
M bolt/test/X86/is-strip.s
M bolt/test/X86/issue20.s
M bolt/test/X86/issue20.test
M bolt/test/X86/issue26.s
M bolt/test/X86/issue26.test
M bolt/test/X86/jmp-optimization.test
M bolt/test/X86/jmpjmp.test
M bolt/test/X86/jt-symbol-disambiguation-3.s
A bolt/test/X86/jt-symbol-disambiguation-4.s
M bolt/test/X86/jump-table-fixed-ref-pic.test
M bolt/test/X86/jump-table-footprint-reduction.test
M bolt/test/X86/jump-table-icp.test
M bolt/test/X86/jump-table-pic-conflict.s
M bolt/test/X86/jump-table-pic-order.test
M bolt/test/X86/jump-table-reference.test
M bolt/test/X86/layout-heuristic.test
M bolt/test/X86/line-number.test
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/lit.local.cfg
M bolt/test/X86/log.test
M bolt/test/X86/loop-inversion-pass.s
M bolt/test/X86/loop-nest.test
A bolt/test/X86/match-functions-with-calls-as-anchors.test
M bolt/test/X86/merge-fdata-bat-mode.test
M bolt/test/X86/merge-fdata-nobat-mode.test
M bolt/test/X86/merge-fdata-output.test
A bolt/test/X86/name-similarity-function-matching.test
M bolt/test/X86/no-entry-reordering.test
M bolt/test/X86/no-output.test
M bolt/test/X86/nolbr.s
M bolt/test/X86/patch-entries.test
A bolt/test/X86/plt-call.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/X86/pt_gnu_relro.s
M bolt/test/X86/reader-stale-yaml-std.test
M bolt/test/X86/reader-stale-yaml.test
M bolt/test/X86/reader.test
M bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/X86/relaxed-tailcall.test
M bolt/test/X86/remove-unused.test
M bolt/test/X86/rodata-simpl-loads.test
M bolt/test/X86/sctc-bug.test
M bolt/test/X86/sctc-bug2.test
M bolt/test/X86/sctc-bug3.test
M bolt/test/X86/sctc-bug4.test
M bolt/test/X86/shared_object_entry.s
M bolt/test/X86/shorten-mov.test
M bolt/test/X86/shrinkwrapping-and-rsp.s
M bolt/test/X86/shrinkwrapping-critedge.s
M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
M bolt/test/X86/shrinkwrapping-insertcfi.s
M bolt/test/X86/shrinkwrapping-lea.s
M bolt/test/X86/shrinkwrapping-mov.s
M bolt/test/X86/shrinkwrapping-pop-order.s
M bolt/test/X86/shrinkwrapping-popf.s
M bolt/test/X86/shrinkwrapping-restore-position.s
M bolt/test/X86/shrinkwrapping.test
M bolt/test/X86/split-all-lptrampoline.s
M bolt/test/X86/split-all.s
M bolt/test/X86/split-func-icf.s
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
M bolt/test/X86/split-func-jump-table-fragment-noparent.s
M bolt/test/X86/split-func-jump-table-fragment-reverse.s
M bolt/test/X86/split-func-jump-table-fragment.s
M bolt/test/X86/split-func-jump-table-unknown.s
M bolt/test/X86/split-landing-pad.s
M bolt/test/X86/split-random.s
A bolt/test/X86/stale-matching-min-matched-block.test
M bolt/test/X86/static-exe.test
M bolt/test/X86/symtab-secondary-entries.test
M bolt/test/X86/tail-duplication-cache.s
M bolt/test/X86/tail-duplication-cacheline.s
M bolt/test/X86/tail-duplication-complex.s
M bolt/test/X86/tail-duplication-jt.s
M bolt/test/X86/tail-duplication-pass.s
M bolt/test/X86/tail-duplication-prop-bug.s
M bolt/test/X86/tailcall-traps.test
M bolt/test/X86/tailcall.test
M bolt/test/X86/unclaimed-jt-entries.s
M bolt/test/X86/unreachable-jmp.s
M bolt/test/X86/unreachable.test
M bolt/test/X86/vararg.test
M bolt/test/X86/yaml-multiple-profiles.test
M bolt/test/X86/zero-sized-object.s
M bolt/test/bad-exe.test
M bolt/test/bolt-icf.test
M bolt/test/bolt-info.test
M bolt/test/heatmap.test
M bolt/test/invalid-profile.test
M bolt/test/keep-aranges.test
M bolt/test/lit.local.cfg
M bolt/test/lsda-section-name.cpp
M bolt/test/no-relocs.test
M bolt/test/non-empty-debug-line.test
M bolt/test/pie.test
M bolt/test/re-optimize.test
M bolt/test/runtime/X86/asm-dump.c
M bolt/test/shared-object.test
M bolt/unittests/CMakeLists.txt
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/boost/CMakeLists.txt
A clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
A clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
A clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
A clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/Format.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.h
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
A clang-tools-extra/clangd/ModulesBuilder.cpp
A clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
A clang-tools-extra/clangd/ProjectModules.h
A clang-tools-extra/clangd/ScanningProjectModules.cpp
A clang-tools-extra/clangd/ScanningProjectModules.h
M clang-tools-extra/clangd/Selection.h
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/remote/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/Client.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
M clang-tools-extra/clangd/support/Trace.cpp
M clang-tools-extra/clangd/test/CMakeLists.txt
A clang-tools-extra/clangd/test/modules.test
M clang-tools-extra/clangd/test/trace.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/PreambleTests.cpp
A clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
M clang-tools-extra/clangd/unittests/TestFS.h
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/docs/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
A clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
A clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/docs/modularize.rst
M clang-tools-extra/include-cleaner/lib/IncludeSpeller.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/CMakeLists.txt
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/pseudo/include/CMakeLists.txt
M clang-tools-extra/pseudo/lib/CMakeLists.txt
M clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
M clang-tools-extra/pseudo/tool/CMakeLists.txt
M clang-tools-extra/pseudo/unittests/CMakeLists.txt
M clang-tools-extra/test/CMakeLists.txt
A clang-tools-extra/test/clang-doc/Inputs/basic-project/database_template.json
A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Rectangle.h
A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Shape.h
A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
A clang-tools-extra/test/clang-doc/Inputs/test-assets/test.css
A clang-tools-extra/test/clang-doc/Inputs/test-assets/test.js
A clang-tools-extra/test/clang-doc/assets.cpp
A clang-tools-extra/test/clang-doc/basic-project.test
A clang-tools-extra/test/clang-doc/enum.cpp
A clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h
A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-constants.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-all.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-decl-only.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-any-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-warn-on-sizeof-pointer-to-aggregate.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func.h
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_cpp.inc
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_h.inc
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/var.h
A clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.self.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/allow-no-checks.cpp
M clang-tools-extra/test/pp-trace/pp-trace-macro.cpp
M clang-tools-extra/unittests/CMakeLists.txt
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp
M clang/CMakeLists.txt
M clang/README.txt
M clang/bindings/python/clang/cindex.py
R clang/bindings/python/clang/enumerations.py
M clang/bindings/python/tests/CMakeLists.txt
M clang/bindings/python/tests/cindex/test_cursor.py
A clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_token_kind.py
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Release.cmake
M clang/cmake/modules/AddClang.cmake
M clang/docs/APINotes.rst
M clang/docs/BoundsSafety.rst
M clang/docs/BoundsSafetyImplPlans.rst
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/ExpectedDifferences.rst
M clang/docs/HLSL/HLSLIRReference.rst
M clang/docs/HLSL/ResourceTypes.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/images/analyzer_html.png
A clang/docs/analyzer/images/analyzer_xcode.png
A clang/docs/analyzer/images/scan_build_cmd.png
M clang/docs/analyzer/user-docs.rst
A clang/docs/analyzer/user-docs/CommandLineUsage.rst
A clang/docs/analyzer/user-docs/FilingBugs.rst
A clang/docs/analyzer/user-docs/Installation.rst
M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
A clang/docs/analyzer/user-docs/UsingWithXCode.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.cpp
M clang/examples/PrintFunctionNames/PrintFunctionNames.cpp
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/APINotesManager.h
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/APINotes/APINotesWriter.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTConsumer.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTUnresolvedSet.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/CommentCommandTraits.h
M clang/include/clang/AST/CommentCommands.td
M clang/include/clang/AST/CommentParser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclAccessPair.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
A clang/include/clang/Basic/AMDGPUTypes.def
A clang/include/clang/Basic/ASTSourceDescriptor.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/CharInfo.h
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/CustomizableOptional.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/SourceManager.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetCXXABI.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/Thunk.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/CodeGen/ConstantInitBuilder.h
M clang/include/clang/CodeGen/ModuleBuilder.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Frontend/PrecompiledPreamble.h
M clang/include/clang/Frontend/PreprocessorOutputOptions.h
M clang/include/clang/Frontend/SerializedDiagnosticReader.h
A clang/include/clang/InstallAPI/DirectoryScanner.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/HeaderFile.h
A clang/include/clang/InstallAPI/Library.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/InstallAPI/Visitor.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/PPCallbacks.h
A clang/include/clang/Lex/PPDirectiveParameter.h
A clang/include/clang/Lex/PPEmbedParameters.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Parse/Parser.h
A clang/include/clang/Sema/Attr.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaAMDGPU.h
A clang/include/clang/Sema/SemaARM.h
A clang/include/clang/Sema/SemaAVR.h
A clang/include/clang/Sema/SemaBPF.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaHLSL.h
A clang/include/clang/Sema/SemaHexagon.h
M clang/include/clang/Sema/SemaInternal.h
A clang/include/clang/Sema/SemaLoongArch.h
A clang/include/clang/Sema/SemaM68k.h
A clang/include/clang/Sema/SemaMIPS.h
A clang/include/clang/Sema/SemaMSP430.h
A clang/include/clang/Sema/SemaNVPTX.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenCL.h
M clang/include/clang/Sema/SemaOpenMP.h
A clang/include/clang/Sema/SemaPPC.h
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaSYCL.h
A clang/include/clang/Sema/SemaSwift.h
A clang/include/clang/Sema/SemaSystemZ.h
A clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
A clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Testing/TestAST.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Tooling/Syntax/Tokens.h
M clang/include/clang/Tooling/Transformer/RangeSelector.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/Interp/Boolean.h
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.h
R clang/lib/AST/Interp/ByteCodeExprGen.cpp
R clang/lib/AST/Interp/ByteCodeExprGen.h
R clang/lib/AST/Interp/ByteCodeStmtGen.cpp
R clang/lib/AST/Interp/ByteCodeStmtGen.h
A clang/lib/AST/Interp/Compiler.cpp
A clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Context.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
A clang/lib/AST/Interp/DynamicAllocator.cpp
A clang/lib/AST/Interp/DynamicAllocator.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvalEmitter.h
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/lib/AST/Interp/Function.cpp
M clang/lib/AST/Interp/Function.h
M clang/lib/AST/Interp/Integral.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpFrame.h
M clang/lib/AST/Interp/InterpStack.cpp
M clang/lib/AST/Interp/InterpStack.h
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/InterpState.h
A clang/lib/AST/Interp/MemberPointer.cpp
A clang/lib/AST/Interp/MemberPointer.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.cpp
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Program.h
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMap.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/MacroExpansionContext.cpp
A clang/lib/Basic/ASTSourceDescriptor.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/CharInfo.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGGPUBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
A clang/lib/CodeGen/CGPointerAuth.cpp
A clang/lib/CodeGen/CGPointerAuthInfo.h
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/ConstantEmitter.h
M clang/lib/CodeGen/ConstantInitBuilder.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/CoverageMappingGen.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/CodeGen/LinkInModulesPass.h
M clang/lib/CodeGen/MCDCState.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/MSP430.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/DependencyGraph.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/cuda_wrappers/algorithm
M clang/lib/Headers/float.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/mm3dnow.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/stdatomic.h
M clang/lib/Headers/x86intrin.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/CMakeLists.txt
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
A clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
A clang/lib/InstallAPI/Library.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
A clang/lib/Interpreter/Wasm.cpp
A clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenConcatenation.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/CheckExprLifetime.cpp
A clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/ScopeInfo.cpp
M clang/lib/Sema/Sema.cpp
A clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
A clang/lib/Sema/SemaARM.cpp
A clang/lib/Sema/SemaAVR.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
A clang/lib/Sema/SemaBPF.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/lib/Sema/SemaHexagon.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
A clang/lib/Sema/SemaLoongArch.cpp
A clang/lib/Sema/SemaM68k.cpp
A clang/lib/Sema/SemaMIPS.cpp
A clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaModule.cpp
A clang/lib/Sema/SemaNVPTX.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
A clang/lib/Sema/SemaOpenCL.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
A clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
A clang/lib/Sema/SemaSwift.cpp
A clang/lib/Sema/SemaSystemZ.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
A clang/lib/Sema/SemaWasm.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFile.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
R clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
A clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.h
M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
A clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Support/CMakeLists.txt
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/Stdlib/CMakeLists.txt
M clang/lib/Tooling/JSONCompilationDatabase.cpp
M clang/lib/Tooling/Syntax/Tokens.cpp
M clang/lib/Tooling/Transformer/RangeSelector.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
R clang/test/AST/HLSL/ResourceStruct.hlsl
A clang/test/AST/HLSL/export.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/vector-alias.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/c23.c
M clang/test/AST/Interp/complex.cpp
M clang/test/AST/Interp/const-eval.c
A clang/test/AST/Interp/const-temporaries.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/cxx23.cpp
A clang/test/AST/Interp/cxx26.cpp
M clang/test/AST/Interp/cxx98.cpp
M clang/test/AST/Interp/eval-order.cpp
M clang/test/AST/Interp/functions.cpp
A clang/test/AST/Interp/hlsl.hlsl
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/lifetimes.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/Interp/memberpointers.cpp
A clang/test/AST/Interp/mutable.cpp
A clang/test/AST/Interp/new-delete.cpp
M clang/test/AST/Interp/objc.mm
M clang/test/AST/Interp/opencl.cl
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/references.cpp
M clang/test/AST/Interp/shifts.cpp
M clang/test/AST/Interp/vectors.cpp
M clang/test/AST/ast-dump-APValue-anon-union.cpp
A clang/test/AST/ast-dump-amdgpu-types.c
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_2.cpp
M clang/test/AST/ast-dump-template-decls.cpp
A clang/test/AST/ast-dump-template-name.cpp
M clang/test/AST/ast-dump-using-template.cpp
A clang/test/AST/ast-print-openacc-loop-construct.cpp
A clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
A clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
A clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
A clang/test/AST/attr-sized-by-struct-ptrs.c
M clang/test/AST/constraints-explicit-instantiation.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-ref-deref-on-diff-classes.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
M clang/test/Analysis/analyzer-checker-option-help.c
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/block-in-critical-section.c
M clang/test/Analysis/block-in-critical-section.cpp
M clang/test/Analysis/block-in-critical-section.m
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/builtin_signbit.cpp
M clang/test/Analysis/casts.c
M clang/test/Analysis/cfg-openmp.cpp
M clang/test/Analysis/cxx-uninitialized-object.cpp
M clang/test/Analysis/equality_tracking.c
M clang/test/Analysis/errno-stdlibraryfunctions.c
A clang/test/Analysis/fread.c
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
A clang/test/Analysis/pointer-sub-notes.c
A clang/test/Analysis/pointer-sub.c
M clang/test/Analysis/ptr-arith.c
M clang/test/Analysis/putenv-stack-array.c
R clang/test/Analysis/sizeofpointer.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
A clang/test/Analysis/stream-notes-missing-close.cpp
M clang/test/Analysis/stream.c
M clang/test/Analysis/taint-diagnostic-visitor.c
A clang/test/Analysis/z3/crosscheck-statistics.c
A clang/test/C/C11/n1285.c
A clang/test/C/C11/n1464.c
A clang/test/C/C23/Inputs/bits.bin
A clang/test/C/C23/Inputs/boop.h
A clang/test/C/C23/Inputs/i.dat
A clang/test/C/C23/Inputs/jump.wav
A clang/test/C/C23/Inputs/s.dat
A clang/test/C/C23/n2322.c
A clang/test/C/C23/n2350.c
A clang/test/C/C23/n2359.c
A clang/test/C/C23/n2508.c
A clang/test/C/C23/n2549.c
A clang/test/C/C23/n2607.c
A clang/test/C/C23/n2653.c
A clang/test/C/C23/n2670.c
A clang/test/C/C23/n2683.c
A clang/test/C/C23/n2683_2.c
A clang/test/C/C23/n2819.c
A clang/test/C/C23/n2826.c
A clang/test/C/C23/n2836_n2939.c
A clang/test/C/C23/n2838.c
A clang/test/C/C23/n2886.c
A clang/test/C/C23/n2900_n3011.c
A clang/test/C/C23/n2900_n3011_2.c
A clang/test/C/C23/n2927.c
A clang/test/C/C23/n2927_2.c
A clang/test/C/C23/n2930.c
A clang/test/C/C23/n2934.c
A clang/test/C/C23/n2940.c
A clang/test/C/C23/n2975.c
A clang/test/C/C23/n3007.c
A clang/test/C/C23/n3017.c
A clang/test/C/C23/n3018.c
A clang/test/C/C23/n3033.c
A clang/test/C/C23/n3033_2.c
A clang/test/C/C23/n3035.c
A clang/test/C/C23/n3042.c
R clang/test/C/C2x/n2322.c
R clang/test/C/C2x/n2350.c
R clang/test/C/C2x/n2359.c
R clang/test/C/C2x/n2508.c
R clang/test/C/C2x/n2549.c
R clang/test/C/C2x/n2607.c
R clang/test/C/C2x/n2670.c
R clang/test/C/C2x/n2683.c
R clang/test/C/C2x/n2683_2.c
R clang/test/C/C2x/n2826.c
R clang/test/C/C2x/n2836_n2939.c
R clang/test/C/C2x/n2838.c
R clang/test/C/C2x/n2886.c
R clang/test/C/C2x/n2900_n3011.c
R clang/test/C/C2x/n2900_n3011_2.c
R clang/test/C/C2x/n2927.c
R clang/test/C/C2x/n2927_2.c
R clang/test/C/C2x/n2930.c
R clang/test/C/C2x/n2934.c
R clang/test/C/C2x/n2940.c
R clang/test/C/C2x/n2975.c
R clang/test/C/C2x/n3007.c
R clang/test/C/C2x/n3018.c
R clang/test/C/C2x/n3035.c
R clang/test/C/C2x/n3042.c
A clang/test/C/C2y/n3192.c
A clang/test/C/C2y/n3244.c
A clang/test/C/C2y/n3254.c
A clang/test/C/C2y/n3259.c
A clang/test/C/C2y/n3260.c
A clang/test/C/C2y/n3262.c
A clang/test/C/C2y/n3273.c
A clang/test/C/C2y/n3274.c
M clang/test/C/C99/block-scopes.c
A clang/test/C/C99/n448.c
M clang/test/C/C99/n809.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr2xx.c
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p2.cpp
M clang/test/CXX/basic/basic.start/basic.start.init/p3.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p6-cxx11.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p1.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
A clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5-cxx14.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-cxx14.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
R clang/test/CXX/drs/cwg2390.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg2630.cpp
M clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg2771.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/expr/expr.post/expr.type.conv/p1.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.general/p4.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
M clang/test/CXX/module/module.import/p6.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/p5.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p9-0x.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2-0x.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CXX/temp/temp.spec/no-body.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p2-0x.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p2-20.cpp
M clang/test/ClangScanDeps/diagnostics.c
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/header-search-pruning.cpp
A clang/test/ClangScanDeps/link-libraries.c
M clang/test/ClangScanDeps/modules-canononical-module-map-case.c
M clang/test/ClangScanDeps/modules-context-hash.c
M clang/test/ClangScanDeps/modules-dep-args.c
M clang/test/ClangScanDeps/modules-excluded-header.m
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-file-path-isolation.c
M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
M clang/test/ClangScanDeps/modules-full-by-mod-name.c
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-implicit-dot-private.m
M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
M clang/test/ClangScanDeps/modules-inferred.m
M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
M clang/test/ClangScanDeps/modules-pch-common-submodule.c
M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
M clang/test/ClangScanDeps/modules-pch.c
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
M clang/test/ClangScanDeps/modules-redefinition.m
M clang/test/ClangScanDeps/modules-symlink-dir-vfs.c
M clang/test/ClangScanDeps/modules-transitive.c
M clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/test/ClangScanDeps/optimize-fmodulemap.m
M clang/test/ClangScanDeps/optimize-system-warnings.m
M clang/test/ClangScanDeps/optimize-vfs-leak.m
M clang/test/ClangScanDeps/optimize-vfs.m
M clang/test/ClangScanDeps/removed-args.c
A clang/test/ClangScanDeps/response-file-clang-cl.c
M clang/test/ClangScanDeps/working-dir.m
M clang/test/CodeCompletion/ctor-signature.cpp
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
M clang/test/CodeGen/2010-07-08-DeclDebugLineNo.c
A clang/test/CodeGen/PowerPC/inline-asm-constraints-error.c
A clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
A clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
A clang/test/CodeGen/PowerPC/musttail-forward-declaration.c
A clang/test/CodeGen/PowerPC/musttail-indirect.cpp
A clang/test/CodeGen/PowerPC/musttail-inline.c
A clang/test/CodeGen/PowerPC/musttail-undefined.c
A clang/test/CodeGen/PowerPC/musttail-weak.c
A clang/test/CodeGen/PowerPC/musttail.c
M clang/test/CodeGen/RISCV/abi-empty-structs.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-intrinsic-datatypes.cpp
R clang/test/CodeGen/X86/3dnow-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/ms-x86-intrinsics.c
A clang/test/CodeGen/X86/x86-atomic-double.c
M clang/test/CodeGen/X86/x86-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
M clang/test/CodeGen/X86/x86_64-instrument-functions.c
M clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-byval-temp.c
M clang/test/CodeGen/aarch64-cpu-supports-target.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/CodeGen/aarch64-gcs.c
A clang/test/CodeGen/aarch64-inlineasm-ios.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-sign-return-address.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
A clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_builtin.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
A clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
A clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/aarch64-targetattr-arch.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/target.c
A clang/test/CodeGen/amdgpu-buffer-rsrc-type-debug-info.c
A clang/test/CodeGen/amdgpu-variadic-call.c
M clang/test/CodeGen/arm-abi-vector.c
M clang/test/CodeGen/arm-branch-protection-attr-1.c
M clang/test/CodeGen/arm-branch-protection-attr-2.c
M clang/test/CodeGen/arm-vaarg.c
M clang/test/CodeGen/arm-vector_type-params-returns.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/asan-destructor-kind.cpp
M clang/test/CodeGen/asan-frame-pointer.cpp
M clang/test/CodeGen/asan-globals.cpp
M clang/test/CodeGen/assignment-tracking/assignment-tracking.cpp
M clang/test/CodeGen/assignment-tracking/memcpy-fragment.cpp
M clang/test/CodeGen/assignment-tracking/nested-scope.cpp
M clang/test/CodeGen/attr-error.c
M clang/test/CodeGen/attr-nodebug.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/attr-warning.c
M clang/test/CodeGen/blocks.c
A clang/test/CodeGen/bpf-debug-info-extern-func.c
A clang/test/CodeGen/bpf-debug-info-unref.c
M clang/test/CodeGen/builtins-bitint.c
M clang/test/CodeGen/builtins-elementwise-math.c
R clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
A clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-overflow.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/cfstring.c
M clang/test/CodeGen/constantexpr-fneg.c
A clang/test/CodeGen/constexpr-c23-internal-linkage.c
M clang/test/CodeGen/constrained-math-builtins.c
A clang/test/CodeGen/coverage-target-attr.c
M clang/test/CodeGen/debug-info-block-decl.c
M clang/test/CodeGen/debug-info-block-expr.c
M clang/test/CodeGen/debug-info-block-vars.c
M clang/test/CodeGen/debug-info-matrix-types.c
M clang/test/CodeGen/debug-info-packed-struct.c
M clang/test/CodeGen/debug-info-vla.c
M clang/test/CodeGen/debug-label-inline.c
M clang/test/CodeGen/debug-label.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/ext-int-sanitizer.cpp
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/extend-arg-64.c
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/instrument-objc-method.m
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/kcfi.c
M clang/test/CodeGen/lto-newpm-pipeline.c
A clang/test/CodeGen/math-libcalls-tbaa.cpp
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/mcount-aix.c
M clang/test/CodeGen/mcount.c
M clang/test/CodeGen/mips-varargs.c
M clang/test/CodeGen/no-skipped-passes-O0-opt-bisect.c
A clang/test/CodeGen/nsan-basic.c
M clang/test/CodeGen/object-size.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/pragma-cx-limited-range.c
M clang/test/CodeGen/preserve-call-conv.c
A clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/CodeGen/ptrauth-function-init-fail.c
A clang/test/CodeGen/ptrauth-function-init.c
A clang/test/CodeGen/ptrauth-function-lvalue-cast.c
A clang/test/CodeGen/ptrauth-function-type-discriminator.c
A clang/test/CodeGen/ptrauth-function.c
A clang/test/CodeGen/ptrauth-intrinsic-sign-constant.c
M clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
A clang/test/CodeGen/ptrauth-weak_import.c
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
A clang/test/CodeGen/sanitize-numerical-stability-attr.cpp
M clang/test/CodeGen/sanitizer-module-constructor.c
M clang/test/CodeGen/stdcall-fastcall.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/ubsan-shift-bitint.c
A clang/test/CodeGen/variadic-nvptx.c
M clang/test/CodeGen/vectorcall.c
A clang/test/CodeGen/voidptr-vaarg.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
A clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-unsafe-atomics-gfx90a.cu
A clang/test/CodeGenCUDA/builtins-unsafe-atomics-spirv-amdgcn-gfx90a.cu
M clang/test/CodeGenCUDA/cuda-builtin-vars.cu
M clang/test/CodeGenCUDA/debug-info-address-class.cu
M clang/test/CodeGenCUDA/long-double.cu
M clang/test/CodeGenCUDA/managed-var.cu
A clang/test/CodeGenCUDA/spirv-amdgcn-bf16.cu
A clang/test/CodeGenCUDA/template-class-static-member.cu
M clang/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
A clang/test/CodeGenCXX/amdgpu-buffer-rsrc-typeinfo.cpp
M clang/test/CodeGenCXX/arm64-empty-struct.cpp
A clang/test/CodeGenCXX/arm64-generated-fn-attr.cpp
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/auto-var-init-max-size.cpp
M clang/test/CodeGenCXX/auto-var-init-stop-after.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/class-layout.cpp
M clang/test/CodeGenCXX/compound-literals.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-references.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
M clang/test/CodeGenCXX/cxx11-initializer-array-new.cpp
M clang/test/CodeGenCXX/cxx11-thread-local.cpp
M clang/test/CodeGenCXX/cxx1z-constexpr-if.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
A clang/test/CodeGenCXX/debug-info-incomplete-types.cpp
M clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
M clang/test/CodeGenCXX/debug-info-nrvo.cpp
A clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp
M clang/test/CodeGenCXX/debug-info-range-for-var-names.cpp
M clang/test/CodeGenCXX/debug-info-struct-align.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding.cpp
A clang/test/CodeGenCXX/debug-info-verbose-trap.cpp
M clang/test/CodeGenCXX/debug-info.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/init-invariant.cpp
A clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
M clang/test/CodeGenCXX/linetable-eh.cpp
A clang/test/CodeGenCXX/mangle-ms-auto-templates-memptrs.cpp
A clang/test/CodeGenCXX/mangle-ms-auto-templates-nullptr.cpp
M clang/test/CodeGenCXX/mangle-ms-auto-templates.cpp
M clang/test/CodeGenCXX/microsoft-uuidof.cpp
M clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
A clang/test/CodeGenCXX/msabi-preserve-none-cc.cpp
M clang/test/CodeGenCXX/no-const-init-cxx2a.cpp
M clang/test/CodeGenCXX/no-unique-address.cpp
M clang/test/CodeGenCXX/nullptr.cpp
M clang/test/CodeGenCXX/partial-destruction.cpp
M clang/test/CodeGenCXX/partitions.cpp
M clang/test/CodeGenCXX/pod-member-memcpys.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
M clang/test/CodeGenCXX/pr18962.cpp
A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
A clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
A clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
A clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
A clang/test/CodeGenCXX/ptrauth-throw.cpp
A clang/test/CodeGenCXX/ptrauth-thunks.cpp
A clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
A clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
A clang/test/CodeGenCXX/ptrauth.cpp
M clang/test/CodeGenCXX/references.cpp
A clang/test/CodeGenCXX/spirv-amdgcn-float16.cpp
M clang/test/CodeGenCXX/template-param-objects-linkage.cpp
M clang/test/CodeGenCXX/temporaries.cpp
A clang/test/CodeGenCXX/trivial-auto-var-init-skip-scalar-with-nonconst-init.cpp
M clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp
M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
M clang/test/CodeGenCXX/value-init.cpp
M clang/test/CodeGenCXX/weak-external.cpp
A clang/test/CodeGenCXX/windows-instantiate-dllexport-template-specialization.cpp
M clang/test/CodeGenCXX/x86_32-vaarg.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
A clang/test/CodeGenCXX/zero-init-empty-virtual.cpp
M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
A clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHIP/hipspv-addr-spaces.cpp
M clang/test/CodeGenHIP/printf-builtin.hip
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
A clang/test/CodeGenHIP/spirv-amdgcn-ballot.cpp
A clang/test/CodeGenHIP/spirv-amdgcn-dpp-const-fold.hip
A clang/test/CodeGenHIP/spirv-amdgcn-half.hip
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
A clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/cosh.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/tanh.hlsl
M clang/test/CodeGenHLSL/cbuf.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
A clang/test/CodeGenHLSL/export.hlsl
A clang/test/CodeGenHLSL/loops/unroll.hlsl
M clang/test/CodeGenObjC/2010-02-09-DbgSelf.m
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/blocks.m
M clang/test/CodeGenObjC/debug-info-blocks.m
M clang/test/CodeGenObjC/debug-info-nested-blocks.m
M clang/test/CodeGenObjC/encode-test-3.m
M clang/test/CodeGenObjC/objc-fixed-enum.m
M clang/test/CodeGenObjCXX/arc-exceptions.mm
M clang/test/CodeGenObjCXX/lambda-to-block.mm
M clang/test/CodeGenObjCXX/property-objects.mm
A clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgcn-flat-scratch-name.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-variable-expression.cl
M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-r600.cl
M clang/test/CodeGenOpenCL/inline-asm-amdgcn.cl
M clang/test/CodeGenOpenCLCXX/constexpr.clcpp
A clang/test/CodeGenOpenCLCXX/version.clcpp
M clang/test/CodeGenSYCL/debug-info-kernel-variables.cpp
M clang/test/Coverage/targets.c
M clang/test/Coverage/unresolved-ctor-expr.cpp
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/logical.cpp
M clang/test/CoverageMapping/mcdc-class.cpp
M clang/test/CoverageMapping/mcdc-error-conditions.cpp
M clang/test/CoverageMapping/mcdc-logical-scalar-ids.cpp
M clang/test/CoverageMapping/mcdc-logical-stmt-ids-all.cpp
M clang/test/CoverageMapping/mcdc-logical-stmt-ids.cpp
M clang/test/CoverageMapping/mcdc-scratch-space.c
M clang/test/CoverageMapping/mcdc-system-headers.cpp
M clang/test/CoverageMapping/system_macro.cpp
M clang/test/CoverageMapping/templates.cpp
A clang/test/Driver/Inputs/basic_baremetal_tree/bin/.keep
A clang/test/Driver/Inputs/basic_baremetal_tree/include/armv6m-unknown-none-eabi/.keep
A clang/test/Driver/Inputs/basic_baremetal_tree/include/armv6m-unknown-none-eabi/c++/v1/.keep
A clang/test/Driver/Inputs/basic_baremetal_tree/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_baremetal_tree/lib/armv6m-unknown-none-eabi/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/aarch64-unknown-fuchsia/asan+noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/aarch64-unknown-fuchsia/asan/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/aarch64-unknown-fuchsia/compat/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/aarch64-unknown-fuchsia/hwasan+noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/aarch64-unknown-fuchsia/hwasan/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/aarch64-unknown-fuchsia/noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/riscv64-unknown-fuchsia/asan+noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/riscv64-unknown-fuchsia/asan/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/riscv64-unknown-fuchsia/compat/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/riscv64-unknown-fuchsia/hwasan+noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/riscv64-unknown-fuchsia/hwasan/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/riscv64-unknown-fuchsia/noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/x86_64-unknown-fuchsia/asan+noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/x86_64-unknown-fuchsia/asan/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/x86_64-unknown-fuchsia/compat/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/x86_64-unknown-fuchsia/hwasan+noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/x86_64-unknown-fuchsia/hwasan/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/include/x86_64-unknown-fuchsia/noexcept/c++/v1/.keep
A clang/test/Driver/Inputs/basic_fuchsia_tree/lib/aarch64-unknown-fuchsia/ubsan+noexcept/libc++.so
A clang/test/Driver/Inputs/basic_fuchsia_tree/lib/aarch64-unknown-fuchsia/ubsan/libc++.so
A clang/test/Driver/Inputs/basic_fuchsia_tree/lib/x86_64-unknown-fuchsia/ubsan+noexcept/libc++.so
A clang/test/Driver/Inputs/basic_fuchsia_tree/lib/x86_64-unknown-fuchsia/ubsan/libc++.so
M clang/test/Driver/Ofast.c
A clang/test/Driver/aarch64-fixed-register-global.c
M clang/test/Driver/aarch64-fp16.c
M clang/test/Driver/aarch64-mac-cpus.c
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aarch64-multilib-rcpc3.c
A clang/test/Driver/aarch64-oryon-1.c
M clang/test/Driver/aarch64-outliner.c
M clang/test/Driver/aarch64-sve2.c
A clang/test/Driver/aarch64-v8a.c
A clang/test/Driver/aarch64-v9a.c
M clang/test/Driver/amdgcn-gz-options.cl
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/amdgpu-invalid-target-id.s
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
A clang/test/Driver/apple-os-triples.c
R clang/test/Driver/appletvos-version-min.c
M clang/test/Driver/arc.c
M clang/test/Driver/arclite-link.c
M clang/test/Driver/arm-float-abi-runtime-path.c
M clang/test/Driver/arm-float-abi.c
M clang/test/Driver/arm-machine-outliner.c
A clang/test/Driver/baremetal-ld.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-options.cu
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/compress-noias.c
A clang/test/Driver/crel.c
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/cuda-bail-out.cu
M clang/test/Driver/cuda-bindings.cu
M clang/test/Driver/cuda-constructor-alias.cu
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/cuda-detect-path.cu
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/cuda-external-tools.cu
M clang/test/Driver/cuda-macosx.cu
M clang/test/Driver/cuda-march.cu
M clang/test/Driver/cuda-omp-unsupported-debug-options.cu
M clang/test/Driver/cuda-openmp-driver.cu
M clang/test/Driver/cuda-options.cu
M clang/test/Driver/cuda-output-asm.cu
M clang/test/Driver/cuda-phases.cu
M clang/test/Driver/cuda-ptxas-path.cu
M clang/test/Driver/cuda-version-check.cu
M clang/test/Driver/cuda-windows.cu
M clang/test/Driver/darwin-objc-defaults.m
M clang/test/Driver/darwin-stdlib-dont-pass-in-c.c
M clang/test/Driver/darwin-stdlib.cpp
M clang/test/Driver/darwin-version.c
M clang/test/Driver/darwin-xarch.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/defsym.s
M clang/test/Driver/driverkit-arm64.c
M clang/test/Driver/driverkit-arm64e.c
M clang/test/Driver/driverkit-cplusplus.cpp
M clang/test/Driver/driverkit-exceptions.cpp
M clang/test/Driver/driverkit-path.c
M clang/test/Driver/driverkit-rtti.cpp
M clang/test/Driver/driverkit-target-cpu.c
R clang/test/Driver/driverkit-version-min.c
M clang/test/Driver/dwarf-target-version-clamp.cu
M clang/test/Driver/dxc_debug.hlsl
M clang/test/Driver/dxc_fcgl.hlsl
M clang/test/Driver/elfiamcu-header-search.c
M clang/test/Driver/frame-pointer.c
A clang/test/Driver/fraw-string-literals-cxx.cpp
M clang/test/Driver/fsanitize.c
M clang/test/Driver/ftime-trace-sections.py
M clang/test/Driver/fuchsia.cpp
M clang/test/Driver/gcc-param.c
M clang/test/Driver/gcodeview-command-line.c
M clang/test/Driver/gcodeview-ghash.c
M clang/test/Driver/global-isel.c
M clang/test/Driver/gpu-libc-headers.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-autolink.hip
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-cuid-hash.hip
M clang/test/Driver/hip-cuid.hip
M clang/test/Driver/hip-default-gpu-arch.hip
M clang/test/Driver/hip-device-compile.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-fpie-option.hip
M clang/test/Driver/hip-gsplit-dwarf-options.hip
M clang/test/Driver/hip-gz-options.hip
M clang/test/Driver/hip-host-cpu-features.hip
M clang/test/Driver/hip-include-path.hip
M clang/test/Driver/hip-inputs.hip
M clang/test/Driver/hip-invalid-target-id.hip
M clang/test/Driver/hip-launch-api.hip
M clang/test/Driver/hip-link-bc-to-bc.hip
M clang/test/Driver/hip-link-bundle-archive.hip
M clang/test/Driver/hip-link-save-temps.hip
M clang/test/Driver/hip-link-static-library.hip
M clang/test/Driver/hip-no-device-libs.hip
M clang/test/Driver/hip-offload-arch.hip
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-output-file-name.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-printf.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/hip-save-temps.hip
M clang/test/Driver/hip-std.hip
M clang/test/Driver/hip-syntax-only.hip
M clang/test/Driver/hip-target-id.hip
M clang/test/Driver/hip-toolchain-device-only.hip
M clang/test/Driver/hip-toolchain-dwarf.hip
M clang/test/Driver/hip-toolchain-features.hip
M clang/test/Driver/hip-toolchain-mllvm.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-opt.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hip-unbundle-preproc.hipi
M clang/test/Driver/hip-wavefront-size.hip
M clang/test/Driver/hip-windows-filename.hip
M clang/test/Driver/hipspv-device-libs.hip
M clang/test/Driver/hipspv-pass-plugin.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/indirect-tls-seg-refs.c
M clang/test/Driver/invalid-offload-options.cpp
M clang/test/Driver/invalid-target-id.cl
R clang/test/Driver/ios-version-min.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper-libs.c
A clang/test/Driver/linker-wrapper-llvm-help.c
A clang/test/Driver/linker-wrapper-passes.c
M clang/test/Driver/linker-wrapper.c
R clang/test/Driver/loongarch-default-features.c
A clang/test/Driver/loongarch-features.c
A clang/test/Driver/loongarch-msimd.c
M clang/test/Driver/lto.cu
M clang/test/Driver/m68k-features.cpp
M clang/test/Driver/m68k-macros.cpp
M clang/test/Driver/m68k-sub-archs.cpp
M clang/test/Driver/macos-apple-silicon-slice-link-libs-darwin-only.cpp
M clang/test/Driver/masm.c
M clang/test/Driver/masm.s
M clang/test/Driver/mbackchain.c
M clang/test/Driver/mcount.c
M clang/test/Driver/mdouble.c
M clang/test/Driver/memtag-stack.c
M clang/test/Driver/mfentry.c
M clang/test/Driver/mglobal-merge.c
M clang/test/Driver/mingw-implicit-extension-windows.c
M clang/test/Driver/mingw-libgcc.c
M clang/test/Driver/mingw-msvcrt.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Driver/mingw-windowsapp.c
M clang/test/Driver/mingw.cpp
M clang/test/Driver/mips-abi.c
M clang/test/Driver/mips-abicalls-error.c
M clang/test/Driver/mips-abicalls-warning.c
M clang/test/Driver/mips-as.c
M clang/test/Driver/mips-cs.cpp
M clang/test/Driver/mips-features.c
M clang/test/Driver/mips-float.c
M clang/test/Driver/mips-fsf.cpp
M clang/test/Driver/mips-gpopt-warning.c
M clang/test/Driver/mips-ias-Wa.s
M clang/test/Driver/mips-img-v2.cpp
M clang/test/Driver/mips-img.cpp
M clang/test/Driver/mips-indirect-branch.c
M clang/test/Driver/mips-integrated-as.s
M clang/test/Driver/mips-mabs-warning.c
M clang/test/Driver/mips-mti-linux.c
M clang/test/Driver/mlong-double-128.c
M clang/test/Driver/mlong-double-64.c
M clang/test/Driver/module-output.cppm
M clang/test/Driver/ms-bitfields.c
A clang/test/Driver/ms-define-stdc.c
M clang/test/Driver/msan.c
M clang/test/Driver/msc-version.c
M clang/test/Driver/msp430-hwmult.c
A clang/test/Driver/msse2avx.c
M clang/test/Driver/msvc-compiler-rt.c
M clang/test/Driver/msvc-static-rtti.cpp
M clang/test/Driver/msvc-triple.c
M clang/test/Driver/msvc_forward.c
M clang/test/Driver/nvptx-cuda-system-arch.c
M clang/test/Driver/objc-encode-cxx-class-template-spec.m
M clang/test/Driver/offloading-interoperability.c
M clang/test/Driver/ohos.c
M clang/test/Driver/openbsd.cpp
M clang/test/Driver/opencl.cl
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/openmp-offload-headers.c
M clang/test/Driver/openmp-offload-infer.c
M clang/test/Driver/openmp-offload-jit.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/ppc-dependent-options.cpp
M clang/test/Driver/ppc-float-abi-warning.cpp
M clang/test/Driver/ppc-unsupported.c
A clang/test/Driver/print-enabled-extensions/aarch64-a64fx.c
A clang/test/Driver/print-enabled-extensions/aarch64-ampere1.c
A clang/test/Driver/print-enabled-extensions/aarch64-ampere1a.c
A clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a10.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a11.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a12.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a13.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a14.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-a7.c
A clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8-r.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.1-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.2-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.3-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.4-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.5-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.6-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-carmel.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a34.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a35.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a53.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a55.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a57.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a72.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a73.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a75.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a77.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78c.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1c.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
A clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
A clang/test/Driver/print-enabled-extensions/aarch64-exynos-m3.c
A clang/test/Driver/print-enabled-extensions/aarch64-exynos-m4.c
A clang/test/Driver/print-enabled-extensions/aarch64-exynos-m5.c
A clang/test/Driver/print-enabled-extensions/aarch64-falkor.c
A clang/test/Driver/print-enabled-extensions/aarch64-generic.c
A clang/test/Driver/print-enabled-extensions/aarch64-kryo.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-e1.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n1.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v1.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
A clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-oryon-1.c
A clang/test/Driver/print-enabled-extensions/aarch64-saphira.c
A clang/test/Driver/print-enabled-extensions/aarch64-thunderx.c
A clang/test/Driver/print-enabled-extensions/aarch64-thunderx2t99.c
A clang/test/Driver/print-enabled-extensions/aarch64-thunderx3t110.c
A clang/test/Driver/print-enabled-extensions/aarch64-thunderxt81.c
A clang/test/Driver/print-enabled-extensions/aarch64-thunderxt83.c
A clang/test/Driver/print-enabled-extensions/aarch64-thunderxt88.c
A clang/test/Driver/print-enabled-extensions/aarch64-tsv110.c
A clang/test/Driver/print-supported-extensions-aarch64.c
A clang/test/Driver/print-supported-extensions-arm.c
A clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/print-supported-extensions.c
A clang/test/Driver/ps4-linker.c
R clang/test/Driver/ps4-ps5-linker.c
A clang/test/Driver/ps5-linker.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/rocm-detect.cl
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/rocm-device-libs.cl
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/save-temps.c
M clang/test/Driver/spirv-toolchain.cl
M clang/test/Driver/stack-protector.c
M clang/test/Driver/sysroot.c
M clang/test/Driver/target-id-macros.cl
M clang/test/Driver/target-id.cl
M clang/test/Driver/thinlto.cu
M clang/test/Driver/tsan.c
M clang/test/Driver/unknown-std.c
M clang/test/Driver/ve-toolchain.c
M clang/test/Driver/ve-toolchain.cpp
M clang/test/Driver/warning-options.cpp
R clang/test/Driver/watchos-version-min.c
A clang/test/Driver/x86-apx-inline-asm-use-gpr32.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/enum.c
A clang/test/Frontend/arm-branch-protection-lto.c
M clang/test/Frontend/embed-bitcode.ll
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/Frontend/gnu-mcount.c
A clang/test/Frontend/module-file-info-not-a-module.c
M clang/test/Headers/__clang_hip_math.hip
A clang/test/Headers/__cpuidex_conflict.c
M clang/test/Headers/cpuid.c
A clang/test/Headers/cuda_wrapper_algorithm.cu
M clang/test/Headers/float.c
M clang/test/Headers/mm3dnow.c
M clang/test/Import/builtin-template/test.cpp
M clang/test/Index/TestClassForwardDecl.m
A clang/test/Index/USR/func-template.cpp
A clang/test/Index/binop.cpp
M clang/test/Index/blocks.c
M clang/test/Index/c-index-api-loadTU-test.m
M clang/test/Index/c-index-getCursor-test.m
M clang/test/Index/comment-misc-tags.m
M clang/test/Index/comment-to-html-xml-conversion.cpp
M clang/test/Index/index-concepts.cpp
M clang/test/Index/load-staticassert.cpp
M clang/test/Index/nested-binaryoperators.cpp
M clang/test/Index/overriding-ftemplate-comments.cpp
M clang/test/Index/preamble.c
M clang/test/Index/print-type.c
M clang/test/Index/print-type.cpp
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/test/Index/remap-load.c
M clang/test/Index/usrs.m
M clang/test/InstallAPI/asm.test
M clang/test/InstallAPI/basic.test
M clang/test/InstallAPI/binary-attributes.test
M clang/test/InstallAPI/cpp.test
M clang/test/InstallAPI/diagnostics-dsym.test
A clang/test/InstallAPI/directory-scanning-dylib.test
A clang/test/InstallAPI/directory-scanning-frameworks.test
M clang/test/InstallAPI/functions.test
A clang/test/InstallAPI/reexport-with-linker-symbols.test
M clang/test/InstallAPI/variables.test
A clang/test/Interpreter/execute.c
M clang/test/Interpreter/execute.cpp
M clang/test/Interpreter/incremental-mode.cpp
M clang/test/Interpreter/inline-virtual.cpp
A clang/test/Interpreter/pretty-print.c
A clang/test/Lexer/cxx2c-raw-strings.cpp
A clang/test/Lexer/has_feature_numerical_stability_sanitizer.cpp
A clang/test/Lexer/raw-string-ext.c
A clang/test/Misc/cc1as-crel.s
A clang/test/Misc/cc1as-defsym.s
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Misc/warning-flags.c
A clang/test/Misc/win32-elf.c
M clang/test/Modules/Inputs/implicit-built-Werror-using-W/convert.h
M clang/test/Modules/Inputs/initializer_list/direct.h
M clang/test/Modules/Inputs/redecl-templates/a.h
A clang/test/Modules/cxx20-decls.cppm
M clang/test/Modules/decl-params-determinisim.m
A clang/test/Modules/export-redecl-in-language-linkage.cppm
A clang/test/Modules/forward-friend.cppm
M clang/test/Modules/implicit-built-Werror-using-W.cpp
M clang/test/Modules/no-eager-load.cppm
A clang/test/Modules/no-external-identifier-id.cppm
A clang/test/Modules/no-external-type-id.cppm
A clang/test/Modules/no-implicit-declarations.cppm
A clang/test/Modules/no-transitive-decl-change-2.cppm
A clang/test/Modules/no-transitive-decls-change.cppm
A clang/test/Modules/no-transitive-identifier-change-2.cppm
A clang/test/Modules/no-transitive-identifier-change.cppm
A clang/test/Modules/no-transitive-type-change.cppm
M clang/test/Modules/pr60775.cppm
A clang/test/Modules/pr93497.cppm
A clang/test/Modules/pr93859.cppm
A clang/test/Modules/pr97244.cppm
M clang/test/Modules/redecl-templates.cpp
A clang/test/Modules/safe_buffers_optout.cpp
A clang/test/Modules/same-decl-in-different-modules.cppm
M clang/test/Modules/template_name_lookup.cpp
A clang/test/Modules/transitive-adl-change.cppm
A clang/test/Modules/use-after-free-2.c
M clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/align_clause_ast_print.cpp
M clang/test/OpenMP/debug-info-complex-byval.cpp
M clang/test/OpenMP/debug-info-openmp-array.cpp
M clang/test/OpenMP/debug_private.c
M clang/test/OpenMP/debug_task_shared.c
M clang/test/OpenMP/debug_threadprivate_copyin.c
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/declare_mapper_messages.cpp
M clang/test/OpenMP/declare_reduction_codegen_in_templates.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/deferred-diags.cpp
M clang/test/OpenMP/depend_iterator_bug.c
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
A clang/test/OpenMP/error_unsupport_feature.c
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/generic_loop_ast_print.cpp
M clang/test/OpenMP/interop_ast_print.cpp
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
M clang/test/OpenMP/nvptx_target_cuda_mode_messages.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
M clang/test/OpenMP/ordered_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
A clang/test/OpenMP/reduction_complex.c
M clang/test/OpenMP/reduction_implicit_map.cpp
A clang/test/OpenMP/requires_default_atomic_mem_order.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_enter_data_codegen.cpp
M clang/test/OpenMP/target_exit_data_codegen.cpp
R libcxx/trigger
R llvm/lib/Transforms/Hello/Hello.exports
Log Message:
-----------
Merge branch 'main' (early part) into users/meinersbur/clang_openmp_interchange
Commit: 1ce89899ad33a0d2976859d8d278dba4342cbb6b
https://github.com/llvm/llvm-project/commit/1ce89899ad33a0d2976859d8d278dba4342cbb6b
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
Log Message:
-----------
[clang-tidy] Fix false in unnecessary-value-param inside templates (#98488)
Summary:
If callExpr is type dependent, there is no way to analyze individual
arguments until template specialization. Before this diff only calls
with dependent callees were skipped so unnecessary-value-param was
processing arguments that had non-dependent type that gave false
positives because the call was not fully resolved till specialization.
So now instead of checking type dependent callee, the whole expression
will be checked for type dependent.
Test Plan: check-clang-tools
Commit: d84db479b925eed62972de975d62177f0f630226
https://github.com/llvm/llvm-project/commit/d84db479b925eed62972de975d62177f0f630226
Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Compile fix
Commit: dfddc0c4843baaf9605aeb1c4f82eac185e90265
https://github.com/llvm/llvm-project/commit/dfddc0c4843baaf9605aeb1c4f82eac185e90265
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/atomic
M libcxx/include/expected
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/functional
M libcxx/include/iterator
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/ostream
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/stop_token
M libcxx/include/string_view
M libcxx/include/type_traits
M libcxx/include/utility
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/type_traits/is_callable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
M libcxx/test/libcxx/type_traits/lazy_metafunctions.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.bind.partial/compose.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Include the rest of the detail headers by version in the umbrella headers (#96032)
This is a follow-up to #83740.
Commit: c6144cb0de35013e19ddd4d9fbc86367bb1ba223
https://github.com/llvm/llvm-project/commit/c6144cb0de35013e19ddd4d9fbc86367bb1ba223
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Remove unnecessary `m_ElementWiseBitCast` from `isKnownNonZeroFromOperator`; NFC
Commit: d097f430a172a5d798a39b416b1af84f4ec572e1
https://github.com/llvm/llvm-project/commit/d097f430a172a5d798a39b416b1af84f4ec572e1
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Fixed the error `unable to launch a GDB server` in API tests (#98833)
TestPlatformLaunchGDBServer.py runs `ldb-server` w/o parameters
`--min-gdbserver-port`, `--max-gdbserver-port` or `--gdbserver-port`. So
`gdbserver_portmap` is empty and
`gdbserver_portmap.GetNextAvailablePort()` will return 0. Do not call
`portmap_for_child.AllowPort(0)` in this case. Otherwise
`portmap_for_child.GetNextAvailablePort()` will allocate and never free
the port 0 and next call `portmap_for_child.GetNextAvailablePort()` will
fail.
Added few asserts in `GDBRemoteCommunicationServerPlatform::PortMap` to
avoid such issue in the future.
This patch fixes a bug added in #88845. The behaviour is very close to
#97537 w/o parameters `--min-gdbserver-port`, `--max-gdbserver-port` and
`--gdbserver-port`.
Commit: ba8e4920ca57518f429bcf0a68ed3d48195fb1e6
https://github.com/llvm/llvm-project/commit/ba8e4920ca57518f429bcf0a68ed3d48195fb1e6
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
Log Message:
-----------
[MLIR] NFC. Remove anti-patterns given the default null init for Value (#99457)
Remove anti-patterns given the default null init for Value. Drop some
extra includes while on this file. NFC.
Co-authored-by: GitHub runner <github-runner at polymagelabs.com>
Commit: e4a2d74e0917d481ecda8e8ff0c0af3c683c9441
https://github.com/llvm/llvm-project/commit/e4a2d74e0917d481ecda8e8ff0c0af3c683c9441
Author: Him188 <tguan at nvidia.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
Log Message:
-----------
[AArch64][GISel] Always fold G_SHL into addressing mode where possible, unless the subtarget has addr-lsl-slow-14 (#96603)
Before this patch, we fold G_SHL into addressing mode lsl only when
there is exactly one usage, or all the usages are memory ops, or we are
optimizing for size. However, lsl is free on all aarch64 targets except
those with FeatureAddrLSLSlow14.
This patch uses this fact and always folds G_SHL into lsl for memory
ops, with exceptions for FeatureAddrLSLSlow14.
This patch also fixes GISel 15% regression in TSVC kernel s482, and
brings regression in s291 from 20% to 10%.
Commit: c661422db04d86b83c1bfeed18e31745a3725357
https://github.com/llvm/llvm-project/commit/c661422db04d86b83c1bfeed18e31745a3725357
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[Clang] Handle OMPReverseDirectiveClass in switch
Commit: af015178565b06713c354436bbe4b0d3ea135a35
https://github.com/llvm/llvm-project/commit/af015178565b06713c354436bbe4b0d3ea135a35
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[Clang] Handle OMPInterchangeDirectiveClass in switch
Commit: 9011adf3e55c1157ba853cbc3c2ca3edd61de745
https://github.com/llvm/llvm-project/commit/9011adf3e55c1157ba853cbc3c2ca3edd61de745
Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/atomic
M libcxx/include/expected
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/functional
M libcxx/include/iterator
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/ostream
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/stop_token
M libcxx/include/string_view
M libcxx/include/type_traits
M libcxx/include/utility
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/type_traits/is_callable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
M libcxx/test/libcxx/type_traits/lazy_metafunctions.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.bind.partial/compose.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp
M libcxx/test/support/test_iterators.h
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/test/MachO/link-search-at-rpath.s
M lld/test/MachO/rpath.s
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/Analysis/ValueTracking/known-bits.ll
M llvm/test/Analysis/ValueTracking/known-fpclass.ll
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
M llvm/test/Transforms/SCCP/phis.ll
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
Log Message:
-----------
Merge branch 'main' into users/meinersbur/clang_openmp_interchange
Commit: f730b3d66340150a7cf62eeefdd7e2e6c9741d59
https://github.com/llvm/llvm-project/commit/f730b3d66340150a7cf62eeefdd7e2e6c9741d59
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Compile fix
Commit: 8922a0fd2d98d1ad5d5689f5edad3e04d163f871
https://github.com/llvm/llvm-project/commit/8922a0fd2d98d1ad5d5689f5edad3e04d163f871
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
Use SmallString
Compare: https://github.com/llvm/llvm-project/compare/7ef1d9e93908...8922a0fd2d98
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