[all-commits] [llvm/llvm-project] ffc459: [RISCV] Add a check in lowerSELECT after foldBinOp...
Paschalis Mpeis via All-commits
all-commits at lists.llvm.org
Mon Jul 15 00:50:44 PDT 2024
Branch: refs/heads/users/paschalis-mpeis/bolt-heatmap-docs
Home: https://github.com/llvm/llvm-project
Commit: ffc459de7540eaf9bdbcb7b7cc2376fd7e9e7f11
https://github.com/llvm/llvm-project/commit/ffc459de7540eaf9bdbcb7b7cc2376fd7e9e7f11
Author: Yunzezhu94 <93851382+Yunzezhu94 at users.noreply.github.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/fold-binop-into-select-return-constant.ll
Log Message:
-----------
[RISCV] Add a check in lowerSELECT after foldBinOpIntoSelectIfProfitable (#97391)
In certain case foldBinOpIntoSelectIfProfitable may return a constant
node, the node will be lowered in lowerSELECT and lead to crash.
This patch fix the bug by adding an extra check before lowerSELECT that
do lowerSELECT as before when foldBinOpIntoSelectIfProfitable returns a
select node, and return the node directly when
foldBinOpIntoSelectIfProfitable returns a constant node.
Fixes https://github.com/llvm/llvm-project/issues/97390
Commit: 9e211744b82a72e08c137f75b1c671713e2891af
https://github.com/llvm/llvm-project/commit/9e211744b82a72e08c137f75b1c671713e2891af
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-07-04 (Thu, 04 Jul 2024)
Changed paths:
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Avoid 'raw_string_ostream::str' (NFC)
Since `raw_string_ostream` doesn't own the string buffer, it is
desirable (in terms of memory safety) for users to directly reference
the string buffer rather than use `raw_string_ostream::str()`.
Work towards TODO item to remove `raw_string_ostream::str()`.
Commit: 23aff11e9c345fb0ba501a1751997baae15f3b52
https://github.com/llvm/llvm-project/commit/23aff11e9c345fb0ba501a1751997baae15f3b52
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/convert-highly-predictable-select-to-branch.ll
Log Message:
-----------
[RISCV] Add FeaturePredictableSelectIsExpensive
This information is used in CGP/SelectOpt to decide when to convert
selects into branches.
Reviewers: dtcxzyw, mgudim, asb, preames, topperc, lukel97
Reviewed By: dtcxzyw, topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/97708
Commit: db782b44b3471c0ab41950c3f79d0ea7b916c135
https://github.com/llvm/llvm-project/commit/db782b44b3471c0ab41950c3f79d0ea7b916c135
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-05 (Fri, 05 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] Don't forward AVL in VSETVLIInfo if it would clobber other definitions (#97264)
This fixes a crash found when compiling OpenBLAS with -mllvm
-verify-machineinstrs.
When we "forward" the AVL from the output of a vsetvli, we might have to
extend the LiveInterval of the AVL to where insert the new vsetvli.
Most of the time we are able to extend the LiveInterval because there's
only one val num (definition) for the register. But PHI elimination can
assign multiple values to the same register, in which case we end up
clobbering a different val num when extending:
%x = PseudoVSETVLI %avl, ...
%avl = ADDI ...
%v = PseudoVADD ..., avl=%x
; %avl is forwarded to PseudoVADD:
%x = PseudoVSETVLI %avl, ...
%avl = ADDI ...
%v = PseudoVADD ..., avl=%avl
Here there's no way to extend the %avl from the vsetvli since %avl is
redefined, i.e. we have two val nums.
This fixes it by only forwarding it when we have exactly one val num,
where it should be safe to extend it.
Commit: c7ee20433c43e45658031a340e221097a32a469f
https://github.com/llvm/llvm-project/commit/c7ee20433c43e45658031a340e221097a32a469f
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/target_enter_data_codegen.cpp
M clang/test/OpenMP/target_exit_data_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/test/Transforms/OpenMP/add_attributes.ll
Log Message:
-----------
[OpenMP] Fix stack corruption due to argument mismatch (#96386)
While lowering (#pragma omp target update from), clang's generated
.omp_task_entry. is setting up 9 arguments while calling
__tgt_target_data_update_nowait_mapper.
At the same time, in __tgt_target_data_update_nowait_mapper, call to
targetData<TaskAsyncInfoWrapperTy>() is converted to a sibcall assuming
it has the argument count listed in the signature.
AARCH64 asm sequence for this is as follows (removed unrelated insns):
`
.omp_task_entry..108:
sub sp, sp, #32
stp x29, x30, sp, #16 // 16-byte Folded Spill
add x29, sp, #16
str x8, sp, #8. // stack canary
str xzr, [sp]
bl __tgt_target_data_update_nowait_mapper
__tgt_target_data_update_nowait_mapper:
sub sp, sp, #32
stp x29, x30, sp, #16 // 16-byte Folded Spill
add x29, sp, #16
str x8, sp, #8 // stack canary
// Sibcall argument setup
adrp x8,
:got:_Z16targetDataUpdateP7ident_tR8DeviceTyiPPvS4_PlS5_S4_S4_R11AsyncInfoTyb
ldr x8, [x8,
:got_lo12:_Z16targetDataUpdateP7ident_tR8DeviceTyiPPvS4_PlS5_S4_S4_R11AsyncInfoTyb]
stp x9, x8, x29, #16
adrp x8, .L.str.8
add x8, x8, :lo12:.L.str.8
str x8, x29, #32. <==. This is the insn that erases $fp
ldp x29, x30, sp, #16 // 16-byte Folded Reload
add sp, sp, #32
// Sibcall
b
ZL10targetDataI22TaskAsyncInfoWrapperTyEvP7ident_tliPPvS4_PlS5_S4_S4_PFiS2_R8DeviceTyiS4_S4_S5_S5_S4_S4_R11AsyncInfoTybEPKcSD
`
On AArch64, call to __tgt_target_data_update_nowait_mapper in
.omp_task_entry. sets up only single space on stack and this results in
ovewriting $fp and subsequent stack corruption. This issue can be
credited to discrepancy of __tgt_target_data_update_nowait_mapper
signature in openmp/libomptarget/include/omptarget.h taking 13 arguments
while clang/lib/CodeGen/CGOpenMPRuntime.cpp and
llvm/include/llvm/Frontend/OpenMP/OMPKinds.def taking only 9 arguments.
This patch modifies __tgt_target_data_update_nowait_mapper signature to
match .omp_task_entry usage(and other 2 files mentioned above).
Co-authored-by: Kugan Vivekanandarajah <kvivekananda at nvidia.com>
Commit: 5ce141f7af7ba6a42dac41562fb06160a7863b59
https://github.com/llvm/llvm-project/commit/5ce141f7af7ba6a42dac41562fb06160a7863b59
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/tools/llvm-symbolizer/get-input-file.test
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Log Message:
-----------
[symbolizer] Empty string is not an error (#97781)
This is recommit of llvm/llvm-project#92660, reverted in
llvm/llvm-project#94424.
Original commit message is below.
After commit
https://github.com/llvm/llvm-project/commit/1792852f86dc75efa1f44d46b1a0daf386d64afa
([symbolizer] Change reaction on invalid input) llvm-symbolizer issues
an error on malformed command instead of echoing it to the standard
output, as in previous versions. It turns out this behavior broke a use
case when echoing was used to check if llvm-symbolizer is working
(https://github.com/llvm/llvm-project/commit/1792852f86dc75efa1f44d46b1a0daf386d64afa#commitcomment-142161925).
With this change an empty line as input is not considered as an error
anymore and does not produce any output on stderr. llvm-symbolizer still
respond on empty line with line not found, this is consistent with GNU
addr2line.
Commit: a3ba6a7f972dee85cc073bb4c98bd074e9c276d6
https://github.com/llvm/llvm-project/commit/a3ba6a7f972dee85cc073bb4c98bd074e9c276d6
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-04 (Thu, 04 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
[MC,MachO] Simplify IndirectSybols
Commit: d2dd4b55e67e333d9253abeeacac5d3de1a094db
https://github.com/llvm/llvm-project/commit/d2dd4b55e67e333d9253abeeacac5d3de1a094db
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
A libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/invalid.sh.py
A libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
A libcxx/test/libcxx/feature_test_macro/test_data.json
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Adds a new feature-test macro generator class. (#90889)
The new feature-test macro generator uses a JSON file as input.
Separating the
code from the data allows for testing the code. The generator has
several tests.
This JSON format is based on the new format proposed in #88630
At the moment the FTM script has the existing code and an unused new
generator. Followup patches will complete the generator and convert the
existing
Python `dict` to the new JSON format. Since that conversion is a manual
job and
quite a bit of work the transition path has some unused code for some
time.
Commit: 1d4d92d1cc98f22259aded4c3f29c67e7686ee30
https://github.com/llvm/llvm-project/commit/1d4d92d1cc98f22259aded4c3f29c67e7686ee30
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-04 (Thu, 04 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
[MC] Move MCAssembler::IndirectSymbols to MachObjectWriter
Commit: 7c4dbad550cfed8c501fb82ad0883542ac989b35
https://github.com/llvm/llvm-project/commit/7c4dbad550cfed8c501fb82ad0883542ac989b35
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
A llvm/test/Transforms/SimplifyCFG/preserving-debugloc-br.ll
Log Message:
-----------
[DebugInfo][SimplifyCFGPass] Fix the missing debug location update for the new br instruction (#97389)
Fix #97388 .
Commit: 093aaca2b0ad23ded5dcb45e8f837ffb7b21ffb3
https://github.com/llvm/llvm-project/commit/093aaca2b0ad23ded5dcb45e8f837ffb7b21ffb3
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
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
A clang/docs/analyzer/user-docs/UsingWithXCode.rst
M clang/www/analyzer/codechecker.html
M clang/www/analyzer/command-line.html
M clang/www/analyzer/filing_bugs.html
M clang/www/analyzer/index.html
M clang/www/analyzer/installation.html
R clang/www/analyzer/latest_checker.html.incl
M clang/www/analyzer/scan-build.html
M clang/www/analyzer/xcode.html
Log Message:
-----------
[clang][analyzer][doc] Migrate user-related docs from HTML to RST (#97034)
User documentation currently found at https://clang-analyzer.llvm.org is migrated to RST format.
This commit migrates all the relevant content, including suspicious or even clearly outdated parts. These issues will be cleaned up in separate follow-up commits (where the diff is not obscured by the format change). However, a few typos are fixed, and some parts (availability of binary releases, integration with XCode) are marked (with [Legacy] tags) to highlight that they are outdated.
The primary motivation for this change is to update the facts in the docs and make them discoverable from the RST-generated doc-tree as well (many subpages are not accessible at all, as the menu generation for the HTML-based page is not working at all).
This commit migrates all the relevant content, including parts that are
suspicious or even clearly outdated. These issues will be cleaned up in
separate follow-up commits (where the diff is not obscured by the format
change). However, a few typos are fixed and some parts (availability of
binary releases, integration with XCode) are marked (with [Legacy] tags)
to highlight that they are outdated.
The primary motivation for this change is to update the facts in the
docs and make them discoverable from the RST-generated doc-tree as well
(many subpages are not accessible **at all**, as the menu generation for
the HTML based page is not working at all).
Commit: 009082aa4b20462d46c885d5abc9320a887f1932
https://github.com/llvm/llvm-project/commit/009082aa4b20462d46c885d5abc9320a887f1932
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-04 (Thu, 04 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
[MC] Move MCAssembler::DataRegions to MachObjectWriter
and make some cleanup.
Commit: 74984dee51307779a3eab10a8cd6102be37e1081
https://github.com/llvm/llvm-project/commit/74984dee51307779a3eab10a8cd6102be37e1081
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86][CodeGen] Convert masked.load/store to CLOAD/CSTORE node only when vector size = 1
This fixes the crash when building llvm-test-suite with avx512f + cf.
Commit: c60b9307d003517ba8813eebc20d4a01fcbbda5c
https://github.com/llvm/llvm-project/commit/c60b9307d003517ba8813eebc20d4a01fcbbda5c
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
Revert "[X86][CodeGen] Convert masked.load/store to CLOAD/CSTORE node only when vector size = 1"
This reverts commit 74984dee51307779a3eab10a8cd6102be37e1081.
It caused AArch64 test sve-nontemporal-masked-ldst.ll to fail.
Commit: eb7ebd51ecfdbf541044761851dd2007368d710f
https://github.com/llvm/llvm-project/commit/eb7ebd51ecfdbf541044761851dd2007368d710f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/SourceCoverageView.cpp
M llvm/tools/llvm-cov/SourceCoverageView.h
Log Message:
-----------
[llvm-cov] Remove View member from MCDCView and BranchView (#97734)
These were never actually used, and the way they were constructed
doesn't really make sense.
Fixes https://github.com/llvm/llvm-project/issues/93798.
Commit: 8101cbff77aca47ee3c7de8e43d0546057ff2ee6
https://github.com/llvm/llvm-project/commit/8101cbff77aca47ee3c7de8e43d0546057ff2ee6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M openmp/libompd/src/TargetValue.h
Log Message:
-----------
[ompd] Fix strict aliasing violation in TargetValue::getValue() (#97739)
For the case where baseTypeSize does not match the size of T, read the
value into a separate char buffer first. This avoids accessing buf using
two different types.
Fixes https://github.com/llvm/llvm-project/issues/94616.
Commit: d6df01870a24cc707c724849b346111959413363
https://github.com/llvm/llvm-project/commit/d6df01870a24cc707c724849b346111959413363
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-07-05 (Fri, 05 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 the convergent attribute to LLVM Dialect (#97709)
In order to use the convergent attribute in the GPUToLLVMSPV pass, I've
added the attribute to the LLVM dialect.
Some details on the convergent attribute
https://llvm.org/docs/ConvergentOperations.html#convergent-operations
Commit: a14a53e11b07ea6ab9517d7811bb4e23e9874f2b
https://github.com/llvm/llvm-project/commit/a14a53e11b07ea6ab9517d7811bb4e23e9874f2b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M openmp/libompd/test/CMakeLists.txt
Log Message:
-----------
[openmp] Add ompdModule dependency to check-ompd (#97736)
ompdModule is required by the gdb plugin. Ran into this when trying to
run check-ompd without explicitly building openmp first.
Commit: 27bb2a36401b89fdce68e0e427493d645c42a218
https://github.com/llvm/llvm-project/commit/27bb2a36401b89fdce68e0e427493d645c42a218
Author: Nikhil Kalra <1368497+nikalra at users.noreply.github.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M mlir/include/mlir/Pass/PassOptions.h
M mlir/lib/Pass/PassRegistry.cpp
M mlir/test/Pass/pipeline-options-parsing.mlir
Log Message:
-----------
[mlir][Pass] Handle escaped pipline option values (#97667)
The PassRegistry parser properly handles escape tokens (', ", {}) when
parsing pass options from string but then does not strip the escape
tokens when providing the values back to the caller.
This change updates the parser such that escape tokens are properly
removed and whitespace is trimmed when extracting option values.
Commit: a48305e0f9753bc24d9db93b2b0b5a91f10e83dc
https://github.com/llvm/llvm-project/commit/a48305e0f9753bc24d9db93b2b0b5a91f10e83dc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86][CodeGen] Convert masked.load/store to CLOAD/CSTORE node only when vector size = 1
This fixes the crash when building llvm-test-suite with avx512f + cf.
Commit: daaea128bb84f8ed7b9de36aa3a51f33b775c05a
https://github.com/llvm/llvm-project/commit/daaea128bb84f8ed7b9de36aa3a51f33b775c05a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[Mem2Reg] Always allow single-store optimization for dominating stores
In #97711 the single-store optimization was disabled for the case
where the value is potentially poison, as this may produce incorrect
results for loads of uninitialized memory.
However, this resulted in compile-time regressions. Address these
by still allowing the single-store optimization to occur in cases
where the store dominates the load, as we know that such a load
will always read initialized memory.
Commit: b3fa2a691ff7d5a85bc31fb428cd58d68bfecd10
https://github.com/llvm/llvm-project/commit/b3fa2a691ff7d5a85bc31fb428cd58d68bfecd10
Author: Kelvin Lee <kiyolee at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
Log Message:
-----------
[lldb][FreeBSD] Fix NativeRegisterContextFreeBSD_x86_64() declaration (#97796)
Supposingly this is a typo.
Commit: e4b28420f677207cbb81683396d1aba00fb9ab80
https://github.com/llvm/llvm-project/commit/e4b28420f677207cbb81683396d1aba00fb9ab80
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll
Log Message:
-----------
[SelectionDAG] Handle VSCALE in isKnownNeverZero (#97789)
VSCALE is by definition greater than zero, but this checks it via
getVScaleRange anyway.
The motivation for this is to be able to check if the EVL for a VP
strided load is non-zero in #97394.
I added the tests to the RISC-V backend since the existing X86
known-never-zero.ll test crashed when trying to lower vscale for the
+sse2 RUN line.
Commit: b546096d943fcf9e1166e6b4315e85a2aa6e76b6
https://github.com/llvm/llvm-project/commit/b546096d943fcf9e1166e6b4315e85a2aa6e76b6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
Log Message:
-----------
[VectorCombine] foldShuffleToIdentity - handle bitcasts with equal element counts (#97731)
Basic initial patch for #96884 that just handles case where we bitcast between float/integers of the same element width
Commit: 99d6c6d936573d209f29c3cc6749eaf59912bd2a
https://github.com/llvm/llvm-project/commit/99d6c6d936573d209f29c3cc6749eaf59912bd2a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
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/VPlanVerifier.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/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.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/fix-reduction-dbg.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.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/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Model branch cond to enter scalar epilogue in VPlan. (#92651)
This patch moves branch condition creation to enter the scalar epilogue
loop to VPlan. Modeling the branch in the middle block also requires
modeling the successor blocks. This is done using the recently
introduced VPIRBasicBlock.
Note that the middle.block is still created as part of the skeleton and
then patched in during VPlan execution. Unfortunately the skeleton needs
to create the middle.block early on, as it is also used for induction
resume value creation and is also needed to properly update the
dominator tree during skeleton creation.
After this patch lands, I plan to move induction resume value and phi
node creation in the scalar preheader to VPlan. Once that is done, we
should be able to create the middle.block in VPlan directly.
This is a re-worked version based on the earlier
https://reviews.llvm.org/D150398 and the main change is the use of
VPIRBasicBlock.
Depends on https://github.com/llvm/llvm-project/pull/92525
PR: https://github.com/llvm/llvm-project/pull/92651
Commit: 2d0c4c363b4b39014b469c30234cf06894e06d6a
https://github.com/llvm/llvm-project/commit/2d0c4c363b4b39014b469c30234cf06894e06d6a
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Remove unused OpWithBodyGenInfo attributes (#97572)
This patch removes the `outerCombined`, `reductionSymbols` and
`reductionTypes` attributes from the `OpWithBodyGenInfo` structure and
their uses, as they never impact the lowering process or its output.
The `outerCombined` variable is always set to `false`, so in practice it
doesn't represent what its name indicates. Furthermore, initializing it
correctly can result in privatization not being performed in cases where
it should (at least tests doing this together with composite construct
support pointed me in that direction). It seems to be tied to the early
privatization approach, where a redundant alloca could possibly be
avoided in certain cases. With the transition to delayed privatization,
it seems like it won't serve that purpose anymore, since the decision of
what and where privatization-related allocations are inserted will be
postponed to the MLIR to LLVM IR translation stage. Since this feature
is already currently not being used, its potential benefit appears to be
minor and it won't make sense to do once the delayed privatization
approach is rolled out, I propose removing it.
The `reductionSymbols` and `reductionTypes` variables are set in certain
cases but never used. Unless there's a plan where these will be needed,
in which case it would be a better alternative to document it, I believe
we should also remove them.
Commit: 5aacf93a8968b1ae83382ed0ce6de8279b0cd753
https://github.com/llvm/llvm-project/commit/5aacf93a8968b1ae83382ed0ce6de8279b0cd753
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libcxx/include/cmath
M libcxx/include/complex
M libcxx/src/CMakeLists.txt
A libcxx/src/support/win32/compiler_rt_shims.cpp
M libcxx/test/std/numerics/complex.number/complex.member.ops/divide_equal_complex.pass.cpp
M libcxx/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
M libcxx/test/std/numerics/complex.number/complex.ops/complex_times_complex.pass.cpp
M libcxx/test/std/numerics/complex.number/complex.ops/scalar_divide_complex.pass.cpp
A libcxx/test/support/floating_pointer_helpers.h
Log Message:
-----------
[libc++] Use _Complex for multiplication and division of complex floating point types (#83575)
This significantly simplifies the implementation and improves the
codegen. The only downside is that the accuracy can be marginally worse,
but that is up to the compiler to decide with this change, which means
it can be controlled by compiler flags.
Differential Revision: https://reviews.llvm.org/D155312
Commit: fbd736062e043d34cddd6031b4ee93954d4bf199
https://github.com/llvm/llvm-project/commit/fbd736062e043d34cddd6031b4ee93954d4bf199
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
Log Message:
-----------
[clang][Interp] Short-cirtuit Move/Copy constructors if we can
Commit: 928fde3f43f835c217e5d04dc469942fae7473a9
https://github.com/llvm/llvm-project/commit/928fde3f43f835c217e5d04dc469942fae7473a9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/is_fpclass-fp80.ll
Log Message:
-----------
[X86] is_fpclass-fp80.ll - regenerate with standard X86/X64 prefixes
Add nounwind to reduce cfi noise
Commit: 3d2961b17f1927c0cd116f0857f42c3669cfa9e7
https://github.com/llvm/llvm-project/commit/3d2961b17f1927c0cd116f0857f42c3669cfa9e7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/zero-remat.ll
Log Message:
-----------
[X86] zero-remat.ll - regenerate with standard X86/X64 prefixes
Commit: 03000f09c1c01f85d62b9d27cd269566ccea1dec
https://github.com/llvm/llvm-project/commit/03000f09c1c01f85d62b9d27cd269566ccea1dec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll
Log Message:
-----------
[X86] fp-strict-scalar-cmp-fp16.ll - regenerate with standard X86/X64 prefixes
Commit: 0fbb3201c8c4dfdf5c9c2f5cf15449d1c4355f8d
https://github.com/llvm/llvm-project/commit/0fbb3201c8c4dfdf5c9c2f5cf15449d1c4355f8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/csr-split.ll
Log Message:
-----------
[X86] csr-split.ll - regenerate with standard X86/X64 prefixes
Commit: 720b958953d1dd34c8e3a52588ab26c52edfc2a6
https://github.com/llvm/llvm-project/commit/720b958953d1dd34c8e3a52588ab26c52edfc2a6
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Share DataSharingProcessor creation logic for all loop directives (#97565)
This patch moves the logic associated with the creation of a
`DataSharingProcessor` instance for loop-associated OpenMP leaf
constructs to the `genOMPDispatch` function, avoiding code duplication
for standalone and composite loop constructs.
This also prevents privatization-related allocations to be later made
inside of loop wrappers when support for composite constructs is
implemented.
Commit: 6fbd26b147ab93da4d0689ea2f6ff73cc9859cb8
https://github.com/llvm/llvm-project/commit/6fbd26b147ab93da4d0689ea2f6ff73cc9859cb8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
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.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp] Add QualType parameter to Pointer::toRValue
This fixes the crash from #97302, but exposes an underlying problem.
Commit: cc53b953acebfe47504bfd1af1f71b5906a974bf
https://github.com/llvm/llvm-project/commit/cc53b953acebfe47504bfd1af1f71b5906a974bf
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr-bti.mir
M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr.mir
Log Message:
-----------
[AArch64] When hardening against SLS, only create called thunks (#97472)
In preparation for implementing hardening of BLRA* instructions,
restrict thunk function generation to only the thunks being actually
called from any function. As described in the existing comments,
emitting all possible thunks for BLRAA and BLRAB instructions would mean
adding about 1800 functions in total, most of which are likely not to be
called.
This commit merges AArch64SLSHardening class into SLSBLRThunkInserter,
so thunks can be created as needed while rewriting a machine function.
The usages of TII, TRI and ST fields of AArch64SLSHardening class are
replaced with requesting them in-place, as ThunkInserter assumes
multiple "entry points" in contrast to the only runOnMachineFunction
method of AArch64SLSHardening.
The runOnMachineFunction method essentially replaces pre-existing
insertThunks implementation as there is no more need to insert all
possible thunks unconditionally. Instead, thunks are created on first
use from inside of insertThunks method.
Commit: f926e19aa9c0bdca3f05322e1b62562a9a3a05e2
https://github.com/llvm/llvm-project/commit/f926e19aa9c0bdca3f05322e1b62562a9a3a05e2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
Reapply "[clang][Interp] Fix init chain in local initializers"
This reverts commit 2dda8a2650927e4b0fbb459507684455e196d9a9.
Commit: 8ec9840610262b62a7dbb7dcf7056f4b97fd5ca9
https://github.com/llvm/llvm-project/commit/8ec9840610262b62a7dbb7dcf7056f4b97fd5ca9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
Log Message:
-----------
[CodeGen] Add dump() to MachineTraceMetrics.h
To enhance debugging.
Reviewers: arsenm, goldsteinn, RKSimon, dtcxzyw, asi-sc
Reviewed By: dtcxzyw, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/97799
Commit: eedc2c8cb25130b7177170a82288dec8cb83e301
https://github.com/llvm/llvm-project/commit/eedc2c8cb25130b7177170a82288dec8cb83e301
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove now obsolete DT updates of scalar exit block.
Remove manual DT updates of scalar exit blocks during legacy skeleton
creation, as they are not needed after 99d6c6d9365.
This fixes DT verification failures with expensive checks, including
https://lab.llvm.org/buildbot/#/builders/16/builds/1270.
Commit: b52c512ff033e2876f1f4b5a4da8c27a9f1bbd87
https://github.com/llvm/llvm-project/commit/b52c512ff033e2876f1f4b5a4da8c27a9f1bbd87
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Remove OpenMPDialectFoldInterface (#97577)
The `OpenMPDialectFoldInterface` was originally introduced to prevent
constants from being hoisted out of `omp.target` regions. This hasn't
been necessary since the `IsolatedFromAbove` trait was added to that
operation, so it's safe to remove this interface.
Commit: 5d7911095931d4894e63fa3379a598384f2eb029
https://github.com/llvm/llvm-project/commit/5d7911095931d4894e63fa3379a598384f2eb029
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
A llvm/test/Transforms/PhaseOrdering/X86/merge-functions2.ll
A llvm/test/Transforms/PhaseOrdering/X86/merge-functions3.ll
Log Message:
-----------
[Pipelines] Perform mergefunc after constmerge (#92498)
Constmerge can fold switch jump tables, possibly making functions
identical again. It can help mergefunc.
On the other hand, the opposite seems unlikely.
Fixes https://github.com/llvm/llvm-project/issues/92201.
Commit: 2f0700a84311d1a8b0fc12499fe9480ccbd188e9
https://github.com/llvm/llvm-project/commit/2f0700a84311d1a8b0fc12499fe9480ccbd188e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
Log Message:
-----------
[clang][Interp] Add a missing template keyword
This broke a buildbot:
https://lab.llvm.org/buildbot/#/builders/190/builds/1326
Commit: 959ff45bdad1777598c89b662fc98653a19eb8a3
https://github.com/llvm/llvm-project/commit/959ff45bdad1777598c89b662fc98653a19eb8a3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/SystemZ/zero_unroll.ll
Log Message:
-----------
[LV] Regenerate test checks for zero_unroll.ll (NFC).
Regenerate test checks to better show impact of
https://github.com/llvm/llvm-project/pull/96622.
Commit: d6e5b1421e368161f6e4c6db577fcc68d5c8f3a2
https://github.com/llvm/llvm-project/commit/d6e5b1421e368161f6e4c6db577fcc68d5c8f3a2
Author: Nabeel Omer <nabeel.omer at sony.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[NFC][opt] Improve help message (#97805)
This patch changes all single quotes in the help text to double quotes
for the sake of cross platform correctness.
The single quotes previously used in the help message are correct for
bash and most other shells but aren't correct for the Windows command
prompt as it only interprets double quotes in the manner intended in the
help message.
This patch was prompted by the fact that if you aren't aware of the
aformentioned quirk the single quotes result in very confusing error
messages from the command prompt.
Commit: 00c622e596f918d9d83674b58097c8982ae1af95
https://github.com/llvm/llvm-project/commit/00c622e596f918d9d83674b58097c8982ae1af95
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp][Test] Add test for #97302
Fixes #97302
Commit: db7db687a6b72f79ecd165603e805c4292ddfd6d
https://github.com/llvm/llvm-project/commit/db7db687a6b72f79ecd165603e805c4292ddfd6d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/is_array.h
Log Message:
-----------
[libc++] Use __is_array if the builtin is fixed (#93037)
Commit: ccc0b66d6971b64175b4e99c6d5baaa2830c4208
https://github.com/llvm/llvm-project/commit/ccc0b66d6971b64175b4e99c6d5baaa2830c4208
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[clang] Avoid 'raw_string_ostream::str' (NFC)
Since `raw_string_ostream` doesn't own the string buffer, it is
desirable (in terms of memory safety) for users to directly reference
the string buffer rather than use `raw_string_ostream::str()`.
Work towards TODO item to remove `raw_string_ostream::str()`.
p.s. also remove some unneeded/dead code.
Commit: e2cee2c1e6ee87f3e1ca8197d822919e24494a22
https://github.com/llvm/llvm-project/commit/e2cee2c1e6ee87f3e1ca8197d822919e24494a22
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/test-indirect-branch.s
Log Message:
-----------
[BOLT][AArch64] Fixes assertion errors occurred when perf2bolt was executed (#83394)
BOLT only checks for the most common indirect branch pattern during the
branch analyzation.
Extended the logic with two other indirect patterns which slightly
differ from the expected one.
Those patterns may be hit when statically linking libc (pattern 2
requires 'lld' linker).
As a workaround mark them as UNKNOWN branch for now.
Fixes: #83114
Commit: f54279668f5687cfc03b0a61226055d9826e3093
https://github.com/llvm/llvm-project/commit/f54279668f5687cfc03b0a61226055d9826e3093
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M lld/ELF/InputSection.h
M lld/ELF/Symbols.h
Log Message:
-----------
[lld][ELF] Annotate Bitfields with Preferred Types (#97737)
Commit: 7102eae4c0640492e1fcea3da7f22f4e75a4f062
https://github.com/llvm/llvm-project/commit/7102eae4c0640492e1fcea3da7f22f4e75a4f062
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
Log Message:
-----------
[lld][ELF] Annotate Bitfields with Preferred Types (#97737)
Commit: d4216b5d0b111879f153c53caecf8ea011296cec
https://github.com/llvm/llvm-project/commit/d4216b5d0b111879f153c53caecf8ea011296cec
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGGPUBuiltin.cpp
M clang/test/CodeGenHIP/printf-builtin.hip
M clang/test/CodeGenHIP/printf.cpp
M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
Log Message:
-----------
[clang][CodeGen][AMDGPU] Enable AMDGPU `printf` for `spirv64-amd-amdhsa` (#97132)
This enables the AMDGPU specific implementation of `printf` when
compiling for AMDGCN flavoured SPIR-V, the consequence being that the
expansion into ROCDL calls & friends gets expanded before "lowering" to
SPIR-V and gets carried through. The only relatively "novel" aspect is
that the `callAppendStringN` is simplified to take the type of the
passed in arguments, as opposed to querying them from the module. This
is a neutral change since the arguments were passed directly to the
call, without any attempt to cast them, hence the assumption that the
actual types match the formal ones was already baked in.
Commit: 9f2215ae5517a3d6e1d59e597bff83b821b96c7e
https://github.com/llvm/llvm-project/commit/9f2215ae5517a3d6e1d59e597bff83b821b96c7e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libc/src/math/generic/erff.cpp
Log Message:
-----------
[libc][math] Fix signed zeros for erff. (#97742)
The inexact exception flag was raised for the exact cases of signed
zeros. This was reported by Paul Zimmermann using the CORE-MATH test
suites.
Commit: ac76ce2693b25bc3c643360acc18ebc01d22c072
https://github.com/llvm/llvm-project/commit/ac76ce2693b25bc3c643360acc18ebc01d22c072
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libc/docs/math/index.rst
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
Log Message:
-----------
[libc][math][c23] Classify f16fma{,f,l} as LLVM libc extensions (#97728)
Commit: 18b575d4aac603b6acd3fa0d639fbc79cd4f0ac3
https://github.com/llvm/llvm-project/commit/18b575d4aac603b6acd3fa0d639fbc79cd4f0ac3
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libcxxabi/src/CMakeLists.txt
Log Message:
-----------
[libc++abi] Fixing up LIBCXXABI_ADDITIONAL_COMPILE_FLAGS (#97608)
This is the continuation of #96112 which implements proposal from Louis.
Using PRIVATE option on target_compile_options() fixes the issue of
propagating the option into lib++.
Commit: 2bc474b7e6d064d48610594fa5663582126900c4
https://github.com/llvm/llvm-project/commit/2bc474b7e6d064d48610594fa5663582126900c4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
Log Message:
-----------
[InstCombine][X86] Pull out repeated uses of PatternMatch namespace. NFC.
Followup requested on #96882
Commit: ae0d2244a23567c8d9863e63b338d34c31416a7b
https://github.com/llvm/llvm-project/commit/ae0d2244a23567c8d9863e63b338d34c31416a7b
Author: Nick Zavaritsky <mejedi at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/include/clang/AST/ASTConsumer.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGen/bpf-debug-info-extern-func.c
A clang/test/CodeGen/bpf-debug-info-unref.c
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
A llvm/test/CodeGen/BPF/BTF/extern-var-func2.ll
Log Message:
-----------
[BPF] Fix linking issues in static map initializers (#91310)
When BPF object files are linked with bpftool, every symbol must be
accompanied by BTF info. Ensure that extern functions referenced by
global variable initializers are included in BTF.
The primary motivation is "static" initialization of PROG maps:
```c
extern int elsewhere(struct xdp_md *);
struct {
__uint(type, BPF_MAP_TYPE_PROG_ARRAY);
__uint(max_entries, 1);
__type(key, int);
__type(value, int);
__array(values, int (struct xdp_md *));
} prog_map SEC(".maps") = { .values = { elsewhere } };
```
BPF backend needs debug info to produce BTF. Debug info is not
normally generated for external variables and functions. Previously, it
was solved differently for variables (collecting variable declarations
in ExternalDeclarations vector) and functions (logic invoked during
codegen in CGExpr.cpp).
This patch generalises ExternalDefclarations to include both function
and variable declarations. This change ensures that function references
are not missed no matter the context. Previously external functions
referenced in constant expressions lacked debug info.
Commit: b0b3c1accd9b75fca149432128b1651261509b64
https://github.com/llvm/llvm-project/commit/b0b3c1accd9b75fca149432128b1651261509b64
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 5aacf93a8968
Commit: d177a94fbdc12c82e06dc1c2dc7500c3ce399291
https://github.com/llvm/llvm-project/commit/d177a94fbdc12c82e06dc1c2dc7500c3ce399291
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/IR/Constant.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Constants.cpp
Log Message:
-----------
[IR] Add Constant::toConstantRange() (NFC)
The logic in llvm::getVectorConstantRange() can be a bit
inconvenient to use in some cases because of the need to handle
the scalar case separately. Generalize it to handle all constants,
and move it to live directly on Constant.
Commit: 4339d2edf6cbf4f7ddee3100980495ebcb8f64a5
https://github.com/llvm/llvm-project/commit/4339d2edf6cbf4f7ddee3100980495ebcb8f64a5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[CVP] Add missing CHECK lines in test (NFC)
Commit: f92bfca9fc217cad9026598ef6755e711c0be070
https://github.com/llvm/llvm-project/commit/f92bfca9fc217cad9026598ef6755e711c0be070
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/shr-exact-demanded-bits.ll
Log Message:
-----------
[AArch64] All bits of an exact right shift are demanded (#97448)
When building a vector which contains zero elements, the AArch64 ISel
replaces those elements with `undef`, if they are right shifted out.
However, these elements need to stay zero if the right shift is exact,
or otherwise we will be introducing undefined behavior.
Should allow https://github.com/llvm/llvm-project/pull/92528 to be
recommitted.
Commit: 130f0f526dc28ebbe23e5956857e85f7c9b754f5
https://github.com/llvm/llvm-project/commit/130f0f526dc28ebbe23e5956857e85f7c9b754f5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[LVI][CVP] Add support for vector comparisons
Commit: 3bb25636414ee5b5eaf99c0bdcc191052c9d7ffb
https://github.com/llvm/llvm-project/commit/3bb25636414ee5b5eaf99c0bdcc191052c9d7ffb
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Fix crash in `vector.insert` canonicalization (#97801)
The `InsertOpConstantFolder` assumed that whenever the destination can
be folded to a constant attribute, that attribute must be a
`DenseElementsAttr`. That is is not necessarily the case.
Commit: 9315645834ea81cf9550364a4950f289e9706a26
https://github.com/llvm/llvm-project/commit/9315645834ea81cf9550364a4950f289e9706a26
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/PythonTestCAPI.cpp
M mlir/test/python/lib/PythonTestCAPI.h
M mlir/test/python/lib/PythonTestDialect.h
M mlir/test/python/lib/PythonTestModule.cpp
M mlir/test/python/python_test_ops.td
Log Message:
-----------
[mlir][python] auto attribute casting (#97786)
Commit: 344930316f4c901673461dcf44ad57ae6ade1015
https://github.com/llvm/llvm-project/commit/344930316f4c901673461dcf44ad57ae6ade1015
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopDistribute/basic.ll
M llvm/test/Transforms/LoopDistribute/bounds-expansion-bug.ll
M llvm/test/Transforms/LoopDistribute/crash-in-memcheck-generation.ll
M llvm/test/Transforms/LoopDistribute/diagnostics-with-hotness.ll
M llvm/test/Transforms/LoopDistribute/diagnostics.ll
M llvm/test/Transforms/LoopDistribute/disable_nonforced.ll
M llvm/test/Transforms/LoopDistribute/disable_nonforced_enable.ll
M llvm/test/Transforms/LoopDistribute/early-exit.ll
M llvm/test/Transforms/LoopDistribute/followup.ll
M llvm/test/Transforms/LoopDistribute/metadata.ll
M llvm/test/Transforms/LoopDistribute/no-if-convert.ll
M llvm/test/Transforms/LoopDistribute/outside-use.ll
M llvm/test/Transforms/LoopDistribute/pointer-phi-in-loop.ll
M llvm/test/Transforms/LoopDistribute/pr28443.ll
M llvm/test/Transforms/LoopDistribute/program-order.ll
M llvm/test/Transforms/LoopDistribute/scev-inserted-runtime-check.ll
M llvm/test/Transforms/LoopDistribute/symbolic-stride.ll
M llvm/test/Transforms/LoopDistribute/uncomputable-backedge-taken-count.ll
M llvm/test/Transforms/LoopDistribute/unknown-bounds-for-memchecks.ll
Log Message:
-----------
LDist/test: clean up and modernize (NFC) (#97822)
Clean up unused triple/datalayout lines, strengthen RUN lines to include
-verify-loop-info/-verify-dom-info, and regenerate tests with
UpdateTestChecks where appropriate.
Commit: 0488f210d91f50b2c6318e757c07fb598dd33693
https://github.com/llvm/llvm-project/commit/0488f210d91f50b2c6318e757c07fb598dd33693
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/X86/blend_x86.ll
Log Message:
-----------
[InstCombine][X86] Add test showing failure to peek through bitcast+shuffle+bitcast sequence to fold BLENDV to SELECT
Mentioned on #96882
Commit: 6c1c97c5b6744397063d9976bead154be38b8388
https://github.com/llvm/llvm-project/commit/6c1c97c5b6744397063d9976bead154be38b8388
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/X86/blend_x86.ll
Log Message:
-----------
[InstCombine][X86] Peek through bitcast+shuffle+bitcast sequence when folding BLENDV to SELECT
Mentioned on #96882
Commit: 3bfc5167d9e49b9a53e364e8d8853fce543cca0f
https://github.com/llvm/llvm-project/commit/3bfc5167d9e49b9a53e364e8d8853fce543cca0f
Author: walter erquinigo <walter at modular.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
Log Message:
-----------
[lldb-dap][NFC] Minor rename
As a minor follow up for https://github.com/llvm/llvm-project/pull/97675, I'm renaming `SupportsExceptionBreakpoints` to `SupportsExceptionBreakpointsOnThrow` and adding a `SupportsExceptionBreakpointsOnCatch` to have a bit of more granularity.
Commit: 44248d2d248be43c3e55d1ab6808342f63e0c70c
https://github.com/llvm/llvm-project/commit/44248d2d248be43c3e55d1ab6808342f63e0c70c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
A compiler-rt/test/profile/check-same-common-code.test
Log Message:
-----------
[PGO][compiler-rt] Add a test to ensure include files do not diverge (#97775)
Memprof has two include files that are duplicated between LLVM and
compiler-rt. They need to stay in sync to ensure correct functionality,
but the comments can be somewhat easy to miss, which causes fixups like
839ed1ba553346b0c225e9b839cf3cb716dc7412 to be needed. This patch adds a
test to ensure that the files are the same between LLVM and compiler-rt
to catch this ideally before commit, but if not, soon afterwards.
There is additionally `InstrProfData.inc` for some PGO variants that is
added to the same test here as well.
Commit: 23d1d959583c35e6eab7e3e70d4c16449b418563
https://github.com/llvm/llvm-project/commit/23d1d959583c35e6eab7e3e70d4c16449b418563
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
A compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64.h
A compiler-rt/test/builtins/TestCases/check-same-common-code.test
M compiler-rt/test/builtins/lit.cfg.py
A llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[LLVM][compiler-rt][AArch64] Refactor AArch64 CPU features (#97777)
This patch refactors the AArch64 CPUFeatures enum into a separate
include file that is identical between LLVM and compiler-rt. This, along
with a test in compiler-rt to ensure that the two stay in sync.
Commit: 0f1da49b4d854ce7c6572000da3fb6cb0a1245d2
https://github.com/llvm/llvm-project/commit/0f1da49b4d854ce7c6572000da3fb6cb0a1245d2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
Log Message:
-----------
[libc] Fix readlink tests on 32-bit systems (#97850)
Use sizeof in a string literal instead of a CString so we get the right size when creating the buf array.
We also now use strlen(FILENAME) to get the string lenght when calling readlink and readlinkat.
Commit: 788731cdbd732180639988c9589adbe63bb28afa
https://github.com/llvm/llvm-project/commit/788731cdbd732180639988c9589adbe63bb28afa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-07-05 (Fri, 05 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/SemaExprCXX.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/OpenMP/deferred-diags.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[clang] Implement P3144R2 "Deleting a Pointer to an Incomplete Type..." (#97733)
This patch implements (not yet published)
[P3144R2](https://wiki.edg.com/pub/Wg21stlouis2024/StrawPolls/p3144r2.pdf)
"Deleting a Pointer to an Incomplete Type Should be Ill-formed". Wording
changes (not yet merged into the working draft) read:
> 7.6.2.9 [expr.delete] Delete
> If the object being deleted has incomplete class type at the point of
deletion <del>and the complete class has a
non-trivial destructor or a deallocation function, the behavior is
undefined</del>, <ins>the program is ill-formed</ins>.
We preserve status quo of emitting a warning when deleting a pointer to
incomplete type up to, and including, C++23, but make it ill-formed
since C++26. Same goes for deleting pointers to `void`, which has been
allowed as an extension.
Commit: fc665436626fa265ebb8d62b9f8a4cfab9b959d0
https://github.com/llvm/llvm-project/commit/fc665436626fa265ebb8d62b9f8a4cfab9b959d0
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
Log Message:
-----------
Revert "[libc] Fix readlink tests on 32-bit systems" (#97852)
Reverts #97850 while I investigate the buildbot issue
Commit: 683c8e9913cd87e0b2a8e083298cd3ebc67923fe
https://github.com/llvm/llvm-project/commit/683c8e9913cd87e0b2a8e083298cd3ebc67923fe
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libcxx/include/complex
Log Message:
-----------
[libc++] Adds a missing include.
This should fix the clang modules with the locales disabled build in the
CI.
Commit: 1ed84a862f9ce3c60251968f23a5405f06458975
https://github.com/llvm/llvm-project/commit/1ed84a862f9ce3c60251968f23a5405f06458975
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[clang-doc] fix bug introduced by asset test (#97540)
Commit: e70f376b25ea96f3b0db75ff77ae1a58d53f2119
https://github.com/llvm/llvm-project/commit/e70f376b25ea96f3b0db75ff77ae1a58d53f2119
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
[MCParser] Simplify macro-like body expansion
Make it easy to support argument expansion in the altmacro mode.
Commit: f6ae0d302f09f62b852a29f6dbfdbb4b9c2affb7
https://github.com/llvm/llvm-project/commit/f6ae0d302f09f62b852a29f6dbfdbb4b9c2affb7
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
A llvm/test/CodeGen/X86/computenumsignbits-shl.ll
Log Message:
-----------
[CodeGen] Pre-commit test case related to ComputeNumSignBits for SHL (#97695)
Adding test cases aiming at showing possibility to look through
ZERO_EXTEND/ANY_EXTEND when computing number of sign bits for an
SHL node. If all extended bits are shifted out we can analyze the
operand that is extended.
Commit: c2fbc701aaf826e2015a5dcab36e3ba792e7da7f
https://github.com/llvm/llvm-project/commit/c2fbc701aaf826e2015a5dcab36e3ba792e7da7f
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
R llvm/test/CodeGen/X86/computenumsignbits-shl.ll
A llvm/test/CodeGen/X86/known-signbits-shl.ll
Log Message:
-----------
[SelectionDAG] Let ComputeKnownSignBits handle (shl (ext X), C) (#97695)
Add simple support for looking through ZEXT/ANYEXT/SEXT when doing
ComputeKnownSignBits for SHL. This is valid for the case when all
extended bits are shifted out, because then the number of sign bits
can be found by analysing the EXT operand.
A future improvement could be to pass along the "shifted left by"
information in the recursive calls to ComputeKnownSignBits. Allowing
us to handle this more generically.
Commit: ac03ae30cf2b6465ea8f117dfa74ba6f670f6258
https://github.com/llvm/llvm-project/commit/ac03ae30cf2b6465ea8f117dfa74ba6f670f6258
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/novect-lcssa-cfg-invalidation.ll
Log Message:
-----------
[LV] Preserve LAA in LoopVectorize (NFCI).
LoopVectorize already always preserves DT, LI and SCEV. If any changes
get made to the CFG, cached LAA info for loops are cleared.
LoopAccessAnalysis also implements ::invalidate to clear the analysis if
SE, DT or LI gets invalidated. Hence it should be safe to preserve LAA
and save a small amount of compile-time.
Commit: 812f9e81d2f75c874301a8f5df25d3de7616a9c5
https://github.com/llvm/llvm-project/commit/812f9e81d2f75c874301a8f5df25d3de7616a9c5
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/altmacro_expression.s
Log Message:
-----------
[MCParser] .altmacro: ignore & after a token
Commit: f8b1ca4992a22b4b65282c09dd6f07a1a2839070
https://github.com/llvm/llvm-project/commit/f8b1ca4992a22b4b65282c09dd6f07a1a2839070
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
A 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 \
Commit: 3a4970652902dbdac0cef66738b85e695b67338c
https://github.com/llvm/llvm-project/commit/3a4970652902dbdac0cef66738b85e695b67338c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[AArch64,test] Improve ilp32-diagnostics.s
Commit: 37bee254975baaa07511cc93ddf059722f29e6b0
https://github.com/llvm/llvm-project/commit/37bee254975baaa07511cc93ddf059722f29e6b0
Author: Shaw Young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/lib/Profile/YAMLProfileReader.cpp
Log Message:
-----------
[BOLT][NFC] Refactor function matching (#97502)
Moved function matching techniques into separate helper functions for
ease of understanding and to make space for additional function
matching techniques to be added (e.g. call graph function matching).
Commit: 4a0aff199bda8abf04a59e4c0bdcedaac7d19841
https://github.com/llvm/llvm-project/commit/4a0aff199bda8abf04a59e4c0bdcedaac7d19841
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
MCAssembler: Clean up iterator types for Symbols
Commit: 045e68f97b0e3d3df7be1d45e9ea3e105fff7b2a
https://github.com/llvm/llvm-project/commit/045e68f97b0e3d3df7be1d45e9ea3e105fff7b2a
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
Log Message:
-----------
[libc] Change the test file names used in readlink_test and readlinkat_test. (#97864)
Attempting to fix the following errors from the build bots:
```
Failed to match LIBC_NAMESPACE::symlink(LINK_VAL, LINK) against Succeeds(0).
Expected return value to be equal to 0 but got -1.
Expected errno to be equal to "Success" but got "File exists".
```
Commit: dc1da93958be0311b79dce39d71bd954c478cf19
https://github.com/llvm/llvm-project/commit/dc1da93958be0311b79dce39d71bd954c478cf19
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT][BAT] Add support for three-way split functions (#93760)
In three-way split functions, if only .warm fragment is present, BAT
incorrectly overwrites the map for .warm fragment by empty .cold
fragment.
Test Plan: updated register-fragments-bolt-symbols.s
Commit: 34855405b0a7dd6719fa3278f9b888f7f11bc4d8
https://github.com/llvm/llvm-project/commit/34855405b0a7dd6719fa3278f9b888f7f11bc4d8
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/Remarks/Remark.cpp
M llvm/tools/llvm-opt-report/OptReport.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[llvm] Avoid 'raw_string_ostream::str' (NFC)
Since `raw_string_ostream` doesn't own the string buffer, it is
desirable (in terms of memory safety) for users to directly reference
the string buffer rather than use `raw_string_ostream::str()`.
Work towards TODO item to remove `raw_string_ostream::str()`.
Commit: ceade83ad5fc529f2b2beb896eec0dd0b29fdd44
https://github.com/llvm/llvm-project/commit/ceade83ad5fc529f2b2beb896eec0dd0b29fdd44
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Skip block commented out includes when sorting them (#97787)
Fixes #97539.
Commit: b75453bc07dabe8e0dc0efb0766a4238e3df6712
https://github.com/llvm/llvm-project/commit/b75453bc07dabe8e0dc0efb0766a4238e3df6712
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCAssembler: Remove unneeded non-const iterators for Sections and misleading size()
The pointers cannot be mutated even if the dereferenced MCSection can.
Commit: 8f5b1440dbdda570d66f170f47cb971388126bf3
https://github.com/llvm/llvm-project/commit/8f5b1440dbdda570d66f170f47cb971388126bf3
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port #97777 (#97868)
Commit: 88381cecfff48536230e11901f1598332033fd45
https://github.com/llvm/llvm-project/commit/88381cecfff48536230e11901f1598332033fd45
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Hoist some common setOperationActions to a common place. NFC
We always want these actions if the type is legal. We don't need
to check the subtarget features. So hoist them to a common point.
Commit: f118c882fe2f2548b814492aa4e51ef29aa29739
https://github.com/llvm/llvm-project/commit/f118c882fe2f2548b814492aa4e51ef29aa29739
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove unnecessary setOperationAction for ISD::SELECT_CC for fixed vectors. NFC
We already looped through all builtin operations and marked them as
Expand. We don't need to do it to SELECT_CC again.
Commit: 593f708118aef792f434185547f74fedeaf51dd4
https://github.com/llvm/llvm-project/commit/593f708118aef792f434185547f74fedeaf51dd4
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Support/Windows/Process.inc
M llvm/lib/Support/Windows/Signals.inc
Log Message:
-----------
[Support] Silence function cast warning when building with Clang ToT targetting Windows
Commit: 10e1b935e5d9017067207d62ababa733df088ecd
https://github.com/llvm/llvm-project/commit/10e1b935e5d9017067207d62ababa733df088ecd
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp
Log Message:
-----------
[compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows
Commit: cf1ded3ac248ad4feeed7b4dd20c60b7e3c40339
https://github.com/llvm/llvm-project/commit/cf1ded3ac248ad4feeed7b4dd20c60b7e3c40339
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[lldb] Silence function cast warning when building with Clang ToT targetting Windows
Commit: be26e545424a6e006cd67e4433c88c25b23404ae
https://github.com/llvm/llvm-project/commit/be26e545424a6e006cd67e4433c88c25b23404ae
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[openmp] Silence warning when building the x64 Windows LLVM release package
This fixes:
```
MASM : warning A4018:invalid command-line option : -U_GLIBCXX_ASSERTIONS
```
Commit: 6337fdcc520e8f948bef23b361c75edeb32ed015
https://github.com/llvm/llvm-project/commit/6337fdcc520e8f948bef23b361c75edeb32ed015
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
Log Message:
-----------
[RISCV] Use EXTLOAD in lowerVECTOR_SHUFFLE. (#97862)
We're creating a load and a splat. The splat doesn't use the extended
bits so it doesn't matter what extend we use.
Commit: 0b9f2847da79298ed09c29493245113f02b32d9f
https://github.com/llvm/llvm-project/commit/0b9f2847da79298ed09c29493245113f02b32d9f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
Log Message:
-----------
[RISCV] Remove unused check-prefixes. NFC
Commit: a348824798e03c1ffd10e6a1c5340130b0f48bf9
https://github.com/llvm/llvm-project/commit/a348824798e03c1ffd10e6a1c5340130b0f48bf9
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
Log Message:
-----------
[RISCV] Allow folding vmerge with implicit passthru when true has tied dest (#78565)
We currently don't fold a vmerge if it has an implicit-def passthru and
its true operand also has a passthru (i.e. tied dest).
This restriction was added in https://reviews.llvm.org/D151596, back
whenever we had separate TU/TA pseudos. It looks like it was added
because the policy might not have been handled correctly.
However the policy should be set correctly if we relax this restriction
today, since we compute the policy differently now that we have removed
the TU/TA distinction in our pseudos.
We use a TUMU policy, and relax it to TAMU iff the vmerge's passthru is
implicit-def.
The reasoning behind this being that the tail elements always come from
the vmerge's passthru[^1], so if vmerge's passthru is implicit-def then
the tail is also implicit-def. So a tail agnostic policy is OK.
[^1]: unless the VL was shrunk, but in this case which case we
conservatively use TUMU.
Commit: ccf357ff643c6af86bb459eba5a00f40f1dcaf22
https://github.com/llvm/llvm-project/commit/ccf357ff643c6af86bb459eba5a00f40f1dcaf22
Author: Izaak Schroeder <izaak.schroeder at gmail.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/dlfcn.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/dlfcn-macros.h
Log Message:
-----------
[libc] Add `dlfcn.h` headers (#97772)
Commit: 9cb9a97e44130e17e96f994c3e594aba69ea1ad5
https://github.com/llvm/llvm-project/commit/9cb9a97e44130e17e96f994c3e594aba69ea1ad5
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M runtimes/CMakeLists.txt
Log Message:
-----------
[CMake] Use Clang to infer the target triple (#89425)
When using Clang as a compiler, use Clang to normalize the triple that's
used to construct path for runtime library build and install paths. This
ensures that paths are consistent and avoids the issue where the build
uses a different triple spelling.
Differential Revision: https://reviews.llvm.org/D140925
Commit: acd7a688fcd26ce4d72cecbddeddef788482e17e
https://github.com/llvm/llvm-project/commit/acd7a688fcd26ce4d72cecbddeddef788482e17e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/tools/bugpoint/BugDriver.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#97778)
Commit: 874ca08645420413e525054a47caf039bebde28b
https://github.com/llvm/llvm-project/commit/874ca08645420413e525054a47caf039bebde28b
Author: Zhikai Zeng <backlight.zzk at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/eval-crashes.cpp
Log Message:
-----------
[Clang][ExprConstant] fix constant expression did not evaluate to integer (#97146)
fixes https://github.com/llvm/llvm-project/issues/96670
The cause is that we might return a lvalue here at
https://github.com/llvm/llvm-project/blob/3e53c97d33210db68188e731e93ee48dbaeeae32/clang/lib/AST/ExprConstant.cpp#L15861-L15865
This PR will make sure we return a rvalue in `FastEvaluateAsRValue`.
Commit: ac9d34a2eed4c4d58edf25b92e397faa76170d00
https://github.com/llvm/llvm-project/commit/ac9d34a2eed4c4d58edf25b92e397faa76170d00
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[clang-doc] revert asset bug fix (#97882)
reverts https://github.com/llvm/llvm-project/pull/97540
which broke clangs standalone build
Commit: 5aa8ef8e9b05b714550eedbced34f67f225dbe6f
https://github.com/llvm/llvm-project/commit/5aa8ef8e9b05b714550eedbced34f67f225dbe6f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-06 (Sat, 06 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++][test] Updates sized deallocation tests. (#97833)
In #90373 size deallocation was enabled by default. Some test were
disabled to propagate the clang changes to the libc++ CI. These changes
have been propagated so the test filter can be updated.
Commit: 126f81dd5a804636e4b66146d2d039099d9d5889
https://github.com/llvm/llvm-project/commit/126f81dd5a804636e4b66146d2d039099d9d5889
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libcxx/src/tzdb.cpp
Log Message:
-----------
[NFC][libc++] removes std:: qualification,
Elements in nested namespaces in the std namespace do not use fully
qualified names in libc++. This adjusts a few cases found.
Commit: 55b95a7a75ec4568d6ee7a3199090e830619c68e
https://github.com/llvm/llvm-project/commit/55b95a7a75ec4568d6ee7a3199090e830619c68e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/include/mlir/Transforms/DialectConversion.h
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Reland docs improvement (#97886)
#96207 was reverted but the improvements to the documentation of the
dialect conversion are still useful.
Commit: 88b26293a24bdd85fce2b2f7191cc0a5bc0cecfe
https://github.com/llvm/llvm-project/commit/88b26293a24bdd85fce2b2f7191cc0a5bc0cecfe
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
A llvm/test/CodeGen/AArch64/speculation-hardening-sls-blra.mir
Log Message:
-----------
[AArch64][PAC] Support BLRA* instructions in SLS Hardening pass (#97605)
Make SLS Hardening pass handle BLRA* instructions the same way it
handles BLR. The thunk names have the form
__llvm_slsblr_thunk_xN for BLR thunks
__llvm_slsblr_thunk_(aaz|abz)_xN for BLRAAZ and BLRABZ thunks
__llvm_slsblr_thunk_(aa|ab)_xN_xM for BLRAA and BLRAB thunks
Now there are about 1800 possible thunk names, so do not rely on linear
thunk function's name lookup and parse the name instead.
Commit: f90bac99e19d4243ac52cf6e18aa374f9a8754cb
https://github.com/llvm/llvm-project/commit/f90bac99e19d4243ac52cf6e18aa374f9a8754cb
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
R llvm/test/CodeGen/AArch64/speculation-hardening-sls-blra.mir
Log Message:
-----------
Revert "[AArch64][PAC] Support BLRA* instructions in SLS Hardening pass" (#97887)
This reverts commit 88b26293a24bdd85fce2b2f7191cc0a5bc0cecfe due to
failures of
CodeGen/AArch64/speculation-hardening-sls-blra.mir
Commit: be3a8b8d94608746b22cb0cf3fc03af33b7d8648
https://github.com/llvm/llvm-project/commit/be3a8b8d94608746b22cb0cf3fc03af33b7d8648
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
Log Message:
-----------
[clang] Add C++26 diagnostics to compatibility diagnosic groups (#97806)
This patch adds `CXXPre26Compat` and `CXXPre26CompatPedantic` groups
(which are concerned with new features not available in older language
modes) to `CXX98Compat`, etc. This way, if user has `-Wc++20-compat` and
they use pack indexing, they will be warned.
Ideally this should have been done when C++26 groups were created, but
we shipped two releases of Clang since then.
Commit: 4a9aef683df895934c26591404692d41a687b005
https://github.com/llvm/llvm-project/commit/4a9aef683df895934c26591404692d41a687b005
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/lib/Support/DynamicAPInt.cpp
Log Message:
-----------
DynamicAPInt: optimize size of structure (#97831)
Reuse the APInt::BitWidth to eliminate DynamicAPInt::HoldsLarge, cutting
the size of DynamicAPInt by four bytes. This is implemented by making
DynamicAPInt a friend of SlowDynamicAPInt and APInt, so it can directly
access SlowDynamicAPInt::Val and APInt::BitWidth.
We get a speedup of 4% with this patch.
Commit: de88b2cb16af4bba659d0bb2ddf10bda681ec84d
https://github.com/llvm/llvm-project/commit/de88b2cb16af4bba659d0bb2ddf10bda681ec84d
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[Clang] Simplify release notes and remove irrelevant comment (#96407)
As discussed before with @cor3ntin before
(https://github.com/llvm/llvm-project/pull/94752) here is the
simplification of the release note written for the previously mentioned
PR and the removal of a comment that is no longer useful.
(Sorry for creating this PR this late.)
Co-authored-by: Gabor Spaits <Gabor.Spaits at hightec-rt.com>
Commit: f8834ed24bf11d19c96c49d42e77d4408af91fd8
https://github.com/llvm/llvm-project/commit/f8834ed24bf11d19c96c49d42e77d4408af91fd8
Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/src/math/CMakeLists.txt
A libc/src/math/cospif.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cospif.cpp
M libc/src/math/generic/sinpif.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cospif_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/cospif_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cospif_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc][C23][math] Implement cospif function correctly rounded for all rounding modes (#97464)
I also fixed a comment in sinpif.cpp in the first commit. Should this be
included in this PR?
All tests were passed, including the exhaustive test.
CC: @lntue
Commit: 9374f83a73e53633da3258090f5c9a1f0d055526
https://github.com/llvm/llvm-project/commit/9374f83a73e53633da3258090f5c9a1f0d055526
Author: Justin Holewinski <jholewinski at nvidia.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
Outline X86 autoupgrade patterns (#97851)
Outlining these patterns has a significant impact on the overall stack
frame size of llvm::UpgradeIntrinsicCall. This is helpful for scenarios
where compilation threads are stack-constrained. The overall impact is
low when using clang as the host compiler, but very pronounced when
using MSVC 2022 with release builds.
Clang: 1,624 -> 824 bytes
MSVC: 23,560 -> 6,120 bytes
Commit: 2da0055924161d63f4ecb88371ba6ccb4552f13d
https://github.com/llvm/llvm-project/commit/2da0055924161d63f4ecb88371ba6ccb4552f13d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++][NFC] Merge identical char_traits functions into a base class (#97700)
Commit: d64efe42eb98af76ba4ba26f48d079713f513af9
https://github.com/llvm/llvm-project/commit/d64efe42eb98af76ba4ba26f48d079713f513af9
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/Writer.cpp
M lld/test/MachO/init-offsets.s
A lld/test/MachO/invalid/init-offsets.s
Log Message:
-----------
[lld-macho] Remove symbols to `__mod_init_func` with `-init_offsets` (#97156)
When `-fixup_chains`/`-init_offsets` is used, a different section,
`__init_offsets` is synthesized from `__mod_init_func`. If there are any
symbols defined inside `__mod_init_func`, they are added to the symbol
table unconditionally while processing the input files. Later, when
querying these symbols' addresses (when constructing the symtab or
exports trie), we crash with a null deref, as there is no output section
assigned to them.
Just making the symbols point to `__init_offsets` is a bad idea, as the
new section stores 32-bit integers instead of 64-bit pointers; accessing
the symbols would not do what the programmer intended. We should
entirely omit them from the output. This is what ld64 and ld-prime do.
This patch uses the same mechanism as dead-stripping to mark these
symbols as not needed in the output. There might be nicer fixes than the
workaround, this is discussed in #97155.
Fixes https://github.com/llvm/llvm-project/pull/79894#issuecomment-1944092892
Fixes #94716
Commit: e55585fd7bddf5bb3824a53cbe2971206d3c20c6
https://github.com/llvm/llvm-project/commit/e55585fd7bddf5bb3824a53cbe2971206d3c20c6
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Fix typo in cxx_status.html
Commit: 9e9404387d3b787305dc8bf21b0e20c477b6ff39
https://github.com/llvm/llvm-project/commit/9e9404387d3b787305dc8bf21b0e20c477b6ff39
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libcxx/docs/index.rst
M libcxx/include/__configuration/compiler.h
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/algorithms/robust_against_adl.compile.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxxabi/test/catch_member_function_pointer_02.pass.cpp
Log Message:
-----------
[libc++] Remove annotations for GCC 13 and update the documentation (#97744)
GCC 14 has been released a while ago. We've updated the CI to use GCC 14
now. This removes any old annotations in the tests and updates the
documentation to reflect the updated version requirements.
Commit: 048815c22ae779b1f2a0289b7b28ed8cf54af676
https://github.com/llvm/llvm-project/commit/048815c22ae779b1f2a0289b7b28ed8cf54af676
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
Revert "[lldb] Silence function cast warning when building with Clang ToT targetting Windows"
This reverts commit cf1ded3ac248ad4feeed7b4dd20c60b7e3c40339.
Commit: b4b17d97637bb70976405b7cd4194ee89a60b763
https://github.com/llvm/llvm-project/commit/b4b17d97637bb70976405b7cd4194ee89a60b763
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp
Log Message:
-----------
Revert "[compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows"
This reverts commit 10e1b935e5d9017067207d62ababa733df088ecd.
Commit: 57b76b4210728a11a5a0c5ed869a251d5ad9742d
https://github.com/llvm/llvm-project/commit/57b76b4210728a11a5a0c5ed869a251d5ad9742d
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/lib/Support/Windows/Process.inc
M llvm/lib/Support/Windows/Signals.inc
Log Message:
-----------
Revert "[Support] Silence function cast warning when building with Clang ToT targetting Windows"
This reverts commit 593f708118aef792f434185547f74fedeaf51dd4.
Commit: 6e4bb60adef6abd34516f9121930eaa84e41e04a
https://github.com/llvm/llvm-project/commit/6e4bb60adef6abd34516f9121930eaa84e41e04a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Assume newer LLVM versions for not-yet-released macOS versions
This makes the test suite forward-compatible with future versions of macOS.
Previously, the Lit features were built in a way that they would assume
that any newer macOS version doesn't contain any version of LLVM, which
doesn't make sense.
Commit: 8426b51e0e942b27af8a50b9cee53c1b68d139c2
https://github.com/llvm/llvm-project/commit/8426b51e0e942b27af8a50b9cee53c1b68d139c2
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp
Log Message:
-----------
[libcxx][test][NFC] Fix std::pair convertible tests in light of CWG2137 (#97403)
https://cplusplus.github.io/CWG/issues/2137.html
This change was previously made as part of
924701311aa79180e86ad8ce43d253f27d25ec7d (#77768) and later reverted in
6e4930c67508a90bdfd756f6e45417b5253cd741
This change is still needed because the comment is still true: A
standards-conformant compiler is currently supposed to fail this test.
This also means that any future work on CWG2137 with Clang would not
need to modify the libc++ test suite
Commit: 5028dea65266ab8b7f8f9ebd5d5e01faacebc645
https://github.com/llvm/llvm-project/commit/5028dea65266ab8b7f8f9ebd5d5e01faacebc645
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Only invalidate loops that require runtime checks (NFCI).
LAA doesn't keep references to IR outside the loop or references to
SCEVs that may be invalidated, unless runtime checks are needed (either
memory or SCEV predicates). For the current LAA users, it should be
sufficient to invalidate entries for loops that require runtime checks,
thus avoiding analyzing loops again unnecessarily.
This helps reduce compile-time, in particular when removing the
restrictions added in 234cc40adc6.
https://llvm-compile-time-tracker.com/compare.php?from=73894dba2cdbcc00678d0c13a6b61765675f60b4&to=05c6bdc41b5f63696ebeb7116325725fa94f66d6&stat=instructions:u
Commit: 9abb574f9a68b1c0c32f49745f9dad8e1a7db1f9
https://github.com/llvm/llvm-project/commit/9abb574f9a68b1c0c32f49745f9dad8e1a7db1f9
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCDwarf.h
Log Message:
-----------
[MC] Make MCCFIInstruction smaller
by placing `Operation` next to a 4-byte member.
Refactor the union representation so that it is easy to add a pointer
member for .cfi_label support without increasing the total size. There
are two primary forms (RI and RR) and RIA for AMDGPU-specific
.cfi_llvm_def_aspace_cfa.
Commit: 40c12648c6c0a39efce294e3fa763fd6c8ed4005
https://github.com/llvm/llvm-project/commit/40c12648c6c0a39efce294e3fa763fd6c8ed4005
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
Log Message:
-----------
[Bitcode] Use range-based for loops (NFC) (#97776)
Commit: 02c7be5094fa3ffb3f118d9e2d69af435b7c8ef6
https://github.com/llvm/llvm-project/commit/02c7be5094fa3ffb3f118d9e2d69af435b7c8ef6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__locale_dir/locale_base_api/musl.h
M libcxx/include/__locale_dir/locale_base_api/newlib.h
M libcxx/include/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__locale_dir/locale_base_api/win32.h
M libcxx/include/__support/xlocale/__posix_l_fallback.h
M libcxx/include/__support/xlocale/__strtonum_fallback.h
Log Message:
-----------
[libc++] Remove dead code from the locale base API and support code (#89070)
Commit: f4e6ddbc2ed77ef73a036408f1d04bb792e2d357
https://github.com/llvm/llvm-project/commit/f4e6ddbc2ed77ef73a036408f1d04bb792e2d357
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
Log Message:
-----------
[libc] Fix Cppcheck Issues (#96999)
This PR fixes linting issues discovered by `cppcheck`.
Fixes: https://github.com/llvm/llvm-project/issues/96863
Commit: b151c7e36a26a4168d0384c88295099e4b6470d0
https://github.com/llvm/llvm-project/commit/b151c7e36a26a4168d0384c88295099e4b6470d0
Author: Izaak Schroeder <izaak.schroeder at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/spec/posix.td
M libc/src/CMakeLists.txt
A libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dlclose.cpp
A libc/src/dlfcn/dlclose.h
A libc/src/dlfcn/dlerror.cpp
A libc/src/dlfcn/dlerror.h
A libc/src/dlfcn/dlopen.cpp
A libc/src/dlfcn/dlopen.h
A libc/src/dlfcn/dlsym.cpp
A libc/src/dlfcn/dlsym.h
Log Message:
-----------
[libc] Add `dlfcn.h` placeholder (#97501)
Adds `dlopen` and friends. This is needed as part of the effort to
compile `libunwind` + `libc` without baremetal mode. This is part of
https://github.com/llvm/llvm-project/issues/97191. This should still be
spec compliant, since `dlopen` always returns `NULL` and `dlerror`
always returns an error message.
> If dlopen() fails for any reason, it returns NULL.
> The function dlclose() returns 0 on success, and nonzero on error.
> Since the value of the symbol could actually be NULL (so that a NULL
return from dlsym() need not indicate an error), the correct way to test
for an error is to call dlerror() to clear any old error conditions,
then call dlsym(), and then call dlerror() again, saving its return
value into a variable, and check whether this saved value is not NULL.
See:
- https://linux.die.net/man/3/dlopen
Commit: f767295942288bd70156ad322defac60b568c927
https://github.com/llvm/llvm-project/commit/f767295942288bd70156ad322defac60b568c927
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
Log Message:
-----------
[clangd] Use std::make_unique (NFC) (#97915)
Commit: 75bc20ff899753b100cb875ce703af2348a1d6bb
https://github.com/llvm/llvm-project/commit/75bc20ff899753b100cb875ce703af2348a1d6bb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/lib/Support/TimeProfiler.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
M llvm/unittests/DebugInfo/BTF/BTFParserTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCopyBytesTest.cpp
M llvm/unittests/IR/VFABIDemanglerTest.cpp
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/MC/DwarfLineTableHeaders.cpp
M llvm/unittests/MIR/MachineMetadata.cpp
M llvm/unittests/Target/X86/MachineSizeOptsTest.cpp
M llvm/unittests/Transforms/Utils/SizeOptsTest.cpp
Log Message:
-----------
[llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#97914)
Commit: d00f1c14dc0ea8a933f90ada0f77781d99a439a7
https://github.com/llvm/llvm-project/commit/d00f1c14dc0ea8a933f90ada0f77781d99a439a7
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
A llvm/include/llvm/CodeGenData/OutlinedHashTree.h
A llvm/include/llvm/CodeGenData/OutlinedHashTreeRecord.h
M llvm/lib/CMakeLists.txt
A llvm/lib/CodeGenData/CMakeLists.txt
A llvm/lib/CodeGenData/OutlinedHashTree.cpp
A llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/CodeGenData/CMakeLists.txt
A llvm/unittests/CodeGenData/OutlinedHashTreeRecordTest.cpp
A llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp
Log Message:
-----------
[CGData] Outlined Hash Tree (#89792)
This defines the OutlinedHashTree class.
It contains sequences of stable hash values of instructions that have
been outlined. This OutlinedHashTree can be used to track the outlined
instruction sequences across modules. A trie structure is used in its
implementation, allowing for a compact sharing of common prefixes.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
Commit: 8a41327948e7611e851234782b8005d615c5c92c
https://github.com/llvm/llvm-project/commit/8a41327948e7611e851234782b8005d615c5c92c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M lld/docs/ReleaseNotes.rst
Log Message:
-----------
ReleaseNotes: add lld/ELF notes
Commit: 57fa5084036d10824f6f64e3bcc481db8fa73c24
https://github.com/llvm/llvm-project/commit/57fa5084036d10824f6f64e3bcc481db8fa73c24
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp
Log Message:
-----------
Fix build break for [CGData] Outlined Hash Tree (#89792)
Commit: ba255076a0efce1e2e7ecf5572a794912e23370b
https://github.com/llvm/llvm-project/commit/ba255076a0efce1e2e7ecf5572a794912e23370b
Author: Izaak Schroeder <izaak.schroeder at gmail.com>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/link-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/Dl_info.h
A libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
A libc/include/llvm-libc-types/struct_dl_phdr_info.h
Log Message:
-----------
[libc] Add `link.h` and `elf.h` headers (#97924)
Headers for https://github.com/llvm/llvm-project/pull/97504
Commit: 1acb08660a7a2cd3f0f2e8f4fbfe34c830484480
https://github.com/llvm/llvm-project/commit/1acb08660a7a2cd3f0f2e8f4fbfe34c830484480
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-06 (Sat, 06 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
R libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/link-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/Dl_info.h
R libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
R libc/include/llvm-libc-types/struct_dl_phdr_info.h
Log Message:
-----------
Revert "[libc] Add `link.h` and `elf.h` headers" (#97931)
Reverts llvm/llvm-project#97924
Commit: f4c781174b4b8fd958d9074c25eb06b6e276cb1c
https://github.com/llvm/llvm-project/commit/f4c781174b4b8fd958d9074c25eb06b6e276cb1c
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
Log Message:
-----------
[Clang] Add captures to the instantiation scope for noexcept specifiers (#97166)
The noexcept specifiers of dependent lambdas would be transformed and
rebuilt, where the map of instantiation should also contain captured
variables in case they are used from the noexcept specifier.
I also uncovered another assertion failure while at it. However, I
decided to leave it as-is because 1) that doesn't appear to be the case
in the release version and 2) fixing that might lead to ABI breakage.
Anyhow, the case has been added to the test comment.
Fixes https://github.com/llvm/llvm-project/issues/95735
Commit: e83e53b7027149a61a6d4d27ddf66614d8d24129
https://github.com/llvm/llvm-project/commit/e83e53b7027149a61a6d4d27ddf66614d8d24129
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/unittests/MC/AMDGPU/CMakeLists.txt
A llvm/unittests/MC/AMDGPU/Disassembler.cpp
Log Message:
-----------
[AMDGPU][MC] Allow UC_VERSION_* constant reuse (#96461)
If more than one disassembler is created for a context then allow reuse
of existing constants.
Warn if constants values do not match.
Commit: 9d6b68b63f02e0fa3a1dd5b4553cc0d8f17d8777
https://github.com/llvm/llvm-project/commit/9d6b68b63f02e0fa3a1dd5b4553cc0d8f17d8777
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libcxx/src/CMakeLists.txt
R libcxx/src/chrono_exception.cpp
A libcxx/src/experimental/chrono_exception.cpp
A libcxx/src/experimental/include/tzdb/time_zone_private.h
A libcxx/src/experimental/include/tzdb/types_private.h
A libcxx/src/experimental/include/tzdb/tzdb_list_private.h
A libcxx/src/experimental/include/tzdb/tzdb_private.h
A libcxx/src/experimental/time_zone.cpp
A libcxx/src/experimental/tzdb.cpp
A libcxx/src/experimental/tzdb_list.cpp
R libcxx/src/include/tzdb/time_zone_private.h
R libcxx/src/include/tzdb/types_private.h
R libcxx/src/include/tzdb/tzdb_list_private.h
R libcxx/src/include/tzdb/tzdb_private.h
R libcxx/src/time_zone.cpp
R libcxx/src/tzdb.cpp
R libcxx/src/tzdb_list.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
Log Message:
-----------
[libc++][TZDB] Makes implementation experimental. (#95657)
This moves the files to libcxx/src/experimental/ as discussed in #90394.
Fixes: https://github.com/llvm/llvm-project/issues/94902
Commit: 0ff06b44cc345901eaeaf968f885b9a0fd59ec24
https://github.com/llvm/llvm-project/commit/0ff06b44cc345901eaeaf968f885b9a0fd59ec24
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/CodeGenData/BUILD.gn
Log Message:
-----------
[gn] port d00f1c14dc0e (CodeGenDataTests)
Commit: 964327d22f51e479ef12dfcfc1ed28af0e7f7d06
https://github.com/llvm/llvm-project/commit/964327d22f51e479ef12dfcfc1ed28af0e7f7d06
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 9d6b68b63f02 (libc++ tzdb to experimental/)
Commit: 03807aa2c5d924a2e88fad1cacda2470c5052f1c
https://github.com/llvm/llvm-project/commit/03807aa2c5d924a2e88fad1cacda2470c5052f1c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/unittests/MC/AMDGPU/Disassembler.cpp
Log Message:
-----------
[AMDGPU][MC] Attempt to fix build after e83e53b702714
See https://github.com/llvm/llvm-project/pull/96461#issuecomment-2212381515
Commit: 902fb1b4653d5a23613492406cd5693446f06ab6
https://github.com/llvm/llvm-project/commit/902fb1b4653d5a23613492406cd5693446f06ab6
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/MC/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port e83e53b70271
Commit: c65f8d881671c3c7966fbbc967b7c4ca063d989b
https://github.com/llvm/llvm-project/commit/c65f8d881671c3c7966fbbc967b7c4ca063d989b
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
Log Message:
-----------
[mlir][linalg] Fix crashes in parser on linalg ops without operands (#97944)
`parseDstStyleOp` parses both `ins()` and `outs()` optionally. The
parsers for `linalg.transpose`, `linalg.broadcast` and `linalg.map`
however assume that at least one operand is present in the state,
leading to crashes otherwise.
This patch adds checks to the parsers which stop them from crashing if
no operands were parsed. When the Ops are parsed successfuly, the
verifiers can work on them.
Fix https://github.com/llvm/llvm-project/issues/97857
Commit: 07c157a43534744bff8b9cf03a5ec8d19717ba72
https://github.com/llvm/llvm-project/commit/07c157a43534744bff8b9cf03a5ec8d19717ba72
Author: Jeremy Kun <jkun at google.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/test/IR/parser.mlir
A mlir/test/IR/parser_dialect_loading.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
[mlir] load dialect in parser for optional parameters (#96667)
https://github.com/llvm/llvm-project/pull/96242 fixed an issue where the
auto-generated parsers were not loading dialects whose namespaces are
not present in the textual IR. This required the attribute parameter to
be a tablegen def with its dialect information attached.
This fails when using parameter wrapper classes like
`OptionalParameter`. This came up because `RingAttr` uses
`OptionalParameter` for its second and third attributes.
`OptionalParameter` takes as input the C++ type as a string instead of
the tablegen def, and so it doesn't have a dialect member value to
trigger the fix from https://github.com/llvm/llvm-project/pull/96242.
The docs on this topic say the appropriate solution as overloading
`FieldParser` for a particular type.
This PR updates `FieldParser` for generic attributes to load the dialect
on demand. This requires `mlir-tblgen` to emit a `dialectName` static
field on the generated attribute class, and check for it with template
metaprogramming, since not all attribute types go through `mlir-tblgen`.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: 649cdfc4b6781a350dfc87d9b2a4b5a4c3395909
https://github.com/llvm/llvm-project/commit/649cdfc4b6781a350dfc87d9b2a4b5a4c3395909
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/version.test
Log Message:
-----------
[ELF] Reinstate the former spelling in the version message
With `LLVM_APPEND_VC_REV=off`, the new version message after #97323
looks like:
```
% /tmp/out/custom2/bin/ld.lld --version
LLD 19.0.0, compatible with GNU linkers
```
A trailing comma after the version string might cause issues with
version detection tools that don't strip it, as seen in the Linux
kernel's scripts/ld-version.sh script.
Pull Request: https://github.com/llvm/llvm-project/pull/97942
Commit: d043e4c322489fa5b9f6363e3c83984219c2b602
https://github.com/llvm/llvm-project/commit/d043e4c322489fa5b9f6363e3c83984219c2b602
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libcxx/include/__compare/synth_three_way.h
M libcxx/include/array
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/list
M libcxx/include/map
M libcxx/include/set
M libcxx/include/vector
Log Message:
-----------
[libc++] Restore `__synth_three_way` lambda (#90398)
Restore `__synth_three_way` lambda to match the Standard.
GH-57222 is done, restoring the Standard wording implementation should
be possible.
https://github.com/llvm/llvm-project/blob/df28d4412c1d21b0e18896c92ac77d2fac7729f1/libcxx/include/__compare/synth_three_way.h#L28
According to comment
https://github.com/llvm/llvm-project/issues/59513#issuecomment-2068338762,
GH-59513 is not a blocker.
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 7f3c40a6613346a4ea856c1462de4fca12dc4fef
https://github.com/llvm/llvm-project/commit/7f3c40a6613346a4ea856c1462de4fca12dc4fef
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/limits_macros.h
A libc/hdr/sys_stat_macros.h
A libc/hdr/unistd_macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/src/sys/statvfs/linux/CMakeLists.txt
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fpathconf.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fpathconf.cpp
A libc/src/unistd/linux/pathconf.cpp
A libc/src/unistd/linux/pathconf_utils.cpp
A libc/src/unistd/linux/pathconf_utils.h
A libc/src/unistd/pathconf.h
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fpathconf_test.cpp
A libc/test/src/unistd/pathconf_test.cpp
Log Message:
-----------
[libc] implement pathconf/fpathconf (#87165)
Commit: 29b8b72117845dc3d20e70fbfa85c590fa9c7830
https://github.com/llvm/llvm-project/commit/29b8b72117845dc3d20e70fbfa85c590fa9c7830
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/zero_unroll.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/pr32859.ll
M llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll
Log Message:
-----------
[LV] Move check if any vector insts will be generated to VPlan. (#96622)
This patch moves the check if any vector instructions will be generated
from getInstructionCost to be based on VPlan. This simplifies
getInstructionCost, is more accurate as we check the final result and
also allows us to exit early once we visit a recipe that generates
vector instructions.
The helper can then be re-used by the VPlan-based cost model to match
the legacy selectVectorizationFactor behavior, this fixing a crash and
paving the way to recommit
https://github.com/llvm/llvm-project/pull/92555.
PR: https://github.com/llvm/llvm-project/pull/96622
Commit: 1b26bb0d12e6d609403e667282d5e7aa10dc4d48
https://github.com/llvm/llvm-project/commit/1b26bb0d12e6d609403e667282d5e7aa10dc4d48
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libc/hdr/math_macros.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/threads/sleep.h
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/search/hsearch.cpp
M libc/startup/linux/aarch64/tls.cpp
Log Message:
-----------
[libc] fix aarch64 GCC build (#97932)
This PR fix several build errors on aarch64 targets when building with
gcc:
- uninitialized values leading to `Werrors`
- undefined builtin functions
- glibc header pollution
Commit: f13463ee52cf95c76867d0dafe6bff16cb9e3009
https://github.com/llvm/llvm-project/commit/f13463ee52cf95c76867d0dafe6bff16cb9e3009
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libc/utils/HdrGen/CMakeLists.txt
M libc/utils/LibcTableGenUtil/CMakeLists.txt
Log Message:
-----------
[libc] support out of tree build with dynlibs (#97959)
Commit: 2718654c542c742e2dd18dcda8b93de1d4d3b640
https://github.com/llvm/llvm-project/commit/2718654c542c742e2dd18dcda8b93de1d4d3b640
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
A llvm/test/MC/ELF/cfi-label.s
Log Message:
-----------
[MC] Support .cfi_label
GNU assembler 2.26 introduced the .cfi_label directive. It does not
expand to any CFI instructions, but defines a label in
.eh_frame/.debug_frame, which can be used by runtime patching code to
locate the FDE. .cfi_label is not allowed for CIE's initial
instructions, and can therefore be used to force the next instruction to
be placed in a FDE instead of a CIE.
In glibc since 2018, sysdeps/riscv/start.S utilizes .cfi_label to force
DW_CFA_undefined to be placed in a FDE. arc/csky/loongarch ports have
copied this use.
```
.cfi_startproc
// DW_CFA_undefined is allowed for CIE's initial instructions.
// Without .cfi_label, gas would place DW_CFA_undefined in a CIE.
.cfi_label .Ldummy
.cfi_undefined ra
.cfi_endproc
```
No CFI instruction is associated with .cfi_label, so the `case
MCCFIInstruction::OpLabel:` code in BOLT is unreachable and onlt to make
-Wswitch happy.
Close #97222
Pull Request: https://github.com/llvm/llvm-project/pull/97922
Commit: 73447a3302541c343525570222b318e7f94f9402
https://github.com/llvm/llvm-project/commit/73447a3302541c343525570222b318e7f94f9402
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
Log Message:
-----------
[libc] Include tan in the baremetal configuration (#97921)
This is available as of #97489.
Commit: cc5ba739f27ab2f28d4a0f2e295d1e426aa836a7
https://github.com/llvm/llvm-project/commit/cc5ba739f27ab2f28d4a0f2e295d1e426aa836a7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Module.cpp
Log Message:
-----------
[IR] Use range-based for loops (NFC) (#97950)
Commit: afd0e6d06ba05cf3cd8b0bb91b6506242de78a4d
https://github.com/llvm/llvm-project/commit/afd0e6d06ba05cf3cd8b0bb91b6506242de78a4d
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
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
Log Message:
-----------
[PowerPC] Diagnose musttail instead of crash inside backend (#93267)
musttail is not often possible to be generated on PPC targets as when
calling to a function defined in another module, PPC needs to restore
the TOC pointer. To restore the TOC pointer, compiler needs to emit a
nop after the call to let linker generate codes to restore TOC pointer.
Tail call cannot generate expected call sequence for this case.
To avoid the crash inside the compiler backend, a diagnosis is added in
the frontend.
Fixes #63214
Commit: 112aa105635413c24e7a2ed3638a14a5600d1d1d
https://github.com/llvm/llvm-project/commit/112aa105635413c24e7a2ed3638a14a5600d1d1d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/lib/orc/error.h
Log Message:
-----------
[ORC-RT] Fix typo in comment.
Commit: 73bfb65c5714c6442a00bce866132d28ea609254
https://github.com/llvm/llvm-project/commit/73bfb65c5714c6442a00bce866132d28ea609254
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/include/orc_rt/c_api.h
Log Message:
-----------
[ORC-RT] Remove unused typedef from the C API.
Commit: 431b9965f59ad68e5c7d7112bc6b7ea154e5f85c
https://github.com/llvm/llvm-project/commit/431b9965f59ad68e5c7d7112bc6b7ea154e5f85c
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
A llvm/test/Transforms/SpeculativeExecution/dropping-debugloc-hoist.ll
Log Message:
-----------
[DebugInfo][SpeculativeExecution] Drop the debug location of the hoisted instruction (#97384)
Fix #97375 .
Commit: e4ee9bf0d2dee8064c539c047ee525e5b7ad44e5
https://github.com/llvm/llvm-project/commit/e4ee9bf0d2dee8064c539c047ee525e5b7ad44e5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
Log Message:
-----------
[RISCV] Custom legalize vXf16 BUILD_VECTOR without Zfhmin. (#97874)
If we don't have Zfhmin, we will call `SoftPromoteHalfOperand` on the
BUILD_VECTOR. This operation is not supported by the generic code.
Instead, custom lower to a vXi16 BUILD_VECTOR using bitcasts.
Fixes #97849.
Commit: 3ed76b45be185469f0ff58292102a4202902679d
https://github.com/llvm/llvm-project/commit/3ed76b45be185469f0ff58292102a4202902679d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
Log Message:
-----------
[X86][NFC] Remove dead code for "_REV" instructions (#97828)
Those "_REV" instructions should not appear before encoding
optimization, while macro fusion is done before encoding optimization.
Partial reland of 8bbf100799a97f8342bf1a8409c6fb48f03e837f
BOLT has dropped macro-op fusion alignment optimization in
https://github.com/llvm/llvm-project/pull/97358, which unblocks the
reland.
Commit: 4a9dabee73f79974c69a35af7668c7a7e52e2d7f
https://github.com/llvm/llvm-project/commit/4a9dabee73f79974c69a35af7668c7a7e52e2d7f
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libc/spec/linux.td
Log Message:
-----------
[libc] add prctl func spec (#97971)
Commit: e603451f3cb16792fb46ab5f2fa50b05f3e5d935
https://github.com/llvm/llvm-project/commit/e603451f3cb16792fb46ab5f2fa50b05f3e5d935
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
A llvm/test/CodeGen/X86/branch-hint.ll
Log Message:
-----------
[X86] Support branch hint (#97721)
For more details about this feature, please refer to latest Intel 64 and
IA-32 Architectures Optimization Reference Manual Volume 1:
https://www.intel.com/content/www/us/en/content-details/821612/intel-64-and-ia-32-architectures-optimization-reference-manual-volume-1.html
Commit: 2a9607168b42498c4a70441089be57af88eec4d2
https://github.com/llvm/llvm-project/commit/2a9607168b42498c4a70441089be57af88eec4d2
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.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/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.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
Log Message:
-----------
[AMDGPU] Cleanup bitcast spam in atomic optimizer (#96933)
Commit: 13ed3b472b6209ef6f7c5b0ee1eb91e563e01cbc
https://github.com/llvm/llvm-project/commit/13ed3b472b6209ef6f7c5b0ee1eb91e563e01cbc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M llvm/lib/Support/DivisionByConstantInfo.cpp
Log Message:
-----------
[DivisionByConstantInfo] Use APInt::getLowBitsSet instead of getAllOnes+lshr. NFC
Commit: 5789ee28772d942da113762f45fa5f47996b55d7
https://github.com/llvm/llvm-project/commit/5789ee28772d942da113762f45fa5f47996b55d7
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
M libcxx/include/chrono
Log Message:
-----------
[libc++] Guard transitive include of `<locale>` with availability macro (#97869)
This is a follow-up to https://github.com/llvm/llvm-project/pull/85521,
similar to https://github.com/llvm/llvm-project/pull/95686.
Commit: 5ab9e003c8bd1e8b095869e472336447de1ed148
https://github.com/llvm/llvm-project/commit/5ab9e003c8bd1e8b095869e472336447de1ed148
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
Log Message:
-----------
[AMDGPU] Fix -Wunused-variable in AMDGPUAtomicOptimizer.cpp (NFC)
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp:688:18:
error: unused variable 'TyBitWidth' [-Werror,-Wunused-variable]
const unsigned TyBitWidth = DL->getTypeSizeInBits(Ty);
^
1 error generated.
Commit: ef465bf8b11f667fd5e73fc5abcc121793a18a81
https://github.com/llvm/llvm-project/commit/ef465bf8b11f667fd5e73fc5abcc121793a18a81
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
A llvm/test/CodeGen/ARM/sdiv_shl.ll
Log Message:
-----------
[ARM] Fix arm32be softfp mode miscompilation for neon sdiv (#97883)
Related issue: https://github.com/llvm/llvm-project/issues/97782
Commit: aa9e4f0bc93fc735e83ea8b5269e699f31fb9d28
https://github.com/llvm/llvm-project/commit/aa9e4f0bc93fc735e83ea8b5269e699f31fb9d28
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Refactor mask check in performCombineVMergeAndVOps. NFC
Commit: 5e136b7e0d310b368ce5025d55bfd7a376391199
https://github.com/llvm/llvm-project/commit/5e136b7e0d310b368ce5025d55bfd7a376391199
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/include/lldb/Utility/Listener.h
M lldb/source/Utility/Listener.cpp
Log Message:
-----------
[lldb] Make Listener::m_broadcasters_mutex non-recursive (#97552)
Follow-up to #97400. No changes apart from changing the type were
necessary. The mutex was already not used recursively.
Commit: 64740edac8d62a477701a9f089d89a654a004b22
https://github.com/llvm/llvm-project/commit/64740edac8d62a477701a9f089d89a654a004b22
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/Utils.cpp
Log Message:
-----------
mlir/Presburger: optimize normalizeDiv when gcd=1 (#97893)
Commit: 074414fdbdff93bd14fe0a46499cf4fb03587899
https://github.com/llvm/llvm-project/commit/074414fdbdff93bd14fe0a46499cf4fb03587899
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
Log Message:
-----------
[mlir][sparse] Use vector.step for index vector generation (#97692)
Commit: 4132ab84eece2352302ced8803a88c140a217aff
https://github.com/llvm/llvm-project/commit/4132ab84eece2352302ced8803a88c140a217aff
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[bazel] Port for the libc change f8834ed24bf11d19c96c49d42e77d4408af91fd8
Commit: 1604c24981a73fd7689626db87c23165d7303d7a
https://github.com/llvm/llvm-project/commit/1604c24981a73fd7689626db87c23165d7303d7a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix copy and paste error in tryCombineMULLWithUZP1() (NFCI) (#97729)
The bitcast check was performed on the wrong value in one of the
branches.
I believe this doesn't actually result in any behavior difference,
because the following code looking at ExtractHigh users currently
doesn't try to look through BITCASTS. I've left a TODO for that.
Fixes https://github.com/llvm/llvm-project/issues/94761.
Commit: c119da23afb42daf588c3e4caf97094689d70688
https://github.com/llvm/llvm-project/commit/c119da23afb42daf588c3e4caf97094689d70688
Author: esmeyi <esme.yi at ibm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/PowerPC/aix-available-externally-linkage-fun.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-text-ref.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
Log Message:
-----------
[PowerPC] Function descriptor symbol may be omitted for external symbol. #97526
If a function's address is taken, which means it may be called via a function pointer,
we need the function descriptor for it.
Otherwise, the function descriptor can be omitted for external symbols.
Commit: f21b62b0d1d13fa3f259da4dde587c1289c84fb8
https://github.com/llvm/llvm-project/commit/f21b62b0d1d13fa3f259da4dde587c1289c84fb8
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
A llvm/include/llvm/IR/DbgVariableFragmentInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
[NFC] Add fragment-getting functions to DbgRecord (#97705)
Patch [1/x] to fix structured bindings debug info in SROA.
Copy getFragment and getFragmentOrEntireVariable from DbgVariableIntrinsic.
Move FragmentInfo out of DIExpression and DebugInfoMetadata.h into a new file
DbgVariableFragmentInfo.h so it can be included into DebugProgramInstruction.h
without pulling in other includes and classes.
These functions will be used in subsequent patches.
Commit: 40fe73e09f1f76c7ff2a50cf960c753dd809629b
https://github.com/llvm/llvm-project/commit/40fe73e09f1f76c7ff2a50cf960c753dd809629b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[bazel] Add missing gmp dep for f8834ed24bf11d19c96c49d42e77d4408af91fd8
Commit: 11f7c89bef14f57e36ed74a0fc647f214b1e058e
https://github.com/llvm/llvm-project/commit/11f7c89bef14f57e36ed74a0fc647f214b1e058e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
R llvm/include/llvm/IR/DbgVariableFragmentInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
Revert "[NFC] Add fragment-getting functions to DbgRecord (#97705)"
This reverts commit f21b62b0d1d13fa3f259da4dde587c1289c84fb8.
Fails to build.
Commit: 9b754675d3e0861039cf87cf4a0488ecc121e530
https://github.com/llvm/llvm-project/commit/9b754675d3e0861039cf87cf4a0488ecc121e530
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueLattice.h
M llvm/lib/Analysis/LazyValueInfo.cpp
Log Message:
-----------
[ValueLattice] Add asConstantRange() helper (NFC)
Move the toConstantRange() helper from LVI into ValueLattice,
so it can be reused in other places like SCCP.
Commit: deb6b6038c3dcdca7ce21abca4fddffbe53b1403
https://github.com/llvm/llvm-project/commit/deb6b6038c3dcdca7ce21abca4fddffbe53b1403
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-07 (Sun, 07 Jul 2024)
Changed paths:
A llvm/include/llvm/IR/DbgVariableFragmentInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
Reapply [NFC] Add fragment-getting functions to DbgRecord (#97705)
Patch [1/x] to fix structured bindings debug info in SROA.
Copy getFragment and getFragmentOrEntireVariable from DbgVariableIntrinsic.
Move FragmentInfo out of DIExpression and DebugInfoMetadata.h into a new file
DbgVariableFragmentInfo.h so it can be included into DebugProgramInstruction.h
without pulling in other includes and classes.
Commit: f50f7a7aa0b897ef91361d7dc159f3262d142bdc
https://github.com/llvm/llvm-project/commit/f50f7a7aa0b897ef91361d7dc159f3262d142bdc
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[NFC] Add DIExpression::extractLeadingOffset (#97719)
Patch [2/x] to fix structured bindings debug info in SROA.
It extracts a constant offset from the DIExpression if there is one and fills
RemainingOps with the ops that come after it.
This function will be used in a subsequent patch.
Commit: 5ce9a86110df0592d036688dc5b3ae2fbdbf99db
https://github.com/llvm/llvm-project/commit/5ce9a86110df0592d036688dc5b3ae2fbdbf99db
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/main.cpp
Log Message:
-----------
[lldb] Make variant formatter work with libstdc++-14 (#97568)
In this version the internal data member has grown an additional
template parameter (bool), which was throwing the summary provider off.
This patch uses the type of the entire variant object. This is part of
the API/ABI, so it should be more stable, but it means we have to
explicitly strip typedefs and references to get to the interesting bits,
which is why I've extended the test case with examples of those.
Commit: b590e9a5aedabeceb00d81d49897abbf02ab3b87
https://github.com/llvm/llvm-project/commit/b590e9a5aedabeceb00d81d49897abbf02ab3b87
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/include/lldb/Utility/Listener.h
M lldb/source/API/SBAttachInfo.cpp
M lldb/source/API/SBLaunchInfo.cpp
M lldb/source/Utility/Listener.cpp
Log Message:
-----------
[lldb] Remove Listener::SetShadow (#97555)
It's not used since https://reviews.llvm.org/D157556.
Commit: c2fe75f99c9b385eb707571e0b46b7a1afef37db
https://github.com/llvm/llvm-project/commit/c2fe75f99c9b385eb707571e0b46b7a1afef37db
Author: tcwzxx <tcwzxx at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Make the logic for checking scatter vectorized nodes of GEP clearer (#97826)
There is no functional change.
Authored-by: zhizhixu <zhizhixu at tencent.com>
Commit: 4c23625357b0b6091bc97478a79d522a832c2b21
https://github.com/llvm/llvm-project/commit/4c23625357b0b6091bc97478a79d522a832c2b21
Author: Kendal Harland <3987220+kendalharland at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
Log Message:
-----------
Fix flake in TestZerothFrame.py (#96685)
This test is currently flaky on a local Windows amd64 build. The reason
is that it relies on the order of `process.threads` but this order is
nondeterministic:
If we print lldb's inputs and outputs while running, we can see that the
breakpoints are always being set correctly, and always being hit:
```sh
runCmd: breakpoint set -f "main.c" -l 2
output: Breakpoint 1: where = a.out`func_inner + 1 at main.c:2:9, address = 0x0000000140001001
runCmd: breakpoint set -f "main.c" -l 7
output: Breakpoint 2: where = a.out`main + 17 at main.c:7:5, address = 0x0000000140001021
runCmd: run
output: Process 52328 launched: 'C:\workspace\llvm-project\llvm\build\lldb-test-build.noindex\functionalities\unwind\zeroth_frame\TestZerothFrame.test_dwarf\a.out' (x86_64)
Process 52328 stopped
* thread #1, stop reason = breakpoint 1.1
frame #0: 0x00007ff68f6b1001 a.out`func_inner at main.c:2:9
1 void func_inner() {
-> 2 int a = 1; // Set breakpoint 1 here
^
3 }
4
5 int main() {
6 func_inner();
7 return 0; // Set breakpoint 2 here
```
However, sometimes the backtrace printed in this test shows that the
process is stopped inside NtWaitForWorkViaWorkerFactory from
`ntdll.dll`:
```sh
Backtrace at the first breakpoint:
frame #0: 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
frame #1: 0x00007ffecc74585e ntdll.dll`RtlClearThreadWorkOnBehalfTicket + 862
frame #2: 0x00007ffecc3e257d kernel32.dll`BaseThreadInitThunk + 29
frame #3: 0x00007ffecc76af28 ntdll.dll`RtlUserThreadStart + 40
```
When this happens, the test fails with an assertion error that the
stopped thread's zeroth frame's current line number does not match the
expected line number. This is because the test is looking at the wrong
thread: `process.threads[0]`.
If we print the list of threads each time the test is run, we notice
that threads are sometimes in a different order, within
`process.threads`:
```sh
Thread 0: thread #4: tid = 0x9c38, 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
Thread 1: thread #2: tid = 0xa950, 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
Thread 2: thread #1: tid = 0xab18, 0x00007ff64bc81001 a.out`func_inner at main.c:2:9, stop reason = breakpoint 1.1
Thread 3: thread #3: tid = 0xc514, 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
Thread 0: thread #3: tid = 0x018c, 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
Thread 1: thread #1: tid = 0x85c8, 0x00007ff7130c1001 a.out`func_inner at main.c:2:9, stop reason = breakpoint 1.1
Thread 2: thread #2: tid = 0xf344, 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
Thread 3: thread #4: tid = 0x6a50, 0x00007ffecc7b3bf4 ntdll.dll`NtWaitForWorkViaWorkerFactory + 20
```
Use `self.thread()` to consistently select the correct thread, instead.
Co-authored-by: kendal <kendal at thebrowser.company>
Commit: d6fb89903409c7977f90b9f2f6a557f04d3f7e35
https://github.com/llvm/llvm-project/commit/d6fb89903409c7977f90b9f2f6a557f04d3f7e35
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][OpenMP] Improve loop wrapper representation (#97706)
This patch replaces the `SingleBlockImplicitTerminator<"TerminatorOp">`
trait of loop wrapper operations for the `SingleBlock` trait. This
enables a more robust implementation of the
`LoopWrapperInterface::isWrapper()` method, since it does no longer have
to deal with the potentially missing (implicit) terminator.
The `LoopWrapperInterface::isWrapper()` method is also extended to not
identify as wrappers those operations which have a loop wrapper
operation inside that is not taking a wrapper role. This is important
for cases where `omp.parallel` is nested, which can but is not required
to work as a loop wrapper.
Tests are updated to integrate these representation and validation
changes.
Commit: 857700ff6fb9f9f653c3788445df06db07e7bb59
https://github.com/llvm/llvm-project/commit/857700ff6fb9f9f653c3788445df06db07e7bb59
Author: Kendal Harland <3987220+kendalharland at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
Log Message:
-----------
[lldb][test] Fix type error when calling random.randrange with 'float' arg (#97328)
This test only runs on Windows and fails because we're passing a literal
of the wrong type to random.randrange.
Co-authored-by: kendal <kendal at thebrowser.company>
Commit: a497e987e5b09ab58efc7c6bef5ff68d4cd750f3
https://github.com/llvm/llvm-project/commit/a497e987e5b09ab58efc7c6bef5ff68d4cd750f3
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
Log Message:
-----------
Reapply "[AArch64] Lower extending sitofp using tbl (#92528)"
This re-commits d1a4f0c9fb559eb4c2fb56112e56343bcd333edc after
a issue was fixed in f92bfca9fc217cad9026598ef6755e711c0be070
("[AArch64] All bits of an exact right shift are demanded (#97448)").
Commit: 124b18b09d6bc25ac5f34e24a9b13f4212c01233
https://github.com/llvm/llvm-project/commit/124b18b09d6bc25ac5f34e24a9b13f4212c01233
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
Fix un/signed mismatch in test introduced in #97719
Buildbot:
https://lab.llvm.org/buildbot/#/builders/168/builds/799
Commit: 8ac6b415e4e5e631410d9cf6a10f15668f663441
https://github.com/llvm/llvm-project/commit/8ac6b415e4e5e631410d9cf6a10f15668f663441
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr97968.ll
Log Message:
-----------
[X86] Ensure VPERMV3 -> VPERMV fold comes from a double width vector
#96414 + #97206 didn't ensure that we were extracting subvectors from a vector double the width of the destination.
We can relax this in a future patch, but fix the #97968 crash first.
Fixes #97968
Commit: 92083e855b4d4ce7e3f7633cd35a4fcb90e2c24f
https://github.com/llvm/llvm-project/commit/92083e855b4d4ce7e3f7633cd35a4fcb90e2c24f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr97968.ll
Log Message:
-----------
[X86] Allow VPERMV3 -> VPERMV folds to handle extraction from a wider source vector (e.g. v16i32 -> v4i32)
We don't need to restrict this to double width vectors, as long as we correctly bitcast the types
Improves the fix for #97968
Commit: 27ccc8835e5163484234549fa6128eeb00d7432d
https://github.com/llvm/llvm-project/commit/27ccc8835e5163484234549fa6128eeb00d7432d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/ephemeral-recipes.ll
Log Message:
-----------
[LV] Add tests with ephemeral values that are widened.
Add tests with loops with ephemeral values that are widened.
After 29b8b72117, @ephemeral_load_and_compare_another_load_used_outside
is vectorized even though the only vector values that are generated are
ephemeral.
Commit: b9254ade77d41c7582a98e6754058c39fd456c2a
https://github.com/llvm/llvm-project/commit/b9254ade77d41c7582a98e6754058c39fd456c2a
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/test/Driver/aarch64-v81a.c
M clang/test/Driver/aarch64-v82a.c
M clang/test/Driver/aarch64-v83a.c
M clang/test/Driver/aarch64-v84a.c
M clang/test/Driver/aarch64-v85a.c
M clang/test/Driver/aarch64-v86a.c
M clang/test/Driver/aarch64-v87a.c
M clang/test/Driver/aarch64-v88a.c
M clang/test/Driver/aarch64-v89a.c
M clang/test/Driver/aarch64-v8a.c
M clang/test/Driver/aarch64-v91a.c
M clang/test/Driver/aarch64-v92a.c
M clang/test/Driver/aarch64-v93a.c
M clang/test/Driver/aarch64-v94a.c
M clang/test/Driver/aarch64-v95a.c
M clang/test/Driver/aarch64-v9a.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
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][RISCV] Improve the tests for --print-enabled-extensions and --print-supported-extensions (#97829)
For AArch64, we have existing tests for `--print-enabled-extensions` for
each architecture. However:
- These are added to the end of the existing tests which check for
`"-target-feature"`, which complicates them slightly.
- They do not test the descriptions printed next to each feature.
- Part of the output was tested separately in `TargetParserTest`.
- We did not have _any_ tests of this output for CPUs (only for
architectures).
Similarly, the tests for `--print-supported-extensions` do not give
complete coverage of either the full list of features or the
descriptions.
In my opinion we should be testing the full output, as this is what the
user sees. Descriptions and formatting can contain errors and be
accidentally broken.
Commit: 1e6dfc624867fbfc6cd6e5dd534bd11f0616e7fc
https://github.com/llvm/llvm-project/commit/1e6dfc624867fbfc6cd6e5dd534bd11f0616e7fc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
Log Message:
-----------
[lldb][DataFormatter] Remove support for old std::map layout (#97549)
We currently supported the layout from pre-2016 (before the layout
change in
[14caaddd3f08e798dcd9ac0ddfc](https://github.com/llvm/llvm-project/commit/14caaddd3f08e798dcd9ac0ddfc)).
We have another upcoming layout change in `__tree` and `map` (as part of
https://github.com/llvm/llvm-project/issues/93069) which will likely
require rewriting parts of this formatter. Removing the support for the
pre-2016 layout will make those changes more straightforward to
review/maintain.
Being backward compatible would be great but we have no tests that
actually verify that the old layout still works (and our oldest matrix
bot tests clang-15). If anyone feels strongly about keeping this layout,
we could possibly factor out that logic and keep it around.
Commit: cb72aecea6e7da49c7a7fbeb1bde4e401324b9ba
https://github.com/llvm/llvm-project/commit/cb72aecea6e7da49c7a7fbeb1bde4e401324b9ba
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
Log Message:
-----------
[lldb][DataFormatter] Move std::unordered_map::iterator formatter into LibCxxUnorderedMap.cpp (#97752)
Similar to how we moved the `std::map::iterator` formatter in
https://github.com/llvm/llvm-project/pull/97687, do the same for
`std::unordered_map::iterator`.
Again the `unordered_map` and `unordered_map::iterator` formatters try
to do very similar things: retrieve data out of the map. The iterator
formatter does this in a fragile way (similar to how `std::map` does it,
see https://github.com/llvm/llvm-project/pull/97579). Thus we will be
refactoring the `std::unordered_map::iterator` in upcoming patches.
Having it in `LibCxxUnorderedMap` will allow us to re-use some of the
logic (and we won't have to repeat some of the clarification comments).
Commit: 69192e0193e60c169c7776f444362dffba31eb7d
https://github.com/llvm/llvm-project/commit/69192e0193e60c169c7776f444362dffba31eb7d
Author: Manish Kausik H <46352931+Nirhar at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/AArch64/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir
M llvm/test/CodeGen/Hexagon/bitmanip.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-01.ll
M llvm/test/CodeGen/VE/Scalar/ctlz.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/ctlz.ll
M llvm/test/CodeGen/X86/lzcnt.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[LegalizeDAG] Optimize CodeGen for `ISD::CTLZ_ZERO_UNDEF` (#83039)
Previously we had the same instructions being generated for `ISD::CTLZ` and `ISD::CTLZ_ZERO_UNDEF` which did not take advantage of the fact that zero is an invalid input for `ISD::CTLZ_ZERO_UNDEF`. This commit separates codegen for the two cases to allow for the optimization for the latter case.
The details of the optimization are outlined in #82075
Fixes #82075
Co-authored-by: Manish Kausik H <hmamishkausik at gmail.com>
Commit: 2f2b931e1296aebe6c03fd969363683b637973e5
https://github.com/llvm/llvm-project/commit/2f2b931e1296aebe6c03fd969363683b637973e5
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/Headers/float.h
M clang/test/Headers/float.c
Log Message:
-----------
[C23] Correct the type for INFINITY and NAN in freestanding
This amends bcb7c38af7de59f3b2201734ee11987839cd7bbe to correct the
type use for the two macros to be float rather than double. Also adds
additional test coverage.
https://github.com/llvm/llvm-project/issues/98018 was filed to track
the duplicate diagnostic issue that was discovered.
Commit: 854bbc50fc99ddf71c4c65193e06eb79ce1ef69f
https://github.com/llvm/llvm-project/commit/854bbc50fc99ddf71c4c65193e06eb79ce1ef69f
Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
A llvm/lib/Target/X86/X86WinFixupBufferSecurityCheck.cpp
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/test/CodeGen/X86/stack-protector-msvc.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
[X86][CodeGen] security check cookie execute only when needed (#95904)
For windows __security_check_cookie call gets call everytime function is return without fixup. Since this function is defined in runtime library, it incures cost of call in dll which simply does comparison and returns most time. With Fixup, We selective move to call in DLL only if comparison fails.
Commit: ba1d21c7d8613c90e424fa3e77d52184d531c302
https://github.com/llvm/llvm-project/commit/ba1d21c7d8613c90e424fa3e77d52184d531c302
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
A clang/test/C/C2y/n3254.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3254 (#97581)
The test coverage for this has to lean on LLVM's test coverage for the
actual TBAA behavior, but this demonstrates that Clang emits reasonable
LLVM IR to support this construct. It would be surprising should LLVM
break this pattern given how ubiquitous the pattern is in the wild.
The paper can be found at:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3254.pdf
Commit: f06cb3fbd6b6a03a3300fca5912a1176a4a2bf0b
https://github.com/llvm/llvm-project/commit/f06cb3fbd6b6a03a3300fca5912a1176a4a2bf0b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port 854bbc50fc99
Commit: 7e01e64714eceedaf88c20f67d431a295950eed0
https://github.com/llvm/llvm-project/commit/7e01e64714eceedaf88c20f67d431a295950eed0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/stdcall-fastcall.c
M clang/test/CodeGen/vectorcall.c
Log Message:
-----------
[X86][vectorcall] Do not consume register for indirect return value (#97939)
This is how MSVC handles it. https://godbolt.org/z/Eav3vx7cd
Commit: 5a5cd3f0bcdf37a32eadd85d6e57c642cb829402
https://github.com/llvm/llvm-project/commit/5a5cd3f0bcdf37a32eadd85d6e57c642cb829402
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
Log Message:
-----------
[AArch64][GlobalISel] Make G_DUP immediate 32-bits or larger (#96780)
G_DUP's immediate operand gets extended in RegBankSelect to allow for
better pattern matching in TableGen for #96782
Commit: 4c47b41771799cd630ee3e6b42593ac59d7593eb
https://github.com/llvm/llvm-project/commit/4c47b41771799cd630ee3e6b42593ac59d7593eb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
Log Message:
-----------
[SLP]Allow matching and shuffling of extractelement vector operands with different VF.
Allows better codegen with the free resizing of small VF vector operands
and then regular shuffling of the operands of the same size and
simplifies the code.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/97414
Commit: 83b01aaf51072a07261ee2e5fc14102f71273bc0
https://github.com/llvm/llvm-project/commit/83b01aaf51072a07261ee2e5fc14102f71273bc0
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
A llvm/test/Transforms/LoopIdiom/AArch64/ctlz.ll
Log Message:
-----------
[LoopIdiom] Support 'shift until less-than' idiom (#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: da827d0896e5e66fe9130f8f4479537d3bbee1da
https://github.com/llvm/llvm-project/commit/da827d0896e5e66fe9130f8f4479537d3bbee1da
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/main.cpp
Log Message:
-----------
[lldb][DataFormatter] Simplify std::unordered_map::iterator formatter (#97754)
Depends on https://github.com/llvm/llvm-project/pull/97752
This patch changes the way we retrieve the key/value pair in the
`std::unordered_map::iterator` formatter (similar to how we are changing
it for `std::map::iterator` in
https://github.com/llvm/llvm-project/pull/97713, the motivations being
the same).
The old logic was not very easy to follow, and encoded the libc++ layout
in non-obvious ways. But mainly it was also fragile to alignment
miscalculations (https://github.com/llvm/llvm-project/pull/97443); this
would break once the new layout of `std::unordered_map` landed as part
of https://github.com/llvm/llvm-project/issues/93069.
Instead, this patch simply casts the `__hash_iterator` to a
`__node_pointer` (which is what libc++ does too) and uses a
straightforward `GetChildMemberWithName("__value_")` to get to the
key/value we care about.
The `std::unordered_map` already does it this way, so we align the
iterator counterpart to do the same. We can eventually re-use the
core-part of the `std::unordered_map` and `std::unordered_map::iterator`
formatters. But it will be an easier to change to review once both
simplifications landed.
Commit: f4f5e25467263adf60289ed0725d696368230b71
https://github.com/llvm/llvm-project/commit/f4f5e25467263adf60289ed0725d696368230b71
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueLattice.h
Log Message:
-----------
[ValueLattice] Add missing const qualifier (NFC)
Commit: 5c40e561bbc102f47553732fcebc0876b45d68b2
https://github.com/llvm/llvm-project/commit/5c40e561bbc102f47553732fcebc0876b45d68b2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/nvptx/CMakeLists.txt
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/lrint.cpp
Log Message:
-----------
[libc] Make GPU `libm` use generic implementations (#98014)
Summary:
This patch moves a lot of the old vendor implementations to the new
generic math functions. Previously a lot of these were done through the
vendor functions, but the long term goal is to completely phase these
out. In order to make the tests pass I had to disable exceptions so they
only perform functional tests.
Commit: 7e054c33d42b0a6bc8f6b168dab688f8e7762ef0
https://github.com/llvm/llvm-project/commit/7e054c33d42b0a6bc8f6b168dab688f8e7762ef0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfCastops - don't restrict to oneuse but compare total costs instead
Some casts (especially bitcasts but others as well) are incredibly cheap (or free), so don't limit the shuffle(cast(x),cast(y)) -> cast(shuffle(x,y)) to oneuse cases, but instead compare the total before/after costs of possibly repeating some casts.
Commit: c9ee6b1977e7dc88e3bd89b5e361c703721711fd
https://github.com/llvm/llvm-project/commit/c9ee6b1977e7dc88e3bd89b5e361c703721711fd
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 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/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/math/CMakeLists.txt
A libc/src/math/cbrtf.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cbrtf.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cbrtf_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/cbrtf_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cbrtf_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc][math] Implement cbrtf function correctly rounded to all rounding modes. (#97936)
Fixes https://github.com/llvm/llvm-project/issues/92874
Algorithm: Let `x = (-1)^s * 2^e * (1 + m)`.
- Step 1: Range reduction: reduce the exponent with:
```
y = cbrt(x) = (-1)^s * 2^(floor(e/3)) * 2^((e % 3)/3) * (1 + m)^(1/3)
```
- Step 2: Use the first 4 bit fractional bits of `m` to look up for a
degree-7 polynomial approximation to:
```
(1 + m)^(1/3) ~ 1 + m * P(m).
```
- Step 3: Perform the multiplication:
```
2^((e % 3)/3) * (1 + m)^(1/3).
```
- Step 4: Check for exact cases to prevent rounding and clear
`FE_INEXACT` floating point exception.
- Step 5: Combine with the exponent and sign before converting down to
`float` and return.
Commit: d3a5589684baed14e82e57ca31fd4e988cb1436d
https://github.com/llvm/llvm-project/commit/d3a5589684baed14e82e57ca31fd4e988cb1436d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/math/generic/tan.cpp
Log Message:
-----------
[libc] Add maybe_unused for functions only used on slow path (#98024)
Summary:
When the fast math options are enabled these functions are uncalled,
which makes it error.
Commit: 12d6832d86156904aecc10e8612bd77b66aeef51
https://github.com/llvm/llvm-project/commit/12d6832d86156904aecc10e8612bd77b66aeef51
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[SCCP] Skip bitcasts entirely
The only bitcasts the existing code might be able to handle are
bitcasts between iN and <1 x iN>. Don't bother.
Commit: 727ecaf7d16d44ecf434284c60ad65b22d814092
https://github.com/llvm/llvm-project/commit/727ecaf7d16d44ecf434284c60ad65b22d814092
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] allow intrinsic module procedures to be implemented in Fortran (#97743)
Currently, all procedures from intrinsic modules that are not BIND(C)
are expected to be intercepted by the compiler in lowering and to have a
handler in IntrinsicCall.cpp.
As more "intrinsic" modules are being added (OpenMP, OpenACC, CUF, ...),
this requirement is preventing seamless implementation of intrinsic
modules in Fortran. Procedures from intrinsic modules are different from
generic intrinsics defined in section 16 of the standard. They are
declared in Fortran file seating in the intrinsic module directory and
inside the compiler they look like regular user call except for the
INTRINSIC attribute set on their module. So an easy implementation is
just to have the implementation done in Fortran and linked to the
runtime without any need for the compiler to necessarily understand and
handle these calls in special ways.
This patch splits the lookup and generation part of IntrinsicCall.cpp so
that it can be allowed to only intercept calls to procedure from
intrinsic module if they have a handler. Otherwise, the assumption is
that they should be implemented in Fortran.
Add explicit TODOs handler for the IEEE procedure that are known to not
yet been implemented and won't be implemented via Fortran code so that
this patch is an NFC for what is currently supported.
This patch also prevents doing two lookups in the intrinsic table (There
was one to get argument lowering rules, and another one to generate the
code).
Commit: a5bfe20f6fd8957f870f8ffcf836d7737864e063
https://github.com/llvm/llvm-project/commit/a5bfe20f6fd8957f870f8ffcf836d7737864e063
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Comment MIMGEncGfx12
Commit: 9dca3ac2efb180398ef8e84bfa9f0ef283d0e6fd
https://github.com/llvm/llvm-project/commit/9dca3ac2efb180398ef8e84bfa9f0ef283d0e6fd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
Log Message:
-----------
[lldb][DataFormatter] Simplify libc++ std::map::iterator formatter (#97713)
Depends on https://github.com/llvm/llvm-project/pull/97687
Similar to https://github.com/llvm/llvm-project/pull/97579, this patch
simplifies the way in which we retrieve the key/value pair of a
`std::map` (in this case of the `std::map::iterator`).
We do this for the same reason: not only was the old logic hard to
follow, and encoded the libc++ layout in non-obvious ways, it was also
fragile to alignment miscalculations
(https://github.com/llvm/llvm-project/pull/97443); this would break once
the new layout of std::map landed as part of
https://github.com/llvm/llvm-project/issues/93069.
Instead, this patch simply casts the `__iter_pointer` to the
`__node_pointer` and uses a straightforward
`GetChildMemberWithName("__value_")` to get to the key/value we care
about.
We can eventually re-use the core-part of the `std::map` and
`std::map::iterator` formatters. But it will be an easier to change to
review once both simplifications landed.
Commit: 385118644ccabe27a634804c7db60734746c170f
https://github.com/llvm/llvm-project/commit/385118644ccabe27a634804c7db60734746c170f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-di.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fix.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-smax.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-smin.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-umax.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-umin.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/shift-ashr.ll
M llvm/test/Transforms/SLPVectorizer/X86/shift-lshr.ll
M llvm/test/Transforms/SLPVectorizer/X86/shift-shl.ll
Log Message:
-----------
[SLP]Remove operands upon marking instruction for deletion.
If the instruction is marked for deletion, better to drop all its
operands and mark them for deletion too (if allowed). It allows to have
more vectorizable patterns and generate less useless extractelement
instructions.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/97409
Commit: f5b9e11eb8ada0e7cc292f9ecd29a220d1265084
https://github.com/llvm/llvm-project/commit/f5b9e11eb8ada0e7cc292f9ecd29a220d1265084
Author: Marco Elver <elver at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
M llvm/test/Instrumentation/SanitizerBinaryMetadata/ctor.ll
Log Message:
-----------
[SanitizerBinaryMetadata] Fix multi-version sanitizer metadata (#97848)
It should be valid to combine TUs that have different versions of
sanitizer metadata. However, this had not been possible due to giving
sanitizer metadata sections, constructors, and destructors (that call
callbacks) the same name for different versions.
This would then result in the linker attempting to merge sections that
contain metadata of different versions, as well as picking any one of
the constructors or destructors due to having the same COMDAT key. The
end result is that consumers of this data would end up interpreting the
metadata incorrectly.
Although combining old and new versions is not recommended, more
realistic is combining TUs that have been compiled with different target
code models (which are also encoded in the sanitizer metadata version).
To fix, and properly support multi-version sanitizer metadata, attach
the version to section names and internal constructor and destructor
names. The ABI remains unchanged.
Commit: 0577cdaa32b26c02e16822343e7039b999f43d58
https://github.com/llvm/llvm-project/commit/0577cdaa32b26c02e16822343e7039b999f43d58
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
Log Message:
-----------
[LV] Split checking if tail-folding is possible, collecting masked ops. (#77612)
Introduce new canFoldTail helper which only checks if tail-folding is
possible, but without modifying MaskedOps.
Just because tail-folding is possible doesn't mean the tail will be
folded; that's up to the cost-model to decide. Separating the check if
tail-folding is possible and preparing for tail-folding makes sure that
MaskedOps is only populated when tail-folding is actually selected.
PR: https://github.com/llvm/llvm-project/pull/77612
Commit: 12e47aabd4e4c6cec15092183b91ec279a0a7ab4
https://github.com/llvm/llvm-project/commit/12e47aabd4e4c6cec15092183b91ec279a0a7ab4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/config.json
M libc/config/gpu/config.json
M libc/docs/configure.rst
M libc/src/math/generic/tan.cpp
Log Message:
-----------
[libc] Add config option for fast math optimizations (#98029)
Summary:
This patch adds `LIBC_COPT_MATH_OPTIMIZATIONS` that allows users to
configure the
different math optimizations.
Commit: 2f37a22f10a1128c695bc469871a9101edce853e
https://github.com/llvm/llvm-project/commit/2f37a22f10a1128c695bc469871a9101edce853e
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
A llvm/test/tools/llvm-objdump/ELF/crel.test
M llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] -r: support CREL
Extract the llvm-readelf decoder to `decodeCrel` (#91280) and reuse it
for llvm-objdump.
Because the section representation of LLVMObject (`SectionRef`) is
64-bit, insufficient to hold all decoder states, `section_rel_begin` is
modified to decode CREL eagerly and hold the decoded relocations inside
ELFObjectFile<ELFT>.
The test is adapted from llvm/test/tools/llvm-readobj/ELF/crel.test.
Pull Request: https://github.com/llvm/llvm-project/pull/97382
Commit: 3320036370ba3719471ab243f253237e88996495
https://github.com/llvm/llvm-project/commit/3320036370ba3719471ab243f253237e88996495
Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/ELF/change-section-lma.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add change-section-lma *+/-offset (#95431)
llvm-objcopy did not support change-section-lma argument.
This patch adds support for a use case of change-section-lma, that is
shifting load address of all sections by the same offset. This seems to
be the only practical use case of change-section-lma, found in other
software such as Zephyr RTOS's build system.
This is an option that could possibly be supported in some other than
ELF formats, however this change only implements it for ELF. When used
with other formats an error message is raised.
In comparison, the behavior of GNU objcopy is inconsistent. For some ELF
files it behaves the same as described above. For others, it copies the
file without modifying the p_paddr fields when it would be expected. In
some experiments it modifies arbitrary fields in section or program
headers. It is unclear what exactly determines this.
The executable file generated by yaml2obj in this test is not parsable
by GNU objcopy. With Machine set to EM_AARCH64, the file can be parsed
and the first test in the test file completes with 0 exit code. However,
the result is rather arbitrary. AArch64 GNU objcopy subtracts 0x1000
from p_filesz and p_memsz of the first LOAD section and 0x1000 from
p_offset of the second LOAD section. It does not look meaningful.
Commit: 7776fba473a216b2d1a765491bdc5db710cdff8f
https://github.com/llvm/llvm-project/commit/7776fba473a216b2d1a765491bdc5db710cdff8f
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/test/src/__support/File/file_test.cpp
Log Message:
-----------
[libc][NFC] Adjust use of off_t internally (#68269)
This patch includes changes related to the use of off_t in libc,
targeted at 32-bit systems: in several places, the offset is used either
as a long or an off_t (64-bit signed int), but in 32-bit systems a long
type is only 32 bits long.
Fix a warning in mmap where a long offset is expected, but we were
passing an off_t. A static_cast and a comment were added to explain
that we know we are ignoring the upper 32-bit of the off_t in 32-bit
systems.
The code in pread and pwrite was slightly improved to remove a
#ifdef LIBC_TARGET_ARCH_IS_RISCV32; we are using an if constexpr now.
The Linux file operations were changed to use off_t instead of a long
where applicable. No changes were made to the standard API, e.g.,
ftell returns the offset as an int so we added a static_cast and a
comment explaining that this will cause a loss of integer precision
in 32-bit systems.
Commit: fe8933ba211da094dc866b2bde64928c8121131b
https://github.com/llvm/llvm-project/commit/fe8933ba211da094dc866b2bde64928c8121131b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
Log Message:
-----------
[lldb][DataFormatter] Simplify std::map formatter (#97579)
Depends on:
* https://github.com/llvm/llvm-project/pull/97544
* https://github.com/llvm/llvm-project/pull/97549
* https://github.com/llvm/llvm-project/pull/97551
This patch tries to simplify the way in which the `std::map` formatter
goes from the root `__tree` pointer to a specific key/value pair.
Previously we would:
1. synthesize a structure that mimicked what `__iter_pointer` looked
like in memory
2. call `GetChildCompilerTypeAtIndex` on it to find the byte offset at
which the pair was located in the synthesized structure
3. finally, use that offset through a call to
`GetSyntheticChildAtOffset` to retrieve the key/value pair
Not only was this logic hard to follow, and encoded the libc++ layout in
non-obvious ways, it was also fragile to alignment miscalculations
(https://github.com/llvm/llvm-project/pull/97443); this would break once
the new layout of std::map landed as part of
https://github.com/https://github.com/llvm/llvm-project/issues/93069.
Instead, this patch simply casts the `__iter_pointer` to the
`__node_pointer` and uses a straightforward
`GetChildMemberWithName("__value_")` to get to the key/value we care
about. This allows us to get rid of some support infrastructure/class
state.
Ideally we would fix the underlying alignment issue, but this unblocks
the libc++ refactor in the interim, while also benefitting the formatter
in terms of readability (in my opinion).
Commit: 840e5075447fd2e7ae1f23c112e959b504d8ff42
https://github.com/llvm/llvm-project/commit/840e5075447fd2e7ae1f23c112e959b504d8ff42
Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/implicit-and-allowable-clients.test
Log Message:
-----------
[lld] Do not implicitly link non "public" libraries (#97639)
The LC_SUB_CLIENT Mach-O command and the `allowable-clients` TBD entry
specify that the given framework (or library?) can only be linked
directly from the specified names, even if it is sitting in `/usr/lib`
or `/System/Library/Frameworks`.
Add a check for those conditions before checking if a library should be
implicitly linked, and link against their umbrella if they have
allowable clients. The code needs to be in both the binary libraries and
the interface libraries.
Add a test that reproduces the scenario in which a framework reexports a
private framework that sits in `/System/Library/Frameworks`, and check
for the symbols of the reexported framework to be associated with the
public framework, and not the private one.
Commit: 0387a86f9a6d5bb0f178804784296e37fb34ca03
https://github.com/llvm/llvm-project/commit/0387a86f9a6d5bb0f178804784296e37fb34ca03
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/use-after-free-2.c
Log Message:
-----------
[clang][modules] Fix use-after-free in header serialization (#96356)
With the pruning of unused module map files disabled
(`-fno-modules-prune-non-affecting-module-map-files`), `HeaderFileInfo`
no longer gets deserialized before `ASTWriter::WriteHeaderSearch()`.
This function then interleaves the stores of references to `KnownHeader`
with their lazy deserialization. Lazy deserialization may cause
reallocation of `ModuleMap::Headers` entries (including its
`SmallVector<KnownHeader, 1>` values) thus making previously-stored
`ArrayRef<KnownHeader>` dangling. This patch fixes that situation by
storing a copy instead.
Commit: 1952dba49abdda848512d11fc68c031a0a21ec50
https://github.com/llvm/llvm-project/commit/1952dba49abdda848512d11fc68c031a0a21ec50
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
A llvm/include/llvm/MC/MCELFExtras.h
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[MC,ELF] Extract CREL encoder code
The extracted ELFObjectWriter.cpp code will be reused by llvm-objcopy
support (#97521).
Commit: ed7e46877dc7f09b5d194f87c87bfc2bebfcf27a
https://github.com/llvm/llvm-project/commit/ed7e46877dc7f09b5d194f87c87bfc2bebfcf27a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/Platform.cpp
M lldb/test/Shell/ObjectFile/PECOFF/invalid-export-table.yaml
Log Message:
-----------
[lldb] Improve error message for unrecognized executables (#97490)
Currently, LLDB prints out a rather unhelpful error message when passed
a file that it doesn't recognize as an executable.
> error: '/path/to/file' doesn't contain any 'host' platform
> architectures: arm64, armv7, armv7f, armv7k, armv7s, armv7m, armv7em,
> armv6m, armv6, armv5, armv4, arm, thumbv7, thumbv7k, thumbv7s,
> thumbv7f, thumbv7m, thumbv7em, thumbv6m, thumbv6, thumbv5, thumbv4t,
> thumb, x86_64, x86_64, arm64, arm64e
I did a quick search internally and found at least 24 instances of users
being confused by this. This patch improves the error message when it
doesn't recognize the file as an executable, but keeps the existing
error message otherwise, i.e. when it's an object file we understand,
but the current platform doesn't support.
Commit: 68a8ae06962137b27afdaf2696074255f6180652
https://github.com/llvm/llvm-project/commit/68a8ae06962137b27afdaf2696074255f6180652
Author: Wolfgang Pieb <55721109+wolfy1961 at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Make some tablegen tests more flexible. (#97651)
Some organizations have added operators downstream, and the 3 tests in
this PR tend to fail with off-by-n errors (with n being the number of
added operators) periodically.
To alleviate this. the proposed change is taking advantage of the fact
that the 2nd and 3rd element in a switch table represent the lower and
upper bounds of the operator id, and that the offset of the first byte
of the encoded operations is a function of these 2 bounds.
Additionally, we the default label offset is encoded in a FileCheck
variable.
Commit: 9bb4cd5977f8a0d6f1d6cc00cb707ed2db27f1c0
https://github.com/llvm/llvm-project/commit/9bb4cd5977f8a0d6f1d6cc00cb707ed2db27f1c0
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
A llvm/test/tools/llvm-objcopy/ELF/crel.test
M llvm/test/tools/llvm-objcopy/ELF/reloc-error-remove-symtab.test
M llvm/test/tools/llvm-objcopy/ELF/strip-reloc-symbol.test
Log Message:
-----------
[llvm-objcopy] Support CREL
llvm-objcopy may modify the symbol table and need to rewrite
relocations. For CREL, while we can reuse the decoder from #91280, we
need an encoder to support CREL.
Since MC/ELFObjectWriter.cpp has an existing encoder, and MC is at a
lower layer than Object, extract the encoder to a new header file
llvm/MC/MCELFExtras.h.
Link: https://discourse.llvm.org/t/rfc-crel-a-compact-relocation-format-for-elf/77600
Pull Request: https://github.com/llvm/llvm-project/pull/97521
Commit: 915372a8db7a8d7a1af19cc9ec6ccb5a0d592d1f
https://github.com/llvm/llvm-project/commit/915372a8db7a8d7a1af19cc9ec6ccb5a0d592d1f
Author: Kefu Chai <tchaikov at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
Log Message:
-----------
[clang-tidy] In C++17, callee is guaranteed to be sequenced before arguments. (#93623)
This eliminates false positives in bugprone-use-after-move where a
variable
is used in the callee and moved from in the arguments.
We introduce one special case: If the callee is a MemberExpr with a
DeclRefExpr as its base, we consider it to be sequenced after the
arguments. This is because the variable referenced in the base will only
actually be accessed when the call happens, i.e. once all of the
arguments have been evaluated. This has no basis in the C++ standard,
but it reflects actual behavior that is relevant to a use-after-move
scenario:
```c++
a.bar(consumeA(std::move(a));
```
In this example, we end up accessing a after it has been moved from,
even though nominally the callee a.bar is evaluated before the argument
consumeA(std::move(a)).
Treating this scenario correctly has required rewriting the logic in
bugprone-use-after-move that governs whether the use happens in a later
loop iteration than the move. This was previously based on an unsound
heuristic (does the use come lexically before the move?); we now use a
more rigourous criterion based on reachability in the CFG.
Fixes #57758
Fixes #59612
Co-authored-by: martinboehme <mboehme at google.com>
Commit: 04fc471f485a9beadd8ccc63f6af29765ec6f45b
https://github.com/llvm/llvm-project/commit/04fc471f485a9beadd8ccc63f6af29765ec6f45b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
Log Message:
-----------
[mlir][linalg] Switch to use OpOperand* in ControlPropagationFn. (#96697)
It's not easy to determine whether we want to propagate pack/unpack ops
because we don't know the (producer, consumer) information. The
revisions switch it to `OpOperand*`, so the control function can capture
the (producer, consumer) pair. E.g.,
```
Operation *producer = opOperand->get().getDefiningOp();
Operation *consumer = opOperand->getOwner();
```
Commit: 402eca265f7162e26b8b74d18297fd76c9f100de
https://github.com/llvm/llvm-project/commit/402eca265f7162e26b8b74d18297fd76c9f100de
Author: yabinc <yabinc at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/frame-pointer.c
Log Message:
-----------
Enable frame pointer for non-leaf functions on Android (#97614)
On Android, we always want frame pointers to make debugging in the field
easier. Since frame pointers are already enabled for AArch64, ARM and
RISCV64, effectively this change further enables frame pointers for X86
and X86_64.
Commit: 09a275e8a4c2cea22bb67c7247fc892d5e73eb42
https://github.com/llvm/llvm-project/commit/09a275e8a4c2cea22bb67c7247fc892d5e73eb42
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/AST/Decl.cpp
A clang/test/CodeGen/constexpr-c23-internal-linkage.c
Log Message:
-----------
[clang] Use internal linkage for c23 constexpr vars. (#97846)
See C23 std 6.2.2p3.
Fixes #97830
Commit: 2dadf8d7f57c0aa60cf7c67ec46c9930151447cc
https://github.com/llvm/llvm-project/commit/2dadf8d7f57c0aa60cf7c67ec46c9930151447cc
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/version
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.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
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Update status after the St. Louis meeting. (#97951)
This updates:
- The status tables
- Feature test macros
- New headers for modules
Commit: 03d4332625d13014ac94dcd145f538fbfe4c4d0c
https://github.com/llvm/llvm-project/commit/03d4332625d13014ac94dcd145f538fbfe4c4d0c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Pack build_vectors into largest available element type (#97351)
Our worst case build_vector lowering is a serial chain of vslide1down.vx
operations which creates a serial dependency chain through a relatively
high latency operation. We can instead pack together elements into ELEN
sized chunks, and move them from integer to scalar in a single
operation.
This reduces the length of the serial chain on the vector side, and
costs at most three scalar instructions per element. This is a win for
all cores when the sum of the latencies of the scalar instructions is
less than the vslide1down.vx being replaced, and is particularly
profitable for out-of-order cores which can overlap the scalar
computation.
This patch is restricted to configurations with zba and zbb. Without
both, the zero extend might require two instructions which would bring
the total scalar instructions per element to 4. zba and zba are both
present in the rva22u64 baseline which is looking to be quite common for
hardware in practice; we could extend this to systems without bitmanip
with a bit of extra effort.
Commit: c22625cb3eaf052e2377881d64640196ff5da3d1
https://github.com/llvm/llvm-project/commit/c22625cb3eaf052e2377881d64640196ff5da3d1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/C/C2y/n3274.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Remove support for _Imaginary (#97436)
WG14 N3274 removed _Imaginary from Annex G. Clang has never fully
supported Annex G or _Imaginary, so removal is pretty trivial for us.
Note, we are keeping _Imaginary as a keyword so that we get better
diagnostic behavior. This is still conforming because _I makes it a
reserved identifier, so it's not available for users to use as an
identifier anyway.
Commit: 5ef4e6db96b2a3eca4c84671ac964dc2134035b5
https://github.com/llvm/llvm-project/commit/5ef4e6db96b2a3eca4c84671ac964dc2134035b5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
A clang/test/OpenMP/requires_default_atomic_mem_order.cpp
Log Message:
-----------
[OpenMP] Correctly code-gen default atomic mem order (#97663)
Summary:
The parsing for this was implemented, but we never hooked up the default
value to the result of this clause. This patch adds the support by
making it default to the requires directive.
Commit: 19cf8deabe1124831164987f1b9bf2f806c0a875
https://github.com/llvm/llvm-project/commit/19cf8deabe1124831164987f1b9bf2f806c0a875
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[compiler-rt][X86] Use functions in cpuid.h instead of inline assembly (#97877)
This patch makes the host/feature detection in compiler-rt and LLVM use
the functions provided in cpuid.h(__get_cpuid, __get_cpuid_count)
instead of inline assembly. This simplifies the implementation and moves
any inline assembly away to a more common place.
A while ago, some similar cleanup was attempted, but this ended up
resulting in some compilation errors due to toolchain minimum version
issues (https://bugs.llvm.org/show_bug.cgi?id=30384). After the
reversion landed, there have been no attempts since then to clean up the
code, even though the minimum supported compilers now support the
relevant functions (https://godbolt.org/z/o1Mjz8ndv).
Commit: 2039e130649d8469bc85fa31ba7422d1d3739f90
https://github.com/llvm/llvm-project/commit/2039e130649d8469bc85fa31ba7422d1d3739f90
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Revert "[compiler-rt][X86] Use functions in cpuid.h instead of inline assembly (#97877)"
This reverts commit 19cf8deabe1124831164987f1b9bf2f806c0a875.
This was causing quite a few buildbot failures (see the PR description).
Reverting for now while I have time to sort it out. Seems like it should
just be conditional preprocessor macros for X86 however.
Commit: 87e914db85572c4d9fe924616141dcc9a5d66177
https://github.com/llvm/llvm-project/commit/87e914db85572c4d9fe924616141dcc9a5d66177
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[compiler-rt][X86] Unify getAMDProcessorTypeAndSubType (#97863)
This patch unifies the implementation of getAMDProcessorTypeAndSubtype
between compiler-rt and LLVM.
This patch is intended to be a step towards pulling these functions out
into identical .inc files to better facilitate code sharing between LLVM
and compiler-rt.
Commit: e0012a0b3b0dbd501293bb13a6f1af1066e6f3f5
https://github.com/llvm/llvm-project/commit/e0012a0b3b0dbd501293bb13a6f1af1066e6f3f5
Author: David Green <david.green at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
Log Message:
-----------
[AArch64] Regenerate cmp-to-cmn.ll. NFC
Commit: ea3fd020f4879d5b4261eabd9a56c24f30bc47f9
https://github.com/llvm/llvm-project/commit/ea3fd020f4879d5b4261eabd9a56c24f30bc47f9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/nvptx/CMakeLists.txt
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/lrint.cpp
Log Message:
-----------
Revert "[libc] Make GPU `libm` use generic implementations" (#98061)
Reverts llvm/llvm-project#98014
buildbot is broken.
Commit: 0dde87c117afee535757d1591f6d952f4d24e915
https://github.com/llvm/llvm-project/commit/0dde87c117afee535757d1591f6d952f4d24e915
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
Log Message:
-----------
[libc] Include cbrtf in the baremetal configuration (#98052)
This is available as of #97936.
Commit: 3f9bff3df2c7ddcf3e3f125d7641a73ce88e2380
https://github.com/llvm/llvm-project/commit/3f9bff3df2c7ddcf3e3f125d7641a73ce88e2380
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Remove an extra tokens at end of #undef directive, NFC
Commit: 1038db6f02289e128c498769091718dd0e6e6fea
https://github.com/llvm/llvm-project/commit/1038db6f02289e128c498769091718dd0e6e6fea
Author: Nathan James <n.james93 at hotmail.co.uk>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
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/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
A clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
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/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
Log Message:
-----------
[clang-tidy] Add checks to convert std library iterator algorithms into c++20 or boost ranges (#97764)
Added modernize-use-ranges
Added boost-use-ranges
Commit: f002558883dbc32d939e9ab9f7a2296459bf47cc
https://github.com/llvm/llvm-project/commit/f002558883dbc32d939e9ab9f7a2296459bf47cc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/boost/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
Log Message:
-----------
[gn build] Port 1038db6f0228
Commit: 359c64f314ad568e78ee9a3723260286e3425c2d
https://github.com/llvm/llvm-project/commit/359c64f314ad568e78ee9a3723260286e3425c2d
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
M llvm/test/tools/llvm-objcopy/ELF/remove-section-in-group.test
Log Message:
-----------
[llvm-objcopy] Remove empty SHT_GROUP sections (#97141)
Currently `llvm-objcopy/llvm-strip` in `--strip-debug` mode doesn't
remove such sections. This behavior can lead to incompatibilities with
GNU binutils (for examples ld.bfd before https://sourceware.org/PR20520
cannot process the object file contains empty .group section).
The ELF object that contains group section with `.debug_*` sections
inside can be obtained by `gcc -g3`.
Fix #97139
Commit: d52853760183a25758659863b1b940e9502eaa88
https://github.com/llvm/llvm-project/commit/d52853760183a25758659863b1b940e9502eaa88
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
A clang/test/Index/USR/func-template.cpp
Log Message:
-----------
[Clang][Index] Add support for dependent class scope explicit specializations of function templates to USRGenerator (#98027)
Given the following:
```
template<typename T>
struct A
{
void f(int); // #1
template<typename U>
void f(U); // #2
template<>
void f<int>(int); // #3
};
```
Clang will generate the same USR for `#1` and `#2`. This patch fixes the
issue by including the template arguments of dependent class scope
explicit specializations in their USRs.
Commit: ea39f977271d1a6bc3f0a4225724ff99d22b2d49
https://github.com/llvm/llvm-project/commit/ea39f977271d1a6bc3f0a4225724ff99d22b2d49
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
R llvm/test/Transforms/LoopIdiom/AArch64/ctlz.ll
Log Message:
-----------
Revert "[LoopIdiom] Support 'shift until less-than' idiom (#95002)" (#98065)
Reverts #95002 while I investigate buildbot failure.
This reverts commit 83b01aaf51072a07261ee2e5fc14102f71273bc0.
Commit: ce863dd5a77723fc21e1e43f5d3dd503e9a73d14
https://github.com/llvm/llvm-project/commit/ce863dd5a77723fc21e1e43f5d3dd503e9a73d14
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lld/test/MachO/implicit-and-allowable-clients.test
Log Message:
-----------
[lld-macho,test] Fix REQUIRES after #97639
Commit: 1738cc61c35165b72c36c3b3a2c8e347d4ed740c
https://github.com/llvm/llvm-project/commit/1738cc61c35165b72c36c3b3a2c8e347d4ed740c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Port for 1038db6f02289e128c498769091718dd0e6e6fea
Commit: 66a2058e76db120e61c9b34e40bc244d3a6a86fb
https://github.com/llvm/llvm-project/commit/66a2058e76db120e61c9b34e40bc244d3a6a86fb
Author: Jacob Yu <pingshiyu at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
A mlir/test/Integration/Dialect/Arith/CPU/addition.mlir
Log Message:
-----------
[mlir][arith] Adding addition regression tests (#96973)
arith addition regression tests, a component of the large
https://github.com/llvm/llvm-project/pull/92272
Commit: 393eff4e02e7ab3d234d246a8d6912c8e745e6f9
https://github.com/llvm/llvm-project/commit/393eff4e02e7ab3d234d246a8d6912c8e745e6f9
Author: Jacob Yu <pingshiyu at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
A mlir/test/Integration/Dialect/Arith/CPU/multiplication.mlir
Log Message:
-----------
[mlir][arith] Adding mul operation regressions (#96975)
Regressions for the mul operation, a part of the original large PR
https://github.com/llvm/llvm-project/pull/92272
Commit: ae7ab043f2d8077ed00bb2d3239da4b96ad4b387
https://github.com/llvm/llvm-project/commit/ae7ab043f2d8077ed00bb2d3239da4b96ad4b387
Author: Amy Huang <akhuang at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/intrin.h
M clang/lib/Sema/SemaARM.cpp
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/Sema/builtins-microsoft-arm64.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/arm64-hlt.ll
Log Message:
-----------
Add __hlt intrinsic for Windows ARM. (#96578)
Add __hlt, which is a MSVC ARM64 intrinsic.
This intrinsic is just the HLT instruction. MSVC's version seems to
return something undefined; in this patch
it will just return zero.
MSVC intrinsics are defined here
https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics.
I used unsigned int as the return type, because that is what the MSVC
intrin.h header uses, even though
it conflicts with the documentation.
Commit: f5ee07a1b5ca6f337e6b4a46558c315b8ccd29dc
https://github.com/llvm/llvm-project/commit/f5ee07a1b5ca6f337e6b4a46558c315b8ccd29dc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
M llvm/test/Transforms/SLPVectorizer/X86/reordering-single-phi.ll
Log Message:
-----------
[SLP]Improve instruction reordering mode detection.
The "instruction" reordering mode should be selected only if there are
compatible instructions in other operands, which can be reordered.
Otherwise, better to select splat reordering mode.
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12383340.00 12383324.00 -0.0%
Some 4x operations get replaced by 8x.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/97485
Commit: d358151a4fe94c72186d58f8903f044a116d0fa8
https://github.com/llvm/llvm-project/commit/d358151a4fe94c72186d58f8903f044a116d0fa8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/nvptx/CMakeLists.txt
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/lrint.cpp
Log Message:
-----------
Reapply "[libc] Make GPU `libm` use generic implementations" (#98061)
This reverts commit ea3fd020f4879d5b4261eabd9a56c24f30bc47f9.
Commit: 4b53cbb069626cb266c77eb419f2faf780c742d8
https://github.com/llvm/llvm-project/commit/4b53cbb069626cb266c77eb419f2faf780c742d8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/config/config.json
M libc/config/gpu/config.json
M libc/docs/configure.rst
M libc/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Export configs for `scanf` support (#98066)
Summary:
This patch adds the options for configuring floating point and index
mode for scanf just like `printf`. Not enabling it on the GPU yet, need
to fix something else first.
Commit: 8ab82a2dc308c27fbdd0a87b5be7dddc623f1b0e
https://github.com/llvm/llvm-project/commit/8ab82a2dc308c27fbdd0a87b5be7dddc623f1b0e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
A libcxx/test/std/numerics/complex.number/complex/bit_cast.pass.cpp
Log Message:
-----------
[libc++] Add a test case for std::bit_cast with std::complex (#97751)
This is extracted from #94620. While libc++ doesn't have the problem
described in that issue, a test case is a good idea to ensure that we
don't regress this behavior in the future. This could happen for example
if we decide to use `_Complex` in the implementation of `std::complex`
while Clang doesn't handle bit_cast with _Complex yet.
Commit: acaa4c8bfd12eac4fa5f2c03e9d394f7bd8f1bd6
https://github.com/llvm/llvm-project/commit/acaa4c8bfd12eac4fa5f2c03e9d394f7bd8f1bd6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libcxxabi/src/cxa_exception_storage.cpp
Log Message:
-----------
[libc++abi] Use __has_feature check to enable usage of thread_local for exception storage (#97591)
Previously, we'd use HAS_THREAD_LOCAL which was never defined. Hence,
we'd basically never use the code path where we use thread_local.
Fixes #78207
Commit: 526dbc1b933d111db1e564631690914580e7e429
https://github.com/llvm/llvm-project/commit/526dbc1b933d111db1e564631690914580e7e429
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/test/ELF/riscv-attributes.s
Log Message:
-----------
[lld] Support merging RISC-V Atomics ABI attributes (#97347)
This patch adds support for merging the atomic_abi attribute, specified
in
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version,
to LLD.
The atomics_abi tag merging is conducted as follows:
UNKNOWN is safe to merge with all other values.
A6C is compatible with A6S, and results in the A6C ABI.
A6C is incompatible with A7, and results in an error.
A6S and A7 are compatible, and merging results in the A7 ABI.
Note: the A7 is not yet supported in either LLVM or in any current
hardware, and is therefore omitted from attribute generation in
RISCVTargetStreamer.
LLD support was split from
https://github.com/llvm/llvm-project/pull/90266
Commit: a4fec164bf87018e3a4365be1299ee94b6d0c3d3
https://github.com/llvm/llvm-project/commit/a4fec164bf87018e3a4365be1299ee94b6d0c3d3
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
Log Message:
-----------
Reapply "[llvm][RISCV] Enable trailing fences for seq-cst stores by default (#87376)" (#90267)
With the tag merging in place, we can safely change the default for
+seq-cst-trailing-fence to the default, according to the recommendation
in
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-atomic.adoc
This patch changes the default for the feature flag, and moves to more
consistent naming with respect to existing features.
This was reverted with https://github.com/llvm/llvm-project/pull/84597,
because ld.bfd would segfault with unknown riscv attributes. Now that
attributes emission is guarded with a backend flag,
`--riscv-abi-attributes`, this should be safe to reland, since it won't
introduce abi tags unless the user opts into them.
Commit: ca2d2a123cef4078d1516796bbd8efd6cbaac3d6
https://github.com/llvm/llvm-project/commit/ca2d2a123cef4078d1516796bbd8efd6cbaac3d6
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
Add patterns for Hexagon backend labels (#98068)
Add path filters for labelling of PRs related to the Hexagon backend.
Commit: 96c61f4304ae323e1abc2dc2cbdd4df0502520ae
https://github.com/llvm/llvm-project/commit/96c61f4304ae323e1abc2dc2cbdd4df0502520ae
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/utils/mlgo-utils/pyproject.toml
Log Message:
-----------
[MLGO] Drop Python version cap for mlgo-utils
This patch drops the python version cap for mlgo-utils. I have validated
that everything works as expected in Python 3.12, and we have no
dependencies when the library is used, so we should be fairly resiliant
against changes in Python.
Commit: 5c71f3017aaa28701c735bb5f3b48111e69d0cc1
https://github.com/llvm/llvm-project/commit/5c71f3017aaa28701c735bb5f3b48111e69d0cc1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/utils/mlgo-utils/README.md
Log Message:
-----------
[MLGO] Drop outdated comment in mlgo-utils README
The mlgo-utils README contained a comment about a deviation in the
python version requirement for itself and the rest of the project. Now
that the global LLVM minimum python version is 3.8, this comment is no
longer valid so remove it.
Commit: 837dc3b179da931e0fd72dbd562c99f649434501
https://github.com/llvm/llvm-project/commit/837dc3b179da931e0fd72dbd562c99f649434501
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGParser.cpp
Log Message:
-----------
[TableGen] Use range-based for loops (NFC) (#97678)
Commit: d1f0ba615505660288e0b47fd413924f57933246
https://github.com/llvm/llvm-project/commit/d1f0ba615505660288e0b47fd413924f57933246
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[AsmPrinter] Use range-based for loops (NFC) (#97977)
Commit: 7c046ee7e18bc4bb2602e33abb94a11106c6a7a1
https://github.com/llvm/llvm-project/commit/7c046ee7e18bc4bb2602e33abb94a11106c6a7a1
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
Log Message:
-----------
[libc] Include _Exit in the baremetal configuration (#98053)
This is implemented using `__llvm_libc_exit` which should be provided by
the vendor and thus available in baremetal configurations.
Commit: 7f0d9bae9d1cfdd1c275b6c20fa1b4ed7e6e644f
https://github.com/llvm/llvm-project/commit/7f0d9bae9d1cfdd1c275b6c20fa1b4ed7e6e644f
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/asm-ld1-wrong-constraint.ll
Log Message:
-----------
[llvm][AArch64] Fix a crash with an incorrect asm constraint (#98071)
Fixes: rdar://130887714
Commit: e97bd0300b57547774c5cfe6fe84ebd0efc421ec
https://github.com/llvm/llvm-project/commit/e97bd0300b57547774c5cfe6fe84ebd0efc421ec
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lld/MachO/ObjC.cpp
A lld/test/MachO/objc-category-merging-swift-class-ext.s
Log Message:
-----------
[lld-macho] Category Merging: Detect correct class language for classes with aliased symbols (#97454)
Currently we rely on detecting the source language of a class by the
name of the symbol pointing to it. This generally works, but there are
scenarios where Swift generates both an ObjC name and a Swift name for
the symbol - by aliasing the ObjC name to the Swift name, as follows:
```
.globl _OBJC_CLASS_$__TtC11MyTestClass11MyTestClass
.private_extern _OBJC_CLASS_$__TtC11MyTestClass11MyTestClass
.set _OBJC_CLASS_$__TtC11MyTestClass11MyTestClass, _$s11MyTestClassAACN
```
So to correctly detect the source language in all cases, we need to
handle scenarios where both an ObjC symbol and a Swift symbol is defined
for a class - in this case the symbol is always a Swift class.
Commit: b30d6671814cb5ac0b7f36b8b77345176e5132ba
https://github.com/llvm/llvm-project/commit/b30d6671814cb5ac0b7f36b8b77345176e5132ba
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
Log Message:
-----------
[scudo] Change CompactPtrT and CompactPtrScale to optional (#90797)
Commit: a582dde192d1b9596f3a2609275f04fd450e4aec
https://github.com/llvm/llvm-project/commit/a582dde192d1b9596f3a2609275f04fd450e4aec
Author: Brendan Hansknecht <Brendan.Hansknecht at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/lib/CAPI/IR/IR.cpp
Log Message:
-----------
[mlir][c-api] expose elideLargeResourceString (#98050)
Expose `elideLargeResourceString` to the c api.
This was done in the same way as `elideLargeElementsAttrs` is exposed.
The docs were grabbed from the `elideLargeResourceString` method and
forwarded here.
Commit: ceaaa19238ac9ca3e42503eca4d4d2215b27bbc1
https://github.com/llvm/llvm-project/commit/ceaaa19238ac9ca3e42503eca4d4d2215b27bbc1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/__init__.py
M llvm/utils/mlgo-utils/pyproject.toml
Log Message:
-----------
[MLGO] Adjust mlgo-utils versioning to match Pypi
This patch adjusts the versioning/package name for mlgo-utils to match
what is on Pypi. I did this before because we uploaded a package before
the 18 branch, but apparently never committed the changes.
We will have to special case actual releases in the future, but for now
development versions are fine.
Commit: 4ad967851e71efe6671ff9ba2f1c31dd26ca8301
https://github.com/llvm/llvm-project/commit/4ad967851e71efe6671ff9ba2f1c31dd26ca8301
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
Log Message:
-----------
[mlir][Linalg] Allow propagation of pack through multi use pad (#98039)
This allows bubbling `tensor.pack` through `tensor.pad` when the pad has
multiple uses. A new pad is created and a `tensor.unpack` is inserted to
connect the packed pad with the new users.
To keep the previous behavior, the layout propagation control function
can be modified to disallow multi-use propagation.
Commit: 07bb0444ddb96495905fbc13a04ad39972808dfb
https://github.com/llvm/llvm-project/commit/07bb0444ddb96495905fbc13a04ad39972808dfb
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Add build_vector coverage when zbkb is available
An uncomping change will make much more complete use of packh, packw, and
pack during element packing inside build_vector lowering.
Commit: f6616e99c71c15d530060346ec29c3246d7fc235
https://github.com/llvm/llvm-project/commit/f6616e99c71c15d530060346ec29c3246d7fc235
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Reland "Revert "[compiler-rt][X86] Use functions in cpuid.h instead of inline assembly (#97877)""
This reverts commit 2039e130649d8469bc85fa31ba7422d1d3739f90.
This relands commit 19cf8deabe1124831164987f1b9bf2f806c0a875.
Added some additional preprocessor directives to ensure that Host.cpp
only includes cpuid.h when being built on x86.
Commit: d3cb277ea35d2cf25cdcc41b894959332477861c
https://github.com/llvm/llvm-project/commit/d3cb277ea35d2cf25cdcc41b894959332477861c
Author: David Green <david.green at arm.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Rearrange Opcodes in getMemOpInfo. NFC
This just changes the order of the opcodes and fields in getMemOpInfo, none of
the values are altered.
Commit: a004e50b9e6880850b54e672bba9f650ed716910
https://github.com/llvm/llvm-project/commit/a004e50b9e6880850b54e672bba9f650ed716910
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/tests/test_integration.py
M libc/newhdrgen/yaml/inttypes.yaml
M libc/newhdrgen/yaml/pthread.yaml
M libc/newhdrgen/yaml/sched.yaml
M libc/newhdrgen/yaml/signal.yaml
M libc/newhdrgen/yaml/stdio.yaml
M libc/newhdrgen/yaml/stdlib.yaml
M libc/newhdrgen/yaml/string.yaml
M libc/newhdrgen/yaml/sys_mman.yaml
A libc/newhdrgen/yaml/sys_syscall.yaml
M libc/newhdrgen/yaml/sys_types.yaml
M libc/newhdrgen/yaml/termios.yaml
M libc/newhdrgen/yaml/threads.yaml
M libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml/unistd.yaml
Log Message:
-----------
[libc] corrected yaml files in newhdrgen (#98069)
- fixed little issues in yaml issues through testing
- corrected function class in the case there is no attribute
Commit: c95935789da9349c470ce75203af93624360b2b6
https://github.com/llvm/llvm-project/commit/c95935789da9349c470ce75203af93624360b2b6
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Directly use pack* in build_vector lowering (#98084)
In 03d4332, we extended build_vector lowering to pack elements into the
largest size which doesn't exceed either ELEN or XLEN. The zbkb
extension - ratified under scalar crypto, but otherwise not really
connected to crypto per se - adds the packh, packw, and pack
instructions. These instructions are designed for exactly this pairwise
packing.
I ended up choosing to directly lower to machine nodes. A combination of
the slightly non-uniform semantics of these instructions (packw *sign*
extends the result, whereas packh *zero* extends it), and our generic
dag canonicalization (which sinks shl through or nodes), make pattern
matching these tricky and not particularly robust. Another alternative
was to have an ISD node for them, but that didn't seem to add much in
practice.
Commit: 46a2abb91cb6cfac9b807ae2055cc5f1743405e4
https://github.com/llvm/llvm-project/commit/46a2abb91cb6cfac9b807ae2055cc5f1743405e4
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
Log Message:
-----------
[clang-doc][nfc] Avoid constructing SmallString in ToString method (#96921)
This patch updates the return type of HTMLTag::toString from
SmallString<16> to StringRef, since this API only returns string
literals. As a result, there is no need to construct a full heap
allocated or owned string.
Additionally, this patch renames ToString to toString to match the LLVM
style guide.
Commit: 4f3c9dabecc6074f8455ca23ba70020d5c556e63
https://github.com/llvm/llvm-project/commit/4f3c9dabecc6074f8455ca23ba70020d5c556e63
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M mlir/test/CAPI/CMakeLists.txt
Log Message:
-----------
[mlir] Exclude CAPI test targets from default build target (#96545)
This helps reduce the build time for users that want to build MLIR, but
don't want to run the tests.
Commit: 2a7abb04e258542679476fa6527418c34412283c
https://github.com/llvm/llvm-project/commit/2a7abb04e258542679476fa6527418c34412283c
Author: Kevin Frei <freik at meta.com>
Date: 2024-07-08 (Mon, 08 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: attempt to fix Fuchsia build (#96802)
This is the same diff I've put up at many times before. I've been trying
to add some brand new functionality to the LLDB test infrastucture
(create split-dwarf files!), and we all know that no good deed goes
unpunished. The last attempt was reverted because it didn't work on the
Fuchsia build.
There are no code differences between this and
[the](https://github.com/llvm/llvm-project/pull/90622)
[previous](https://github.com/llvm/llvm-project/pull/87676)
[four](https://github.com/llvm/llvm-project/pull/86812)
[diffs](https://github.com/llvm/llvm-project/pull/85693) landed &
reverted (due to testing infra failures). The only change in this one is
the way `dwp` is being identified in `Makefile.rules`.
Thanks to @petrhosek for helping me figure out how the fuchsia builders
are configured. I now prefer to use llvm-dwp and fall back to gnu's dwp
if the former isn't found. Hopefully this will work everywhere it needs
to.
Commit: f6eda6fb7a335861d8a8ce32ea805830685f218d
https://github.com/llvm/llvm-project/commit/f6eda6fb7a335861d8a8ce32ea805830685f218d
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/__support/block.h
Log Message:
-----------
[libc] Fix for unused variable warning (#98086)
This fixes the `unused variable 'new_inner_size'` warning that arises
when `new_inner_size` is only used by `LIBC_ASSERT` by performing the
calculation directly in the macro.
Commit: c1f1aab5d5d4d2a9d86e9e3e1794d609749a15f0
https://github.com/llvm/llvm-project/commit/c1f1aab5d5d4d2a9d86e9e3e1794d609749a15f0
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/sys/statvfs/linux/statfs_utils.h
Log Message:
-----------
[libc] Fix statfs_to_statvfs conversion function on rv32 (#98098)
Commit: b2fd1ebc3523d225956120052bcc0698adf4579f
https://github.com/llvm/llvm-project/commit/b2fd1ebc3523d225956120052bcc0698adf4579f
Author: Kevin Frei <kevinfrei at hotmail.com>
Date: 2024-07-08 (Mon, 08 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:
-----------
Revert "[LLDB] DebugInfoD tests: attempt to fix Fuchsia build" (#98101)
Reverts llvm/llvm-project#96802
Attempt #5 fails. It's been 6 months. I despise Makefile.rules and have
no ability to even *detect* these failures without _landing_ a diff. In
the mean time, we have no testing for DWP files at all (and a regression
that was introduced, that I fix with this diff) so I'm going to just
remove some of the tests and try to land it again, but with less testing
I guess.
Commit: afa6bed8afe9011c07c682a0a24362260d92cfdd
https://github.com/llvm/llvm-project/commit/afa6bed8afe9011c07c682a0a24362260d92cfdd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/nvptx/CMakeLists.txt
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
Log Message:
-----------
[libc] Fix integer `rint` variants on the GPU (#98095)
Summary:
Currently these are implemented as a static cast on `__builtin_rint()`
to a long. Howver, this is not strictly correct. The standard states
that the output is unspecified, but most implementations, and the LLVM
libc implementation, do some kind of guarantee on this beahvior. This is
not guaranteed by just doing a cast. This patch just uses the generic
versions until we implement `__builitin_lrint` correctly.
Commit: 79d0de2ac37b6b7d66720611935d1dd7fc4fbd43
https://github.com/llvm/llvm-project/commit/79d0de2ac37b6b7d66720611935d1dd7fc4fbd43
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PostRASchedulerList.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.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/ShrinkWrap.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/R600Packetizer.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
M llvm/lib/Target/ARM/ARMBlockPlacement.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/lib/Target/X86/X86PreTileConfig.cpp
A llvm/test/CodeGen/X86/machine-loops.ll
Log Message:
-----------
[CodeGen][NewPM] Port `machine-loops` to new pass manager (#97793)
- Add `MachineLoopAnalysis`.
- Add `MachineLoopPrinterPass`.
- Convert to `MachineLoopInfoWrapperPass` in legacy pass manager.
Commit: 673b6cd104beddac08cec46e7cbf74d7fcc44abc
https://github.com/llvm/llvm-project/commit/673b6cd104beddac08cec46e7cbf74d7fcc44abc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/__support/File/file.h
Log Message:
-----------
[libc] Use `stdio.h` for `off_t` instead of `unistd.h` (#98093)
Summary:
The `stdio.h` header should define `off_t` as defined for the platform.
This will use the system's in overlay mode, or what the llvm-libc-types
deems correct. If this `off_t` is incorrect it should be changed in
`llvm-libc-types`. This fixes the GPU build.
Commit: f1905f064451bf688577976a13000c9c47e58452
https://github.com/llvm/llvm-project/commit/f1905f064451bf688577976a13000c9c47e58452
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Revert "[compiler-rt][X86] Use functions in cpuid.h instead of inline assembly (#97877)"
This reverts commit f6616e99c71c15d530060346ec29c3246d7fc235.
Was causing buildbot failures on Windows. I also remember seeing a
AMDGPU buildbot failing somewhere on a warning as they have -Werror
enabled.
Commit: d65f4232026a6c0fcd2431e1d28a7ad49127f6e5
https://github.com/llvm/llvm-project/commit/d65f4232026a6c0fcd2431e1d28a7ad49127f6e5
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/test/CodeGen/RISCV/abi-empty-structs.c
Log Message:
-----------
[RISCV] Handle empty structs/unions passing in C++ (#97315)
According to RISC-V integer calling convention empty structs or union
arguments or return values are ignored by C compilers which support them
as a non-standard extension. This is not the case for C++, which
requires them to be sized types.
Fixes #97285
Commit: 0182f5174f7cab31f8275718ae0aca7e9ac6fcd2
https://github.com/llvm/llvm-project/commit/0182f5174f7cab31f8275718ae0aca7e9ac6fcd2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/__support/File/file.h
Log Message:
-----------
[libc][fix] Use off_t libc type directly
Summary:
Including stdio here caused some multiple definitions on overlay mode.
Just include `off_t` directly.
Is this correct for 32-bit targets? Will investigate further after
fixing bots.
Commit: 366eb8f025f03f00ed1188dccfd3d527b8c82892
https://github.com/llvm/llvm-project/commit/366eb8f025f03f00ed1188dccfd3d527b8c82892
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/Object/ELFTypes.h
Log Message:
-----------
[Object] Fix IsRela typo after #91280
Commit: ac0b2814c34959ebaa8f054db019bd287fdff54d
https://github.com/llvm/llvm-project/commit/ac0b2814c34959ebaa8f054db019bd287fdff54d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
A llvm/test/CodeGen/X86/live-vars.ll
M llvm/unittests/MI/LiveIntervalTest.cpp
Log Message:
-----------
[CodeGen][NewPM] Port `LiveVariables` to new pass manager (#97880)
- Port `LiveVariables` to new pass manager.
- Convert to `LiveVariablesWrapperPass` in legacy pass manager.
Commit: 28695dd104ef3a27f9410663640aa8f5b99f8c34
https://github.com/llvm/llvm-project/commit/28695dd104ef3a27f9410663640aa8f5b99f8c34
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/test/src/__support/CMakeLists.txt
Log Message:
-----------
[libc] Disable block test on NVPTX
Summary:
We already disable the freelist, the block test also causes issues. We
don't use this code at all on the GPU so we can disable this test for
now.
Commit: 50881d03fc46271fc827adcd3d89ba04593b7f08
https://github.com/llvm/llvm-project/commit/50881d03fc46271fc827adcd3d89ba04593b7f08
Author: vporpo <vporpodas at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add BasicBlock and adds functionality to Function and Context (#97637)
We can now create SandboxIR from LLVM IR using the Context::create*
functions.
Commit: 1d5ac72cd282484c16fb0fe8853ac6e2305b82bf
https://github.com/llvm/llvm-project/commit/1d5ac72cd282484c16fb0fe8853ac6e2305b82bf
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
Log Message:
-----------
[MC][NFC] Fix typo in MCPseudoProbeFrameLocation (#98090)
Commit: 87d58ab22af0627b2c90138713c19b5263b6c132
https://github.com/llvm/llvm-project/commit/87d58ab22af0627b2c90138713c19b5263b6c132
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
Log Message:
-----------
[clang-doc] fix paths by hard coding path to share (#98099)
Commit: 4010f894a1e880f88bda78a49a8bece5affaa848
https://github.com/llvm/llvm-project/commit/4010f894a1e880f88bda78a49a8bece5affaa848
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SlotIndexes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.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/RegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/lib/CodeGen/StackColoring.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/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.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/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.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/WebAssemblyRegStackify.cpp
A llvm/test/CodeGen/X86/slot-indexes.ll
Log Message:
-----------
[CodeGen][NewPM] Port `SlotIndexes` to new pass manager (#97941)
- Add `SlotIndexesAnalysis`.
- Add `SlotIndexesPrinterPass`.
- Use `SlotIndexesWrapperPass` in legacy pass.
Commit: d0f3943a027347685905080f6f5ee423b1c8714a
https://github.com/llvm/llvm-project/commit/d0f3943a027347685905080f6f5ee423b1c8714a
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove -riscv-disable-insert-vsetvl-phi-opt flag (#97991)
This flag was added in https://reviews.llvm.org/D103277 out of
precaution, but it's been enabled by default for 3 years now and I
haven't seen any miscompiles upstream stemming from needVSETVLIPHI. This
would remove it just to simplify the number of configurations.
Commit: 3f83a69bcb2c6b5fa3efbc41d1822e6fa69a6620
https://github.com/llvm/llvm-project/commit/3f83a69bcb2c6b5fa3efbc41d1822e6fa69a6620
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
Log Message:
-----------
[RISCV] Allow folding vmerge into masked ops when mask is the same (#97989)
We currently only fold a vmerge into a masked true operand if the vmerge
has an all-ones mask, since we end up keeping the mask from the true
operand.
But if the masks are the same then we can still fold, because vmerge and
true have the same passthru. If an element was masked off in the
original vmerge, it will also be masked off in the resulting true, and
will have the same passthru value.
The motivation for this is to lower masked VP loads and stores with
passthrus to masked RVV instructions. Normally you can express a masked
RVV instruction with a mask undisturbed passthru via a combination of a
VP op with an all-ones mask and a vp.merge. But for loads and stores you
need the same mask on the VP op as well as the vp.merge.
Commit: 84741940f2d9cb858ecb29ce5197714a45e7e67a
https://github.com/llvm/llvm-project/commit/84741940f2d9cb858ecb29ce5197714a45e7e67a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV] Remove unused RequiredFeatures argument from RVVIntrinsic constructor. NFC (#98067)
Looks like the usage was removed by
7a5cb15ea6facd82756adafae76d60f36a0b60fd
Commit: 50fea9943fa59ed1aeb4538e0f715cc01db58a9a
https://github.com/llvm/llvm-project/commit/50fea9943fa59ed1aeb4538e0f715cc01db58a9a
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/include/llvm/Bitcode/BitcodeWriter.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/tools/llvm-lto/llvm-lto.cpp
Log Message:
-----------
Reland "[ThinLTO][Bitcode] Generate import type in bitcode" (#97253)
https://github.com/llvm/llvm-project/pull/87600 was reverted in order to
revert
https://github.com/llvm/llvm-project/commit/6262763341fcd71a2b0708cf7485f9abd1d26ba8.
Now https://github.com/llvm/llvm-project/pull/95482 is fix forward for
https://github.com/llvm/llvm-project/commit/6262763341fcd71a2b0708cf7485f9abd1d26ba8.
This patch is a reland for
https://github.com/llvm/llvm-project/pull/87600
**Changes on top of original patch**
In `llvm/include/llvm/IR/ModuleSummaryIndex.h`, make the type of
`GVSummaryPtrSet` an `unordered_set` which is more memory efficient when
the number of elements is smaller than 128 [1]
**Original commit message**
For distributed ThinLTO, the LTO indexing step generates combined
summary for each module, and postlink pipeline reads the combined
summary which stores the information for link-time optimization.
This patch populates the 'import type' of a summary in bitcode, and
updates bitcode reader to parse the bit correctly.
[1]
https://github.com/llvm/llvm-project/blob/393eff4e02e7ab3d234d246a8d6912c8e745e6f9/llvm/lib/Support/SmallPtrSet.cpp#L43
Commit: 2217933c6d3850948dced70097847f5a684ed069
https://github.com/llvm/llvm-project/commit/2217933c6d3850948dced70097847f5a684ed069
Author: Christian Sigg <csigg at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Fix BUILD after 0182f5174f7cab31f8275718ae0aca7e9ac6fcd2.
Commit: 7eb1a320ccc5ce608eb9ea2a0de760fa6c346774
https://github.com/llvm/llvm-project/commit/7eb1a320ccc5ce608eb9ea2a0de760fa6c346774
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
A llvm/test/CodeGen/AMDGPU/insert-skips-gfx10.mir
A llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
Log Message:
-----------
[AMDGPU] Update EXECZ retention in SIPreEmitPeephole for GFX10/12 (#97676)
The check to maintain EXECZ branches only checks S_WAITCNT.
Add handling for new waitcnt instructions in GFX10 and GFX12.
Commit: bb8998dd3b74a6936452d7ddeb341e79c1d8f001
https://github.com/llvm/llvm-project/commit/bb8998dd3b74a6936452d7ddeb341e79c1d8f001
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
Log Message:
-----------
[RISCV] Don't custom legalize vXf16 SPLAT_VECTOR with Zvfhmin without Zfhmin.
Marking SPLAT_VECTOR as Custom enables generic DAGCombine to turn
BUILD_VECTOR into SPLAT_VECTOR. We need to custom type legalize BUILD_VECTOR
without Zfhmin since we don't have the scalar f16 type. If we allow
SPLAT_VECTOR to be formed, we'll need to custom type legalize it too.
Easiest fix is to only enable SPLAT_VECTOR with Zvfhmin+Zfhmin. There's
still an issue that we need to properly support BUILD_VECTOR with Zvfhmin+Zfhmin.
Should fix the new case reported in #97849.
I've also changed the predicates to Zfhmin instead of ZfhminOrZhinxmin
since Zhinx isn't compatible with Zvfhmin.
Commit: 626c7ce33f850831949e4e724016ddbff3a34990
https://github.com/llvm/llvm-project/commit/626c7ce33f850831949e4e724016ddbff3a34990
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
A clang/test/Driver/loongarch-msimd.c
M clang/test/Preprocessor/init-loongarch.c
Log Message:
-----------
[LoongArch][clang] Add support for option `-msimd=` and macro `__loongarch_simd_width`. (#97984)
Commit: 32597685574e594d745df1bb15dc0e626bd60566
https://github.com/llvm/llvm-project/commit/32597685574e594d745df1bb15dc0e626bd60566
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaRISCV.cpp
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/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/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/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/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
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Sema/riscv-types.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ret.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/bfloat-arith.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-fcmp.ll
M llvm/test/CodeGen/RISCV/bfloat-frem.ll
M llvm/test/CodeGen/RISCV/bfloat-imm.ll
M llvm/test/CodeGen/RISCV/bfloat-isnan.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat-select-fcmp.ll
M llvm/test/CodeGen/RISCV/bfloat-select-icmp.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/select-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfwmacc_4x4x4.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvtbf16-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvtbf16-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmaccbf16.ll
M llvm/test/CodeGen/RISCV/rvv/vle.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/vse.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-bf16.ll
M llvm/test/CodeGen/RISCV/zfbfmin.ll
M llvm/test/MC/RISCV/attribute-arch-invalid.s
M llvm/test/MC/RISCV/fp-default-rounding-mode.s
M llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
M llvm/test/MC/RISCV/rv32zfbfmin-valid.s
M llvm/test/MC/RISCV/rvv/zvfbfmin.s
M llvm/test/MC/RISCV/rvv/zvfbfwma-invalid.s
M llvm/test/MC/RISCV/rvv/zvfbfwma.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental for bf16 extensions (#97996)
They are already ratified now.
Commit: 9acaccbaeef50fda3b73b7760fc48771e623efc9
https://github.com/llvm/llvm-project/commit/9acaccbaeef50fda3b73b7760fc48771e623efc9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
Log Message:
-----------
[RISCV][Driver] Refactor `riscv::getRISCVArch` to return `std::string`. NFC. (#97965)
See the discussion in
https://github.com/llvm/llvm-project/pull/94352#discussion_r1657074801
Commit: f3fe14fabc42f890cde58db8f50db4dd5e01f9b7
https://github.com/llvm/llvm-project/commit/f3fe14fabc42f890cde58db8f50db4dd5e01f9b7
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/puts.cpp
Log Message:
-----------
[libc] puts implementation for baremetal (#98051)
This is a simple baremetal implementation of puts akin to putchar.
Commit: 2abe53a17f486a055a3715f19a37e3e91b4415fc
https://github.com/llvm/llvm-project/commit/2abe53a17f486a055a3715f19a37e3e91b4415fc
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
M llvm/test/tools/llvm-objcopy/ELF/remove-section-in-group.test
Log Message:
-----------
Revert "[llvm-objcopy] Remove empty SHT_GROUP sections (#97141)"
This reverts commit 359c64f314ad568e78ee9a3723260286e3425c2d.
This caused heap-use-after-free. See #98106.
Commit: ed51908cec879c9dff435abdc70d8b03afc35c07
https://github.com/llvm/llvm-project/commit/ed51908cec879c9dff435abdc70d8b03afc35c07
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Emit VP strided load in mgather combine. NFCI (#98112)
This combine is a duplication of the transform in
RISCVGatherScatterLowering but at the SelectionDAG level, so similarly
to #98111 we can replace the use of riscv_masked_strided_load with a VP
strided load.
Unlike #98111 we don't require #97800 or #97798 since it only operates
on fixed vectors with a non-zero stride.
Commit: be7239e5a60927f5b4932f995dc4b57423ea8534
https://github.com/llvm/llvm-project/commit/be7239e5a60927f5b4932f995dc4b57423ea8534
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/pr97590.ll
Log Message:
-----------
[Inline] Remove bitcast handling in `CallAnalyzer::stripAndComputeInBoundsConstantOffsets` (#97988)
As we are now using opaque pointers, bitcast handling is no longer
needed.
Closes https://github.com/llvm/llvm-project/issues/97590.
Commit: cff8d716bdf017a2af8eb8623257fd33ee43f30e
https://github.com/llvm/llvm-project/commit/cff8d716bdf017a2af8eb8623257fd33ee43f30e
Author: v01dXYZ <14996868+v01dXYZ at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Transforms/LoopUnroll/peel-loop-scev-invalidate-with-overflow-inst.ll
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] forgetValue: support (with-overflow-inst op0, op1) (#98015)
The use-def walk in forgetValue() was skipping instructions with
non-SCEVable types. However, SCEV may look past with.overflow
intrinsics returning aggregates.
Fixes #97586.
Commit: a1e1f31570adf2805ae9cc3bc690a4eef72ba4f2
https://github.com/llvm/llvm-project/commit/a1e1f31570adf2805ae9cc3bc690a4eef72ba4f2
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC][clang] Add a release note for `#embed` (#97997)
Commit: eee9efb09c1a3cbbb1ad5471713f3da218c8b00e
https://github.com/llvm/llvm-project/commit/eee9efb09c1a3cbbb1ad5471713f3da218c8b00e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp][NFC] Add empty initializer list to test decl
This was missing in the test.
Commit: 93869dfd89387844bf8b605ebcd1abc0cc81bde8
https://github.com/llvm/llvm-project/commit/93869dfd89387844bf8b605ebcd1abc0cc81bde8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/test/AST/Interp/lifetimes.cpp
Log Message:
-----------
[clang][Interp][NFC] Simplify a test case
Commit: 58e750bfd621ac7ef8647eb1170b254e05ffc10d
https://github.com/llvm/llvm-project/commit/58e750bfd621ac7ef8647eb1170b254e05ffc10d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
Log Message:
-----------
[lldb] Put the new debugger in synchronous mode in TestGlobalModuleCache (#98041)
In async mode, the test terminates sooner than it should
(`run_to_source_breakpoint` does not work in this mode), and then the
test crashes due to #76057. Most of the time, the test does not fail
because its already XFAILed, but the crash still registers as a failure.
Commit: 3655de73809b0f8f100040c4b9c9ad889dca2225
https://github.com/llvm/llvm-project/commit/3655de73809b0f8f100040c4b9c9ad889dca2225
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBlock.cpp
Log Message:
-----------
[clang][Interp] Avoid a dangling pointer
We've just moved all the pointers from the Block to the DeadBlock,
so make sure the old Block doesn't point to a linked list of Pointers
that don't even point to it anymore.
Commit: efc5a6aa82081aaa002f90baa21fc16655af0729
https://github.com/llvm/llvm-project/commit/efc5a6aa82081aaa002f90baa21fc16655af0729
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Print Block descriptor in ::dump()
Commit: 1e7d6d345518de0738eb5b2eb71addd499fea0fb
https://github.com/llvm/llvm-project/commit/1e7d6d345518de0738eb5b2eb71addd499fea0fb
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][vector] Propagate scalability to gather/scatter ptrs vector (#97584)
In convert-vector-to-llvm the first operand (vector of pointers holding
all memory addresses to read) to the masked.gather (and scatter)
intrinsic has a fixed vector type.
This may result in intrinsics where the scalable flag has been dropped:
```
%0 = llvm.intr.masked.gather %1, %2, %3 {alignment = 4 : i32}
: (!llvm.vec<4 x ptr>, vector<[4]xi1>, vector<[4]xi32>) -> vector<[4]xi32>
```
Fortunately the operand is overloaded on the result type so we end up
with the correct IR when lowering to LLVM, but this is still incorrect.
This patch fixes it by propagating scalability.
Commit: 8011a23948cb18a6771b5acb8c73a7d6bae7e40d
https://github.com/llvm/llvm-project/commit/8011a23948cb18a6771b5acb8c73a7d6bae7e40d
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
Log Message:
-----------
[mlir][linalg] Support scalable vectorization of linalg.index operations (#96778)
The vectorization of linalg.index operations doesn't support scalable
vectors when computing the index vector. This patch fixes this with the
vector.step operation.
Depends on #96776
Commit: 4f68d20d87b5a4c06c4ec954c93069cebeb6dfee
https://github.com/llvm/llvm-project/commit/4f68d20d87b5a4c06c4ec954c93069cebeb6dfee
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Simplify Pointer Block accessing code
Try to get PointeeStorage.BS.Pointee only once and reuse that.
Commit: ad82d1c53f089937c05af11ff45798ceb5ca894e
https://github.com/llvm/llvm-project/commit/ad82d1c53f089937c05af11ff45798ceb5ca894e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
Log Message:
-----------
[clang][Interp][NFC] Move a lambda declaration into its closest scope
Commit: f1eed011b4b28aecd07170f9b26cc0efb45904ee
https://github.com/llvm/llvm-project/commit/f1eed011b4b28aecd07170f9b26cc0efb45904ee
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/unittests/Support/MathExtrasTest.cpp
M mlir/lib/IR/AffineExpr.cpp
Log Message:
-----------
MathExtras: add overflow query for signed-div (#97901)
5221634 (Do not trigger UB during AffineExpr parsing) noticed that
divideCeilSigned and divideFloorSigned would overflow when Numerator =
INT_MIN, and Denominator = -1. This observation has already been made by
DynamicAPInt, and it has code to check this. To avoid checks in multiple
callers, centralize this query in MathExtras, and change
divideCeilSigned/divideFloorSigned to assert on overflow.
Commit: cd89d926aed1de3d1255043eba39801b54393040
https://github.com/llvm/llvm-project/commit/cd89d926aed1de3d1255043eba39801b54393040
Author: Alex Langford <alangford at apple.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lldb/source/Target/StackFrameList.cpp
Log Message:
-----------
[lldb] Correct invalid format style (#98089)
Fixes https://github.com/llvm/llvm-project/issues/97511
Commit: e5865ec93cbf77f84c55e55383ce3254186fc065
https://github.com/llvm/llvm-project/commit/e5865ec93cbf77f84c55e55383ce3254186fc065
Author: runseny <145632023+runseny at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 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/fp-math-function-attributes.mlir
Log Message:
-----------
[MLIR][LLVM] Add ftz and fuse FP ops related function attribute support (#97812)
Adds `denormal-fp-math-f32`, `denormal-fp-math`, `fp-contract` to
llvmFuncOp attributes.
`denormal-fp-math-f32` and `denormal-fp-math` can enable the ftz, that
is , flushing denormal to zero.
`fp-contract` can enable the fma fusion such as `mul + add -> fma`
Commit: f0c7505f597998c84023ccd609ecfc9af3d5b4d6
https://github.com/llvm/llvm-project/commit/f0c7505f597998c84023ccd609ecfc9af3d5b4d6
Author: Yupei Liu <liuyupei951018 at hotmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Fix the order of addInstantiatedParameters in LambdaScopeForCallOperatorInstantiationRAII (#97215)
Currently, `addInstantiatedParameters` is called from the innermost
lambda outward. However, when the function parameters of an inner lambda
depend on the function parameters of an outer lambda, it can lead to a
crash due to the inability to find a mapping for the instantiated decl.
This PR corrects this behavior by calling `addInstantiatedParameters`
from the outside in.
repro code: https://godbolt.org/z/KbsxWesW6
```cpp
namespace dependent_param_concept {
template <typename... Ts> void sink(Ts...) {}
void dependent_param() {
auto L = [](auto... x) {
return [](decltype(x)... y) { // `y` depends on `x`
return [](int z)
requires requires { sink(y..., z); }
{};
};
};
L(0, 1)(1, 2)(1);
}
} // namespace dependent_param_concept
```
This PR is a prerequisite for implmenting #61426
Commit: dd2bf3b840df260d794e37cc96d4498372aa08f6
https://github.com/llvm/llvm-project/commit/dd2bf3b840df260d794e37cc96d4498372aa08f6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.h
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvalEmitter.h
M clang/test/C/C23/n3017.c
M clang/test/CodeGenCXX/no-const-init-cxx2a.cpp
M clang/test/SemaCXX/warn-unused-variables.cpp
Log Message:
-----------
[clang][Interp] Redo variable (re)visiting
Depending on the circumstances we visit variables in, we need to
be careful about when to destroy their temporaries and whether to
emit a Ret op at all or not.
Commit: cfa2d7df11f1a930ebae5a7bdbea924bb129f55e
https://github.com/llvm/llvm-project/commit/cfa2d7df11f1a930ebae5a7bdbea924bb129f55e
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/getchar.cpp
Log Message:
-----------
[libc] Provide baremetal implementation of getchar (#98059)
This introduces opaque type `struct __llvm_libc_stdin` and a symbol
`__llvm_libc_stdin_read` that's intended to be provided by the vendor.
`__llvm_libc_stdin_read` intentionally has the same signature as
`cookie_read_function_t` so it can be used with `fopencookie` to
represent `stdin` as `FILE *` in the future.
Commit: 765e2f9a8de27cc8fd8c75540844e9630d8229ad
https://github.com/llvm/llvm-project/commit/765e2f9a8de27cc8fd8c75540844e9630d8229ad
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/test/fuzzer/fuzzer-finalstats.test
Log Message:
-----------
[compiler-rt][fuzzer][test] Disable finalstats test
This test is flaky and has been reporting irrelevant failures to PRs
on Github for example:
https://github.com/llvm/llvm-project/pull/97829#issuecomment-2214030135
https://lab.llvm.org/buildbot/#/builders/66/builds/1159
Adding this to https://github.com/llvm/llvm-project/issues/97712.
Commit: a77d3ea310c61cf59c1146895b2d51fe014eb0a9
https://github.com/llvm/llvm-project/commit/a77d3ea310c61cf59c1146895b2d51fe014eb0a9
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/test/CodeGen/X86/GlobalISel/x86_64-fallback.ll
A llvm/test/CodeGen/X86/isel-x87.ll
Log Message:
-----------
[X86][GlobalISel] Add instruction selection support for x87 ld/st (#97016)
Add x87 G_LOAD/G_STORE selection support to existing C++ lowering.
Commit: bb90e2ed873e535be937d1fdad36d61a4af3dc0e
https://github.com/llvm/llvm-project/commit/bb90e2ed873e535be937d1fdad36d61a4af3dc0e
Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/test/fuzzer/fuzzer-finalstats.test
Log Message:
-----------
[libfuzzer] Fix -runs=X flaky test (fuzzer-finalstats.test) (#96914)
Disables LSan in order to remove a 1% flake rate in this test.
There's some logic in LeakSanitizer and its integration into libFuzzer
that will disable LSan and re-run the input. This only happens when more
malloc()s are detected than free()s. Under high system load, this
appears to be possible as the "more mallocs than frees" is dependent on
walltime. In these instances, the number of runs ends up being `n + 1`,
which is undesirable.
Commit: a8a21bbec218d4385d49acedf6fa9c0710b06e3a
https://github.com/llvm/llvm-project/commit/a8a21bbec218d4385d49acedf6fa9c0710b06e3a
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/apx/ccmp.ll
Log Message:
-----------
[X86][test] Pre-update test for the encoding bug introduced in #85175
Commit: 2b56005fd91de3adba1957e70575d5461329178b
https://github.com/llvm/llvm-project/commit/2b56005fd91de3adba1957e70575d5461329178b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
Log Message:
-----------
[Flang][OpenMP] Refactor loop-related lowering for composite support (#97566)
This patch splits the lowering for `omp.loop_nest` into its own function
and updates lowering for all supported loop wrappers to stop creating
this operation themselves.
Lowering functions for loop constructs are split into "wrapper" and
"standalone" variants, where the "wrapper" version only creates the
specific operation with nothing inside of it and the "standalone"
version calls the former and also handles clause processing and creates
the nested `omp.loop_nest`.
"Wrapper" lowering functions can be used by "composite" lowering
functions in follow-up patches, minimizing code duplication.
Tests broken as a result of reordering between the processing of the
loop wrapper's and the nested `omp.loop_nest`'s clauses are also
updated.
Commit: ad315ebfee626dbd472b9d68a76632f9e68bc8f5
https://github.com/llvm/llvm-project/commit/ad315ebfee626dbd472b9d68a76632f9e68bc8f5
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[MLIR][NFC]Fix unusued variable warning. (#97813)
This just changes a dyn_cast to and isa call to check for type, which
avoids getting a warning in clang. The variable `ity` is not used in the
next block.
No functional change.
Commit: ae5aebd48df8d15f06a7a9aa7a9e193d32cd5c85
https://github.com/llvm/llvm-project/commit/ae5aebd48df8d15f06a7a9aa7a9e193d32cd5c85
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lldb/tools/debugserver/source/PThreadMutex.h
Log Message:
-----------
[lldb][NFC] Add maybe_unused to err used in asserts (#98055)
Commit: 313b6c9a5e8c2b8686ea43a42806822fa5c07ef8
https://github.com/llvm/llvm-project/commit/313b6c9a5e8c2b8686ea43a42806822fa5c07ef8
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lld/Common/Version.cpp
Log Message:
-----------
[LLD] Fix preprocessor condition when getting lld version (#98137)
Commit: 2a36ef580e560698581984d3e309e474c91ed111
https://github.com/llvm/llvm-project/commit/2a36ef580e560698581984d3e309e474c91ed111
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
R llvm/test/Assembler/invalid-disubrange-count-missing.ll
A llvm/test/DebugInfo/subrange-missing-upperBound.ll
R llvm/test/Verifier/digenericsubrange-missing-upperBound.ll
R llvm/test/Verifier/disubrange-missing-upperBound.ll
Log Message:
-----------
[DebugInfo] Allow DISubrange/DIGenericSubrange without count/upperBound. (#96474)
Due to the current order of metadata in DISubprgram, `Type` is processed
before `Unit` by the Verifier. This can cause a race and
use of garbage data. Consider the following code:
```
int test(int a[][5])
{
return a[0][2];
}
```
when compiled with clang, the control reaches
`Verifier::visitDISubrange` first with `CurrentSourceLang` still equal
to dwarf::DW_LANG_lo_user (32768). The `Verifier::visitDICompileUnit`
which sets the value of `CurrentSourceLang` is reached later. So
`Verifier::visitDISubrange` ends up using a wrong value of
`CurrentSourceLang`.
This behavior does not effect C like language much but is a problem for
Fortran. There is special processing in `Verifier::visitDISubrange` when
`CurrentSourceLang` is Fortran. With this problem, that special handling
is missed and verifier fails for any code that has Fortran's assumed
size array in a global subroutine.
Various solutions were tried to solve this problem before it was decided that
best course of action is to remove these checks from Verifier.
Commit: a2a0ef567cd92e3df03f10cab8a9ebc62aff3be9
https://github.com/llvm/llvm-project/commit/a2a0ef567cd92e3df03f10cab8a9ebc62aff3be9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Retrieve LatchVPBB from region in adjustRecipesForRed (NFC)
The HeaderVPBB is retrieved in a similar fashion already.
This is in preparation for splitting up the very large
tryToBuildVPlanWithVPRecipes into several distinct functions, as
suggested multiple times, including in
https://github.com/llvm/llvm-project/pull/94760
Commit: 369d3a738082a2fac1a98aae8a8cfded9a010e10
https://github.com/llvm/llvm-project/commit/369d3a738082a2fac1a98aae8a8cfded9a010e10
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
Log Message:
-----------
[clang][Interp][NFC] Remove ExprScope
It's been nothing but a LocalScope for a while.
Commit: f6712d27874004835170e6eb8ff5f348a8866057
https://github.com/llvm/llvm-project/commit/f6712d27874004835170e6eb8ff5f348a8866057
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
Log Message:
-----------
[clang][Interp][NFC] Get rid of AutoScope
Commit: 52d2d8200807357a582e089eaa95692b2c77da2e
https://github.com/llvm/llvm-project/commit/52d2d8200807357a582e089eaa95692b2c77da2e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-compound.f90
A flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[Flang][OpenMP] Add lowering support for DO SIMD (#97718)
This patch adds support for lowering 'DO SIMD' constructs to MLIR. SIMD
information is now stored in an `omp.simd` loop wrapper, which is
currently ignored by the OpenMP dialect to LLVM IR translation stage.
The end result is that runtime behavior of compiled 'DO SIMD' constructs
does not change after this patch, so 'DO SIMD' still runs like 'DO'
(i.e. SIMD width = 1). However, all of the required information is now
present in the resulting MLIR representation.
To avoid confusion, the previous wsloop-simd.f90 lit test is renamed to
wsloop-schedule.f90 and a new wsloop-simd.f90 test is created to check
the addition of SIMD clauses to the `omp.simd` operation produced when a
'DO SIMD' construct is lowered to MLIR.
Commit: 918ac62916d48649f224f8c54837d25baff97a08
https://github.com/llvm/llvm-project/commit/918ac62916d48649f224f8c54837d25baff97a08
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-compound.f90
Log Message:
-----------
[Flang][OpenMP] Add lowering support for DISTRIBUTE SIMD (#97819)
This patch adds support for lowering 'DISTRIBUTE SIMD' constructs to
MLIR. Translation of `omp.distribute` operations to LLVM IR is still not
supported, so its composition with `omp.simd` isn't either.
Commit: 29896db09c81c79c211e33dc471e23e68ad16e23
https://github.com/llvm/llvm-project/commit/29896db09c81c79c211e33dc471e23e68ad16e23
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
Log Message:
-----------
[clang-tidy] Do not warn on const variables in misc-use-internal-linkage (#97969)
Since in C++ they already have implicit internal linkage.
Fixes #97947
Commit: 96c9913332ce36e575affd6be355ed686ad36996
https://github.com/llvm/llvm-project/commit/96c9913332ce36e575affd6be355ed686ad36996
Author: A. Jiang <de34 at live.cn>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__format/format_args.h
M libcxx/test/std/utilities/format/format.arguments/format.args/ctor.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
Log Message:
-----------
[libc++][format] LWG4106: `basic_format_args` should not be default-constructible (#97250)
See [LWG4106](https://cplusplus.github.io/LWG/issue4106) and
[P3341R0](https://wg21.link/p3341r0).
The test coverage for the empty state of `basic_format_args` in
`get.pass.cpp` is to be completely removed, because the
non-default-constructibility is covered in `ctor.pass.cpp`.
Commit: ca055bbec7ed27cb57b95a8f610aa5267fb7c30d
https://github.com/llvm/llvm-project/commit/ca055bbec7ed27cb57b95a8f610aa5267fb7c30d
Author: A. Jiang <de34 at live.cn>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__format/format_context.h
M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
M libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
Log Message:
-----------
[libc++][format] LWG4061: Should `std::basic_format_context` be default-constructible/copyable/movable? (#97251)
See [LWG4061](https://cplusplus.github.io/LWG/issue4061) and
[P3341R0](https://wg21.link/p3341r0). Effectively reverts commit
36ce0c3b1e581ca310ae7d0cbc6af002cc5d0251.
`libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp`
has a `format` function that unexpectedly takes the
`basic_format_context` by value, which is made ill-formed by LWG4061.
This PR changes the function to take the context by reference.
Commit: 6b76c1e64ca7689ac9d9de8a4529c7af51e8b472
https://github.com/llvm/llvm-project/commit/6b76c1e64ca7689ac9d9de8a4529c7af51e8b472
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/test/CodeGen/isfpclass.c
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/add-nuw-nsw-flags.ll
M llvm/test/Transforms/SCCP/overdefined-ext.ll
M llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll
Log Message:
-----------
[SCCP] Add support for vectors (#98026)
Add preliminary support for vectors of integers by using the
`ValueLatticeElement::asConstantRange()` helper instead of a custom
implementation, and relxing various integer type checks.
This enables just the part that works automatically, e.g. icmps with a
constant vector operand aren't supported yet.
The change in ssa.copy handling is because asConstantRange() returns an
unknown LV for empty range, while SCCP's getConstantRange() returned a
full range. I've made the change to preserve the existing behavior.
Commit: e74fc39a25a21963e2893f8ae5e078c009bf7ace
https://github.com/llvm/llvm-project/commit/e74fc39a25a21963e2893f8ae5e078c009bf7ace
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
Log Message:
-----------
[Flang][OpenMP] Fix broken simd aligned lowering unit tests
Commit: 19cc46144d10964a55cc7e7f3abeeba5f8c161ba
https://github.com/llvm/llvm-project/commit/19cc46144d10964a55cc7e7f3abeeba5f8c161ba
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
Log Message:
-----------
[RISCV] Use VP strided load in concat_vectors combine (#98131)
Commit: 3670e7f86cc69692432e57828a0acf1a5abd3156
https://github.com/llvm/llvm-project/commit/3670e7f86cc69692432e57828a0acf1a5abd3156
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
Log Message:
-----------
[MLIR] Add the convergent attribute to the barrier and shuffle ops (#97807)
When lowering from the gpu dialect to the llvm dialect for spirv, the
barrier op and shuffle ops need a convergent attribute for correctness.
Commit: 72ccdd8192114273501396908a6cac8b1a23dcea
https://github.com/llvm/llvm-project/commit/72ccdd8192114273501396908a6cac8b1a23dcea
Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/src/math/generic/cospif.cpp
M libc/test/src/math/cospif_test.cpp
Log Message:
-----------
[libc][math][C23] Cospif function should only return unsigned zeros (#98037)
Patches the cospif function, which should always return unsigned zeros
as specified in the standard. Also updates unit tests.
Commit: 72937203dd3beb294b52d5e61d1523acf046456f
https://github.com/llvm/llvm-project/commit/72937203dd3beb294b52d5e61d1523acf046456f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Create vector header and latch VPBBs in createInitialVPlan (NFC)
The empty header and latch blocks can be created together with the
vector loop region.
This is in preparation for splitting up the very large
tryToBuildVPlanWithVPRecipes into several distinct functions, as
suggested multiple times, including in
https://github.com/llvm/llvm-project/pull/94760
Commit: 9856af634db8bf550893606ba42c56d4dff3f320
https://github.com/llvm/llvm-project/commit/9856af634db8bf550893606ba42c56d4dff3f320
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
Log Message:
-----------
Revert "[AArch64][GlobalISel] Make G_DUP immediate 32-bits or larger (#96780)"
This reverts commit 5a5cd3f0bcdf37a32eadd85d6e57c642cb829402.
Due to test suite failures on AArch64:
https://lab.llvm.org/buildbot/#/builders/125/builds/541
Commit: c530dadebb2c4f073daac3f0ec61bd41fa7a367d
https://github.com/llvm/llvm-project/commit/c530dadebb2c4f073daac3f0ec61bd41fa7a367d
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/puts.h
Log Message:
-----------
[libc] Remove unnecessary `stdio.h` includes (#98132)
Commit: c16e37867ca838621ff9233f4d1a58207c3e99db
https://github.com/llvm/llvm-project/commit/c16e37867ca838621ff9233f4d1a58207c3e99db
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Clarify setting Lane in fixPhi (NFCI).
Split off from https://github.com/llvm/llvm-project/pull/94760, clarify
as suggested.
Commit: ef5b1ec0dd0ed39de5ac5df6f9e3052d359733ae
https://github.com/llvm/llvm-project/commit/ef5b1ec0dd0ed39de5ac5df6f9e3052d359733ae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] foldShuffleToIdentity - ensure casts have the same source type
Commit: 38bed813505ffed8a7a26ae357a855bb471403a2
https://github.com/llvm/llvm-project/commit/38bed813505ffed8a7a26ae357a855bb471403a2
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[bazel] Add missing deps for afa6bed8afe9011c07c682a0a24362260d92cfdd
Commit: a9183b8899f2c02ba3710b27c0cbdde6831a627b
https://github.com/llvm/llvm-project/commit/a9183b8899f2c02ba3710b27c0cbdde6831a627b
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/test/CodeGen/X86/apx/ccmp.ll
A llvm/test/MC/X86/apx/ccmp-encopt.s
Log Message:
-----------
[X86][MC] Fix encoding bug for CCMP introduced in #85175
Commit: afee09c50c11da1ea6ba0b341a1c10dedeaf5be6
https://github.com/llvm/llvm-project/commit/afee09c50c11da1ea6ba0b341a1c10dedeaf5be6
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
Log Message:
-----------
[lldb] Use correct path separator for C++ library files lookup (#98144)
Use POSIX-style path separators when checking for libcpp library path.
This is necessary to run API tests from 'std-module' group compiled on
Windows host for Linux target.
Commit: 042ef401388aa0fc4e393803300b65436e1638bf
https://github.com/llvm/llvm-project/commit/042ef401388aa0fc4e393803300b65436e1638bf
Author: Fabio D'Urso <fdurso at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
Log Message:
-----------
[scudo][fuchsia] Give dispatched VMOs a (temporary) name (#97578)
Instead of leaving them unnamed. Subsequent remap() calls will
set the actual final name.
Commit: 2cba218ca573f5da6ff301df59aa686d2e3e40c5
https://github.com/llvm/llvm-project/commit/2cba218ca573f5da6ff301df59aa686d2e3e40c5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-deletion.ll
Log Message:
-----------
[SLP]Fix PR98133: Inserting PHI after debug-records!
The phi-node-to-be-deleted still should be inserted as the first
instruction in the block to avoid random compiler crashes.
Fixes https://github.com/llvm/llvm-project/issues/98133
Commit: 221d5c570c2ad0201d808b889280ef71b80c1845
https://github.com/llvm/llvm-project/commit/221d5c570c2ad0201d808b889280ef71b80c1845
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
Log Message:
-----------
[libc] Disable `-ffreestanding` and `-fno-builtin` on the GPU build (#97636)
Summary:
This patch removed the `-ffreestanding` and `-fno-builtin` flags from
the publically installed version of the GPU library. The presense of
`-fno-builtin` caused issues that prevented all inlining in the GPU C
library, see
https://discourse.llvm.org/t/rfc-libc-ffreestanding-fno-builtin/75883.
Previously, I attempted to fix this by loosening the restriction that
`"no-builtins"` functions cannot be inlined into functions without that
attribute. However, that opened up a lot of extra issues that stalled
that approach.
This patch instead removes that and instead passes `-fno-builtin-<xyz>`
for the few calls that are known to be problematic. I believe this works
in general as the GPU backends do not emit any libcalls and the
implementations of most of these simply reduce to builtins right now.
This is a very useful patch as we can now actually inline calls.
Commit: 302937859fce0bb506ef6edf9c3e77c86ab44b86
https://github.com/llvm/llvm-project/commit/302937859fce0bb506ef6edf9c3e77c86ab44b86
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/test/CoverageMapping/system_macro.cpp
Log Message:
-----------
Update clang/test/system_macro.cpp for both -system-headers-coverage=true/false
Part of #97952
Commit: 48017579e523085bc3ee99004c36526333a3c8b3
https://github.com/llvm/llvm-project/commit/48017579e523085bc3ee99004c36526333a3c8b3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/CoverageMappingGen.h
Log Message:
-----------
Move `SystemHeadersCoverage` into `llvm::coverage` in CoverageMappingGen.h
Part of #97952
Commit: 6aefa918768c834ec21e0b599fa14d03b9ce3dc0
https://github.com/llvm/llvm-project/commit/6aefa918768c834ec21e0b599fa14d03b9ce3dc0
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/test/tools/llvm-objcopy/COFF/subsystem.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-objcopy][COFF] Add aliases for some --subsystem options (#98036)
GNU objcopy has some --subsystem options that aren't present in LLVM's.
They are in fact just aliases to some of the existing options.
For the sake of compatibility with the GNU toolchain, this patch adds
these aliases to LLVM objcopy.
The alias list is not exhaustive as this is an incremental change.
Commit: 722151664ecfd53295392ad875ff9bfdcd1deaaf
https://github.com/llvm/llvm-project/commit/722151664ecfd53295392ad875ff9bfdcd1deaaf
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
A llvm/test/Transforms/InstCombine/pr98139.ll
Log Message:
-----------
[InstCombine] Fix typo in `adjustKnownBitsForSelectArm` (#98155)
Fixes https://github.com/llvm/llvm-project/issues/98139.
Commit: c8ba5562e5d1d6942030e1a47762e6e386ff901d
https://github.com/llvm/llvm-project/commit/c8ba5562e5d1d6942030e1a47762e6e386ff901d
Author: Pierre d'Herbemont <pdherbemont at apple.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/warn-thread-safety-analysis.c
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Support `guarded_by` attribute and related attributes inside C structs and support late parsing them (#95455)
This fixes #20777. This replaces #94216 which was reverted after being
merged.
Previously the `guarded_by`, `pt_guarded_by`, `acquired_after`, and
`acquired_before` attributes were only supported inside C++ classes or
top level C/C++ declaration.
This patch allows these attributes to be added to struct members in C.
These attributes have also now support experimental late parsing. This
is off by default but can be enabled by passing
`-fexperimental-late-parse-attributes`. This is useful for referring to
a struct member after the annotated member. E.g.
```
struct Example {
int a_value_defined_before __attribute__ ((guarded_by(a_mutex)));
struct Mutex *a_mutex;
};
```
Commit: 0ad9d8f279437772d390c7fc6309c09b97406be3
https://github.com/llvm/llvm-project/commit/0ad9d8f279437772d390c7fc6309c09b97406be3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lldb/test/API/commands/expression/bitfield_enums/TestBitfieldEnums.py
Log Message:
-----------
[lldb][test] Skip bitfield enum tests for DWARF v2 and below
Clang's v2 output appears to be missing a key DW_AT_type attribute,
and this causes the "max" of the unsigned enum to appear as -1 instead
of "max" aka 3.
```
(BitfieldStruct) $0 = {
signed_min = min
signed_other = -1
signed_max = max
unsigned_min = min
unsigned_other = 1
unsigned_max = -1
}
```
Test added by #96202.
Commit: d1fbdde9d400222b6db0e5509392007208ad1018
https://github.com/llvm/llvm-project/commit/d1fbdde9d400222b6db0e5509392007208ad1018
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/test/Transforms/NaryReassociate/nary-gep.ll
Log Message:
-----------
[NaryReassociate] Check to avoid introducing poison when reusing SCEVs (#98156)
Drop the poison flags if possible or skip the candidate if it's not.
Otherwise we'd introduce poison in places where it previously wasn't,
leading to miscompiles.
Commit: 997e5e870337e4a25b82be5b01e8f7675c350070
https://github.com/llvm/llvm-project/commit/997e5e870337e4a25b82be5b01e8f7675c350070
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/blocks.c
M clang/test/CodeGenObjC/blocks.m
Log Message:
-----------
[CodeGen] Add a flag to disable emitting block signature strings (#96944)
Users who don't need the signature string to be emitted can use the flag
to reduce code size.
rdar://121933818
Commit: 7346e7cc476143486f87fdd013a56ee9ea7a7c81
https://github.com/llvm/llvm-project/commit/7346e7cc476143486f87fdd013a56ee9ea7a7c81
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
Log Message:
-----------
[VPlan] Update HCFG builder after 72937203dd3b to fix leak.
Update buildPlainCFG to re-use the vector and latch VPBBs created as
part of the initial skeleton in 72937203dd3b.
This should fix the leak sanitizer failure discovered by
https://lab.llvm.org/buildbot/#/builders/52/builds/619.
Commit: baf22a527ca6571cdf5cd57c524a1fc261207947
https://github.com/llvm/llvm-project/commit/baf22a527ca6571cdf5cd57c524a1fc261207947
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Handle vscale range wrapping in isKnownNeverZero
As pointed out by @preames, ConstantRange can wrap so it's possible
for zero to be in a range without zero being the minimum. This fixes
this by checking contains instead.
Commit: e42f760b6551d3674658d8c6bf5206e52822036b
https://github.com/llvm/llvm-project/commit/e42f760b6551d3674658d8c6bf5206e52822036b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.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++] Define the __cpp_lib_atomic_ref feature test macro (#98081)
We forgot to enable it when we landed std::atomic_ref in 42ba740aff.
Commit: 5c2bdc53c445b9f951cb13fb445b9145c970ee36
https://github.com/llvm/llvm-project/commit/5c2bdc53c445b9f951cb13fb445b9145c970ee36
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libcxx/utils/libcxx-lit
Log Message:
-----------
[libc++][NFC] Tabs to space in libcxx-lit script
Commit: 390f9b11d1089ce832aacf50b60d22181935baa8
https://github.com/llvm/llvm-project/commit/390f9b11d1089ce832aacf50b60d22181935baa8
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/docs/GettingInvolved.md
Log Message:
-----------
[flang][docs] Remove passwords for bi-weekly flang calls from documen… (#98161)
…tation
The passwords are moved to the Google Doc containing the agenda and
minutes for the calls. A note has been added mentioning where to find
the meeting ID's and passwords.
Fixes #96121
Commit: 9f6dd1f761a5121e9a69e5d1f67c2438c065b499
https://github.com/llvm/llvm-project/commit/9f6dd1f761a5121e9a69e5d1f67c2438c065b499
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfutil/ELF/X86/mirror-permissions-unix.test
M llvm/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
M llvm/test/tools/llvm-objcopy/ELF/respect-umask.test
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/shtest-umask/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-umask/umask-bad-arg.txt
A llvm/utils/lit/tests/Inputs/shtest-umask/umask-ok.txt
A llvm/utils/lit/tests/Inputs/shtest-umask/umask-too-many-args.txt
A llvm/utils/lit/tests/shtest-umask.py
Log Message:
-----------
[lit] Implement builtin umask (#94621)
This allows a few more tests to use lit's internal shell.
Commit: 6c1e3e49c10718e1d45a9031198af0ebd64fecb4
https://github.com/llvm/llvm-project/commit/6c1e3e49c10718e1d45a9031198af0ebd64fecb4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[IR] Return 'unsigned' from ScalableVectorType::getMinNumElements(). (#98103)
The underlying ElementQuantity field is 'unsigned'. The similar
FixedVectorType::getNumElements() returns 'unsigned'.
Commit: 1f238ea62e43fb1436d5f344d23bdeb4b2832724
https://github.com/llvm/llvm-project/commit/1f238ea62e43fb1436d5f344d23bdeb4b2832724
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/test/DebugInfo/subrange-missing-upperBound.ll
Log Message:
-----------
[DebugInfo] Add 'REQUIRES: object-emission' in the test. (#98141)
The test added in #96474 seems to cause buildbot failure on some system.
I have added `REQUIRES: object-emission` in the test and also used `%t`
instead of `-` for output.
Commit: faa4e35c622c13c7a565b979a6676d6cf3040cd4
https://github.com/llvm/llvm-project/commit/faa4e35c622c13c7a565b979a6676d6cf3040cd4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfutil/ELF/X86/mirror-permissions-unix.test
M llvm/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
M llvm/test/tools/llvm-objcopy/ELF/respect-umask.test
M llvm/utils/lit/lit/TestRunner.py
R llvm/utils/lit/tests/Inputs/shtest-umask/lit.cfg
R llvm/utils/lit/tests/Inputs/shtest-umask/umask-bad-arg.txt
R llvm/utils/lit/tests/Inputs/shtest-umask/umask-ok.txt
R llvm/utils/lit/tests/Inputs/shtest-umask/umask-too-many-args.txt
R llvm/utils/lit/tests/shtest-umask.py
Log Message:
-----------
Revert "[lit] Implement builtin umask (#94621)"
This reverts commit 9f6dd1f761a5121e9a69e5d1f67c2438c065b499.
Reverting to investigate buildbot failures e.g.:
"new failure on builder ppc64le-mlir-rhel-clang running on ppc64le-mlir-rhel-test"
Commit: cb4cd3a834415375cace04b8f7260fd6e26e6835
https://github.com/llvm/llvm-project/commit/cb4cd3a834415375cace04b8f7260fd6e26e6835
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[llvm][AArch64] Fix an assertion message in TargetParserTests. NFC (#98085)
For both overloads, we were printing the bit-pattern for ExpectedFlags
twice. While we're here, also add a convenience line that highlights the
difference between the two sets.
Commit: a98882112387b6bc585e758a8139fd06ac41f448
https://github.com/llvm/llvm-project/commit/a98882112387b6bc585e758a8139fd06ac41f448
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-extractelements-different-bbs.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-bool-logic-op-inside.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction_unrolled.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
Log Message:
-----------
[SLP]Keep the original order in the reductions.
The patch tries to keep the original order of the instruction in the
reductions. Previously, two first instructions were switched, giving
reverse order.
The first step to support of the ordered reductions.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/98025
Commit: 5e56d74ce4ee43221d3798bad6f90375b031461e
https://github.com/llvm/llvm-project/commit/5e56d74ce4ee43221d3798bad6f90375b031461e
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/stdlib/CMakeLists.txt
Log Message:
-----------
[libc] Avoid the atexit and exit_handler dependency for exit (#98121)
These are not required and without these dependencies, we would wound up
with an unresolved reference to __cxa_finalize, which can be provided by
the vendor making this compatible with baremetal.
Commit: 2a086dce691e3cc34a2fc27f4fb255bb2cbbfac9
https://github.com/llvm/llvm-project/commit/2a086dce691e3cc34a2fc27f4fb255bb2cbbfac9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/insn-invalid.s
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/insn_c-invalid.s
M llvm/test/MC/RISCV/insn_c.s
Log Message:
-----------
[RISCV][MC] Add support for hardcode encoding of .insn directive (#98030)
This patch adds support for the following two hardcode encodings of
.insn directive:
```
.insn <insn-length>, <value>
.insn <value>
```
See also gas's patch
https://github.com/bminor/binutils-gdb/commit/a262b82fdbf4cda3b0648b1adc32245ca3f78b7a
NOTE: This patch doesn't support long instructions.
Closes https://github.com/llvm/llvm-project/issues/97498.
Commit: 822a818786ccd726e20e2b12cbcccbf9a8f23d4c
https://github.com/llvm/llvm-project/commit/822a818786ccd726e20e2b12cbcccbf9a8f23d4c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add comments for the code, NFC.
Commit: 50a19f94341c4d0a1a2b860b521a0d8a9515fb5f
https://github.com/llvm/llvm-project/commit/50a19f94341c4d0a1a2b860b521a0d8a9515fb5f
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
Log Message:
-----------
[libc] Include stdio.h in baremetal getchar.cpp (#98188)
This is needed for the EOF constant.
Commit: bd7b16217bbac4b1e1a25c7bf9566db715ca9b10
https://github.com/llvm/llvm-project/commit/bd7b16217bbac4b1e1a25c7bf9566db715ca9b10
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Add conversion for stream value in cuf kernel directive (#98082)
The stream value is defined as an i32 value in the operation. Add a
conversion so the declared integer can be different and an i32 value.
Commit: cc945e41a7788327d0e8ba0ea6dc3571d7efa04f
https://github.com/llvm/llvm-project/commit/cc945e41a7788327d0e8ba0ea6dc3571d7efa04f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Object/MachOObjectFile.cpp
R llvm/test/tools/llvm-objdump/MachO/Inputs/macho-inconsistent-export
M llvm/test/tools/llvm-objdump/MachO/bad-trie.test
A llvm/test/tools/llvm-objdump/MachO/export-trie-boundary.test
Log Message:
-----------
[MachO] Loosen boundary check for reading export trie nodes (#96705)
The design of the export trie in macho's is that each node has a
variable length payload. When reading nodes, it should be an error if
reading the uleb128 puts you beyond the stated node size but not when
the stated size goes beyond the known part that was read.
resolves: rdar://130310832
This was primarily authored by Nick Kledzik, I added/cleaned up the test
cases.
Commit: c91b50ed92dc1c498aae9c428ace85edc974a8f3
https://github.com/llvm/llvm-project/commit/c91b50ed92dc1c498aae9c428ace85edc974a8f3
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/test/Preprocessor/hexagon-predefines.c
Log Message:
-----------
[hexagon] Add {con,de}structive interference size defn (#94877)
This support was originally added in 72c373bfdc98 ([C++17] Support
__GCC_[CON|DE]STRUCTIVE_SIZE (#89446), 2024-04-26). We're overriding the
values for Hexagon here.
Signed-off-by: Brian Cain <bcain at quicinc.com>
Commit: d9e4f2cba8171807f6d2a6ddc615ccb902a20a5f
https://github.com/llvm/llvm-project/commit/d9e4f2cba8171807f6d2a6ddc615ccb902a20a5f
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[CMake][Fuchsia] Revert back to using normalized triples (#98189)
We switched to denormalized triples in #89425 but that introduced a lot
of downstream issues so switch back to normalized triples.
Commit: dfc8004d0b0b85155dad0e9aca84716425b87676
https://github.com/llvm/llvm-project/commit/dfc8004d0b0b85155dad0e9aca84716425b87676
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Fix crash when rebuilding MemberExprs with invalid object expressions (#97455)
This patch fixes an assertion failure which occurs when the object expression of a `MemberExpr` is transformed into an expression with a dependent type for which the `DeclContext` cannot be computed (e.g. a `RecoveryExpr`). Fixes #95778.
Commit: 804b264d02f24ffb1cb2415d5a8141a267f66279
https://github.com/llvm/llvm-project/commit/804b264d02f24ffb1cb2415d5a8141a267f66279
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
A llvm/test/tools/obj2yaml/ELF/crel-section.yaml
M llvm/tools/obj2yaml/elf2yaml.cpp
Log Message:
-----------
[obj2yaml] Support CREL
This decoder feature complements the yaml2obj encoder added by #91280.
Pull Request: https://github.com/llvm/llvm-project/pull/98116
Commit: 42835666638df45b4a5346435512259d12a8c94c
https://github.com/llvm/llvm-project/commit/42835666638df45b4a5346435512259d12a8c94c
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
Log Message:
-----------
[test][MachineSink][RISCV] Pre-commit test for #97618
Commit: 90d79e258ee9c6935ffeac405b3e9b74542068aa
https://github.com/llvm/llvm-project/commit/90d79e258ee9c6935ffeac405b3e9b74542068aa
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-arch.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/GlobalISel/atomic-fence.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-fence.ll
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/module-elf-flags.ll
M llvm/test/MC/RISCV/Ztso.s
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/elf-flags.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
Reapply "[RISCV] Remove experimental from Ztso. (#96465)"
This was reverted in f985a8826bfa4ca3d23e654185de35e30ea6dc79. Since that,
the default WMO lowering has moved to A67 compatible, the ABI attribute
emission has landed (off by default), and the LLD change to merge said
attributes have landed. Our ztso lowering is believed to also be A67
compatible, and no known issues remain.
Original commit message:
Ztso 1.0 was ratified in January 2023.
Documentation:
https://github.com/riscv/riscv-isa-manual/blob/main/src/ztso-st-ext.adoc
Commit: 7e2f96194fa56148281c0232b4fa0db5c9cabec3
https://github.com/llvm/llvm-project/commit/7e2f96194fa56148281c0232b4fa0db5c9cabec3
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
Log Message:
-----------
[MachineSink] Fix missing sinks along critical edges (#97618)
4e0bd3f improved early MachineLICM's capabilities to hoist COPY from
physical registers out of a loop. However, it accidentally broke one of
MachineSink's preconditions on sinking cheap instructions (in this case,
COPY) which considered those instructions being profitable to sink only
when there are at least two of them in the same def-use chain in the
same basic block. So if early MachineLICM hoisted one of them out,
MachineSink no longer sink rest of the cheap instructions. This results
in redundant load immediate instructions from the motivating example
we've seen on RISC-V.
This patch fixes this by teaching MachineSink that if there is more than
one demand to sink a register into the same block from different
critical edges, it should be considered profitable as it increases the
CSE opportunities.
This change also improves two of the AArch64's cases.
Commit: 8492ad5964606c0b96e32c697def7e9701bb5d5a
https://github.com/llvm/llvm-project/commit/8492ad5964606c0b96e32c697def7e9701bb5d5a
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] adjust printf macro test to use all 64 bits (#98195)
The previous printf macro test for 64 bit octal used the number 0123,
which is not large enough to ensure that the macro is actually reading a
64 bit number. This patch enlarges the number, and also makes sure the
return value of sprintf is correct for the macro tests.
Commit: 1adb55b1c4bfd21752e6b2718c3c4b8abb203d09
https://github.com/llvm/llvm-project/commit/1adb55b1c4bfd21752e6b2718c3c4b8abb203d09
Author: Chris Apple <cja-private at pm.me>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/CODE_OWNERS.TXT
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
A compiler-rt/lib/rtsan/CMakeLists.txt
A compiler-rt/lib/rtsan/rtsan.cpp
A compiler-rt/lib/rtsan/rtsan.h
A compiler-rt/lib/rtsan/rtsan_context.cpp
A compiler-rt/lib/rtsan/rtsan_context.h
A compiler-rt/lib/rtsan/rtsan_interceptors.cpp
A compiler-rt/lib/rtsan/rtsan_interceptors.h
A compiler-rt/lib/rtsan/rtsan_preinit.cpp
A compiler-rt/lib/rtsan/rtsan_stack.cpp
A compiler-rt/lib/rtsan/rtsan_stack.h
A compiler-rt/lib/rtsan/tests/CMakeLists.txt
A compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
A compiler-rt/test/rtsan/CMakeLists.txt
A compiler-rt/test/rtsan/Unit/lit.site.cfg.py.in
A compiler-rt/test/rtsan/lit.cfg.py
A compiler-rt/test/rtsan/lit.site.cfg.py.in
Log Message:
-----------
[compiler-rt] Realtime Sanitizer: Introduce Realtime Sanitizer (RTSan) backend (#92460)
Introducing the main runtime of realtime sanitizer. For more
information, please see the [discourse
thread](https://discourse.llvm.org/t/rfc-nolock-and-noalloc-attributes/76837).
We have also put together a [reviewer support
document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md)
to show what our intention is.
This review introduces the sanitizer backend. This includes:
* CMake build files (largely adapted from asan).
* Main RTSan architecture (the external API, thread local context,
stack).
* Interceptors.
* Many unit tests.
Please see the [reviewer support
document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md)
for what our next steps are. We are moving in lockstep with this PR
#84983 for the codegen coming up next.
Note to reviewers: If you see support documentation mention "RADSan",
this was the "old acronym" for the realtime sanitizer, they refer to the
same thing. If you see it let us know and we can correct it (especially
in the llvm codebase)
---------
Co-authored-by: David Trevelyan <david.trevelyan at gmail.com>
Commit: 746f5726158d31aeeb1fd12b226dc869834a7ad2
https://github.com/llvm/llvm-project/commit/746f5726158d31aeeb1fd12b226dc869834a7ad2
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/ptrauth-bti-call.ll
M llvm/test/CodeGen/AArch64/ptrauth-intrinsic-blend.ll
M llvm/test/CodeGen/AArch64/ptrauth-intrinsic-sign-generic.ll
M llvm/test/CodeGen/AArch64/ptrauth-intrinsic-sign.ll
M llvm/test/CodeGen/AArch64/ptrauth-intrinsic-strip.ll
Log Message:
-----------
[test][PAC][AArch64] Add ELF tests for subtarget-neutral codegen (#98020)
Many parts of PAuth-related codegen are not MachO- or ELF-specific. Add
RUN lines against ELF targets to ensure that codegen works for ELF as
well as for MachO.
Commit: dda41848083988f2e4a3355252604306d5866566
https://github.com/llvm/llvm-project/commit/dda41848083988f2e4a3355252604306d5866566
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/chrono
M libcxx/modules/std/chrono.inc
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/copy.assign.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/copy.ctor.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/test_offset_time_zone.h
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/default.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_time_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/types.verify.cpp
Log Message:
-----------
[libc++][TZDB] Adds basics of zoned_time class. (#94999)
This implements the class, its non-templated constructors and its
getters to verify the construction.
Completes
- LWG3224 zoned_time constructor from TimeZonePtr does not specify
initialization of tp_
Implements parts of:
- P0355 Extending chrono to Calendars and Time Zones
Commit: a1d73ace13a20ed122a66d3d59f0cbae58d0f669
https://github.com/llvm/llvm-project/commit/a1d73ace13a20ed122a66d3d59f0cbae58d0f669
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/__chrono/zoned_time.h
M libcxx/test/std/time/time.zone/time.zone.zonedtime/test_offset_time_zone.h
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time_choose.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2_choose.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time_choose.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_ptr_zoned_time_duration2_time_zone_ptr2.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_ptr_zoned_time_duration2_time_zone_ptr2_choose.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/zoned_time_duration2.pass.cpp
Log Message:
-----------
[libc++][TZDB] Finishes zoned_time constructors. (#95010)
Completes
- LWG3225 zoned_time converting constructor shall not be noexcept
- LWG3226 zoned_time constructor from string_view should accept
zoned_time<Duration2, TimeZonePtr2>
Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
Commit: e217f98ac3ee55755ee6ea3b97551cf8283528c9
https://github.com/llvm/llvm-project/commit/e217f98ac3ee55755ee6ea3b97551cf8283528c9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Log Message:
-----------
[rtsan] Temporarily disable runtime to fix bots after #92460
Commit: 5b927130b0e15a442a6ed171f43a612e6a40bbcd
https://github.com/llvm/llvm-project/commit/5b927130b0e15a442a6ed171f43a612e6a40bbcd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll
Log Message:
-----------
[ConstraintElim] Use cond from header as upper bound on IV in exit BB. (#94610)
For loops, we can use the condition in the loop header as upper bound on
the compared induction in the unique exit block, if it exists. This can
be done even if there are multiple in-loop edges to the unique exit
block, as any other exit may only exit earlier.
More generally, we could add the OR of all exit conditions to the exit,
but that's a possible future extension.
PR: https://github.com/llvm/llvm-project/pull/94610
Commit: 01623860c5dfcf922860c63ac7fa3aa07a0a7ac7
https://github.com/llvm/llvm-project/commit/01623860c5dfcf922860c63ac7fa3aa07a0a7ac7
Author: Poseydon42 <vvmposeydon at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Log Message:
-----------
[NFC] Add CmpIntrinsic class to represent calls to UCMP/SCMP intrinsics (#98177)
Commit: 8f159096e097dde5a95d14984623c51d58ed8e69
https://github.com/llvm/llvm-project/commit/8f159096e097dde5a95d14984623c51d58ed8e69
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
A clang/test/CodeGen/aarch64-inlineasm-ios.c
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
Log Message:
-----------
[AsmPrinter] Don't check for inlineasm dialect on non-X86 platforms (#98097)
AArch64 uses MCAsmInfo::AssemblerDialect to control the style of emitted
Neon assembly. E.g. Apple platforms use AsmWriterVariantTy::Apple by
default which collides with InlineAsm::AD_Intel (both value 1). Checking
for inlineasm dialects on non-X86 platforms can thus lead to problems.
Commit: a937d2918ee6f90ea0f6344a5d55781037da4b4a
https://github.com/llvm/llvm-project/commit/a937d2918ee6f90ea0f6344a5d55781037da4b4a
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
A llvm/test/CodeGen/AArch64/speculation-hardening-sls-blra.mir
Log Message:
-----------
[AArch64][PAC] Support BLRA* instructions in SLS Hardening pass (#98062)
Make SLS Hardening pass handle BLRA* instructions the same way it
handles BLR. The thunk names have the form
__llvm_slsblr_thunk_xN for BLR thunks
__llvm_slsblr_thunk_(aaz|abz)_xN for BLRAAZ and BLRABZ thunks
__llvm_slsblr_thunk_(aa|ab)_xN_xM for BLRAA and BLRAB thunks
Now there are about 1800 possible thunk names, so do not rely on linear
thunk function's name lookup and parse the name instead.
This patch reapplies llvm/llvm-project#97605.
Commit: 7b604cdf75fd1c741a15138684ea0e98dca5e46f
https://github.com/llvm/llvm-project/commit/7b604cdf75fd1c741a15138684ea0e98dca5e46f
Author: Azat Khuzhin <a3at.mail at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[libunwind] fix unwinding from signal handler (#92291)
In case of this is frame of signal handler, the IP should be
incremented, because the IP saved in the signal handler points to first
non-executed instruction, while FDE/CIE expects IP to be after the first
non-executed instruction.
Refs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26208
Commit: 45fc655b9eb038a8daf739b9dafb46fe0aac2d60
https://github.com/llvm/llvm-project/commit/45fc655b9eb038a8daf739b9dafb46fe0aac2d60
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
Log Message:
-----------
[ARM] Work around Clang 9 after MCCFIInstruction::OpType uses uint8_t
ARMAsmBackend.cpp:1205:57: error: use of overloaded operator '<<' is ambiguous (with operand types 'llvm::raw_ostream' and
'llvm::MCCFIInstruction::OpType')
"unwind encoding, opcode=" << Inst.getOperation()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Commit: 2c42c2263dc62ec7fb86081db5a0f1832c605505
https://github.com/llvm/llvm-project/commit/2c42c2263dc62ec7fb86081db5a0f1832c605505
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Make `getOpenMPCaptureRegionForClause` more generic (#98180)
Rewrite `getOpenMPCaptureRegionForClause` with more generic code,
relying on directive composition instead of listing individual
directives.
Commit: 63a9662f6cc41658f36ccddfb565d3dc5ad0135f
https://github.com/llvm/llvm-project/commit/63a9662f6cc41658f36ccddfb565d3dc5ad0135f
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
Log Message:
-----------
[libc] Fix readlink tests on 32-bit systems (#98168)
This patch removes the call sizeof(<Cstring>) and makes buf a
fixed-length array.
The test case worked in 64-bit systems because the sizeof(CString) was
big enough (19 bytes) to hold the contents of FILENAME, but in 32-bit
systems sizeof(CString) is only 12 bytes long, causing a truncation of
FILENAME when placing it in buf.
Commit: 9e0347d7054223f9735819557a16215c3205e216
https://github.com/llvm/llvm-project/commit/9e0347d7054223f9735819557a16215c3205e216
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Fix sprintf FixedConv test (#98204)
This patch enlarges the number to ensure that a 64-bit number is being read.
Commit: e291f31f894eeecc5770e026cc21b71fd12bf810
https://github.com/llvm/llvm-project/commit/e291f31f894eeecc5770e026cc21b71fd12bf810
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProf.cpp
Log Message:
-----------
[NFC] Coding style fixes in InstrProf.cpp (#98211)
Commit: 0b53e7b1cb71e7a021d30efa1620c2e54383b64d
https://github.com/llvm/llvm-project/commit/0b53e7b1cb71e7a021d30efa1620c2e54383b64d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/Hexagon.h
Log Message:
-----------
Silence a signed/unsigned comparison mismatch in MSVC; NFC
Commit: ef89e3efa99ddb7d0dd2bd7ab0809a51ac685a4f
https://github.com/llvm/llvm-project/commit/ef89e3efa99ddb7d0dd2bd7ab0809a51ac685a4f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/test/Transforms/LoopVectorize/X86/ephemeral-recipes.ll
Log Message:
-----------
[VPlan] Collect ephemeral values for VPlan.
Port collectEphemeralValues to VPlan as collectEphemeralRecipesForVPlan,
use it in willGenerateVectors. This fixes a regression caused by
29b8b72117 for loops where the only vector values are ephemeral.
Commit: 10f3f06d865fe5ec434fbaf78009301e95b59ea5
https://github.com/llvm/llvm-project/commit/10f3f06d865fe5ec434fbaf78009301e95b59ea5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
A lldb/test/API/functionalities/data-formatter/special-chars/Makefile
A lldb/test/API/functionalities/data-formatter/special-chars/TestSummaryStringSpecialChars.py
A lldb/test/API/functionalities/data-formatter/special-chars/main.c
Log Message:
-----------
[lldb] Improve summary string handling of dollar chars (#98190)
This improves the handling of `$` (dollar) characters in summary strings in the
following ways:
1. When a `$` is not followed by an open paren (`{`), it should be treated as a literal
character and preserved in the output. Previously, the dollar would be consumed by the
parser and not shown in the output.
2. When a `$` is the last character of a format string, this change eliminates the
infinite loop lldb would enter into.
rdar://131392446
Commit: 9e1f1cfa59c4513798de5c326d77e1e5912b1634
https://github.com/llvm/llvm-project/commit/9e1f1cfa59c4513798de5c326d77e1e5912b1634
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaExprMember.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p2.cpp
Log Message:
-----------
[Clang][Sema] Handle class member access expressions with valid nested-name-specifiers that become invalid after lookup (#98167)
The following code causes an assert in `SemaExprMember.cpp` on line 981
to fail:
```
struct A { };
struct B;
void f(A *x) {
x->B::y; // crash here
}
```
This happens because we only return early from
`BuildMemberReferenceExpr` when the `CXXScopeSpecifier` is invalid
_before_ the lookup is performed. Since the lookup may invalidate the
`CXXScopeSpecifier` (e.g. if the _nested-name-specifier_ is incomplete),
this results in the second `BuildMemberReferenceExpr` overload being
called with an invalid `CXXScopeSpecifier`, which causes the assert to
fail. This patch moves the early return for invalid `CXXScopeSpecifiers`
to occur _after_ lookup is performed. This fixes #92972.
I also removed the `if (SS.isSet() && SS.isInvalid())` check in
`ActOnMemberAccessExpr` because the condition can never be true (`isSet`
returns `getScopeRep() != nullptr` and `isInvalid` returns
`Range.isValid() && getScopeRep() == nullptr`).
Commit: e22ebee5a3bb56cb7f9a9513f01fb7ed24b23f48
https://github.com/llvm/llvm-project/commit/e22ebee5a3bb56cb7f9a9513f01fb7ed24b23f48
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
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
A clang/test/Sema/attr-counted-by-or-null-last-field.c
A clang/test/Sema/attr-counted-by-or-null-late-parsed-off.c
A clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
A clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-vla.c
A clang/test/Sema/attr-sized-by-last-field.c
A clang/test/Sema/attr-sized-by-late-parsed-off.c
A clang/test/Sema/attr-sized-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-last-field.c
A clang/test/Sema/attr-sized-by-or-null-late-parsed-off.c
A clang/test/Sema/attr-sized-by-or-null-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
A clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-sized-by-struct-ptrs.c
A clang/test/Sema/attr-sized-by-vla-sizeless-types.c
Log Message:
-----------
[Bounds-Safety] Add sized_by, counted_by_or_null & sized_by_or_null (#93231)
The attributes `sized_by`, `counted_by_or_null` and `sized_by_or_null`
have been added as variants on `counted_by`, each with slightly
different semantics. `sized_by` takes a byte size parameter instead of
an element count, allowing pointees with unknown size. The
`counted_by_or_null` and `sized_by_or_null` variants are equivalent to
their base variants, except the pointer can be null regardless of
count/size value. If the pointer is null the size is effectively 0.
rdar://125400354
Commit: 8d5ba7598ace4c195e673aaab2b2ccadff3ad48f
https://github.com/llvm/llvm-project/commit/8d5ba7598ace4c195e673aaab2b2ccadff3ad48f
Author: Vijay Kandiah <vkandiah at nvidia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][openacc] Added custom builder for acc::ParallelOp (#98191)
This change adds a custom builder for `acc::ParallelOp`. This enables
users to only specify the operands they would need for their
`acc::ParallelOp` while building it. They can specify nothing to create
an empty `acc.parallel`, or all of the 11 operands listed
[here](https://mlir.llvm.org/docs/Dialects/OpenACCDialect/#operands-27),
or anywhere in between following the specified order in this custom
builder. Unspecified operands are left empty. Additionally, users can
later set the optional attributes such as `numGangsDeviceType` using the
available attribute setters for `acc::ParallelOp`.
Commit: 4a010799317dfe19758477f693968fc594c1895d
https://github.com/llvm/llvm-project/commit/4a010799317dfe19758477f693968fc594c1895d
Author: Steffi Stumpos <stumposs12 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
A mlir/test/Dialect/LLVMIR/tail-call-kinds.mlir
A mlir/test/Target/LLVMIR/Import/tail-kind.ll
Log Message:
-----------
Expose Tail Kind Call to MLIR (#98080)
I would like to mark a call op in LLVM dialect as Musttail. The calling
convention attribute only exposes Tail, not Musttail. I noticed that the
CallInst of LLVM has an additional field to specify the flavor of tail
call kind. I bubbled this up to the LLVM dialect by adding another
attribute that maps to LLVM::CallInst::TailCallKind.
Commit: af21bc19172410f29606cac82a96c33d6710fe38
https://github.com/llvm/llvm-project/commit/af21bc19172410f29606cac82a96c33d6710fe38
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll
Log Message:
-----------
[SLP]Fix a crash on attempt to revectorize vectorized phi.
If the PHI node is vectorized during vectorization of its operands, no
need to try to vectorize its operands once again.
Commit: f363e30f15ef274f94dba53a13d73998066a0148
https://github.com/llvm/llvm-project/commit/f363e30f15ef274f94dba53a13d73998066a0148
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] Report error in clang if wave32 is requested where unsupported (#97633)
Commit: ce03155a1bd02fc078f710b5497be4e382bbe5d9
https://github.com/llvm/llvm-project/commit/ce03155a1bd02fc078f710b5497be4e382bbe5d9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
Log Message:
-----------
[NFC] Coding style fixes: SampleProf (#98208)
Also some control flow simplifications.
Notably, this doesn't address `sampleprof_error`. I *think* the style
there tries to match `std::error_category`.
Also left `hash_value` as-is, because it matches what we do in Hashing.h
Commit: 8e9d50cdd14b366249bbb61cb3a1d4586289bfee
https://github.com/llvm/llvm-project/commit/8e9d50cdd14b366249bbb61cb3a1d4586289bfee
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/known-never-nan.ll
Log Message:
-----------
[InstSimplify] fold uno/ord comparison if fpclass is always NaN (#97763)
In InstSimplify we already fold `fcmp ord/uno` to a constant when both
operands are known to be non-NaN. This change slightly generalizes this
to also handle the case where either of the operands is known to always
be NaN.
Proof: https://alive2.llvm.org/ce/z/AhCmJN
Commit: e142a5568627d8f90b13aaca3e427cb0bed71464
https://github.com/llvm/llvm-project/commit/e142a5568627d8f90b13aaca3e427cb0bed71464
Author: Pranav Kant <prka at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
M llvm/test/tools/llvm-objcopy/ELF/remove-section-in-group.test
Log Message:
-----------
[llvm-objcopy] Remove references for empty section groups (#98106)
Otherwise, llvm-objcopy fails with use-after-free when built under
sanitizers. Simple repro: run the test
`ELF/remove-section-in-group.test` under asan. This is due to symbol
table references to empty section groups that must be removed.
Commit: 9739df2c8948c265955a2907ce00f4225dced5d1
https://github.com/llvm/llvm-project/commit/9739df2c8948c265955a2907ce00f4225dced5d1
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M flang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[AMDGPU] Fix flang build after #97633 (#98231)
Commit: f35318e828d166bee04a117c1a87c1c0e32a57da
https://github.com/llvm/llvm-project/commit/f35318e828d166bee04a117c1a87c1c0e32a57da
Author: Rob Suderman <rob.suderman at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
Log Message:
-----------
[mlir][amdgpu] Add support for multi-dim arith.truncf/extf fp8 lowering (#98074)
The existing `fp8` lowering from `arith` to `amdgpu` bails out on the
multidimensional case. We can handle this by `vector.shape_cast`
collapsing to the 1-D case on extraction and re-casting back to the
desired output shape.
Commit: 7021e44b2f0e11717c0d82456bad0fed4a0b48f9
https://github.com/llvm/llvm-project/commit/7021e44b2f0e11717c0d82456bad0fed4a0b48f9
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb][test] Set target and host OS for API tests in case of remote testing
Makefile.rules uses HOST_OS and OS variables for determining host and target
OSes for API tests compilation.
This commit moves the platform detection logic from Makefile to Python lldb
test suite.
This is useful for the case of Windows-to-Linux cross-testing.
Commit: afbd7d1e7c7155b07561e46275a451fec917c34c
https://github.com/llvm/llvm-project/commit/afbd7d1e7c7155b07561e46275a451fec917c34c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/GlobalValue.h
M llvm/lib/IR/Globals.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[NFC] Coding style: drop `k` in `kGlobalIdentifierDelimiter` (#98230)
Commit: 7bfb98c34687d9784f36937c3ff3e735698b498a
https://github.com/llvm/llvm-project/commit/7bfb98c34687d9784f36937c3ff3e735698b498a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-09 (Tue, 09 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
Log Message:
-----------
[Clang] Implement resolution for CWG1835 (#92957)
CWG1835 was one of the many core issues resolved by P1787R6: "Declarations and where to
find them" (http://wg21.link/p1787r6). Its resolution changes how
member-qualified names (as defined by [basic.lookup.qual.general] p2) are looked
up. This patch implementation that resolution.
Previously, an _identifier_ following `.` or `->` would be first looked
up in the type of the object expression (i.e. qualified lookup), and
then in the context of the _postfix-expression_ (i.e. unqualified
lookup) if nothing was found; the result of the second lookup was
required to name a class template. Notably, this second lookup would
occur even when the object expression was dependent, and its result
would be used to determine whether a `<` token is the start of a
_template-argument_list_.
The new wording in [basic.lookup.qual.general] p2 states:
> A member-qualified name is the (unique) component name, if any, of
> - an _unqualified-id_ or
> - a _nested-name-specifier_ of the form _`type-name ::`_ or
_`namespace-name ::`_
>
> in the id-expression of a class member access expression. A
***qualified name*** is
> - a member-qualified name or
> - the terminal name of
> - a _qualified-id_,
> - a _using-declarator_,
> - a _typename-specifier_,
> - a _qualified-namespace-specifier_, or
> - a _nested-name-specifier_, _elaborated-type-specifier_, or
_class-or-decltype_ that has a _nested-name-specifier_.
>
> The _lookup context_ of a member-qualified name is the type of its
associated object expression (considered dependent if the object
expression is type-dependent). The lookup context of any other qualified
name is the type, template, or namespace nominated by the preceding
_nested-name-specifier_.
And [basic.lookup.qual.general] p3 now states:
> _Qualified name lookup_ in a class, namespace, or enumeration performs
a search of the scope associated with it except as specified below.
Unless otherwise specified, a qualified name undergoes qualified name
lookup in its lookup context from the point where it appears unless the
lookup context either is dependent and is not the current instantiation
or is not a class or class template. If nothing is found by qualified
lookup for a member-qualified name that is the terminal name of a
_nested-name-specifier_ and is not dependent, it undergoes unqualified
lookup.
In non-standardese terms, these two paragraphs essentially state the
following:
- A name that immediately follows `.` or `->` in a class member access
expression is a member-qualified name
- A member-qualified name will be first looked up in the type of the
object expression `T` unless `T` is a dependent type that is _not_ the
current instantiation, e.g.
```
template<typename T>
struct A
{
void f(T* t)
{
this->x; // type of the object expression is 'A<T>'. although 'A<T>' is dependent, it is the
// current instantiation so we look up 'x' in the template definition context.
t->y; // type of the object expression is 'T' ('->' is transformed to '.' per [expr.ref]).
// 'T' is dependent and is *not* the current instantiation, so we lookup 'y' in the
// template instantiation context.
}
};
```
- If the first lookup finds nothing and:
- the member-qualified name is the first component of a
_nested-name-specifier_ (which could be an _identifier_ or a
_simple-template-id_), and either:
- the type of the object expression is the current instantiation and it
has no dependent base classes, or
- the type of the object expression is not dependent
then we lookup the name again, this time via unqualified lookup.
Although the second (unqualified) lookup is stated not to occur when the
member-qualified name is dependent, a dependent name will _not_ be
dependent once the template is instantiated, so the second lookup must
"occur" during instantiation if qualified lookup does not find anything.
This means that we must perform the second (unqualified) lookup during
parsing even when the type of the object expression is dependent, but
those results are _not_ used to determine whether a `<` token is the
start of a _template-argument_list_; they are stored so we can replicate
the second lookup during instantiation.
In even simpler terms (paraphrasing the meeting minutes from the review of P1787; see https://wiki.edg.com/bin/view/Wg21summer2020/P1787%28Lookup%29Review2020-06-15Through2020-06-18):
- Unqualified lookup always happens for the first name in a
_nested-name-specifier_ that follows `.` or `->`
- The result of that lookup is only used to determine whether `<` is the
start of a _template-argument-list_ if the first (qualified) lookup
found nothing and the lookup context:
- is not dependent, or
- is the current instantiation and has no dependent base classes.
An example:
```
struct A
{
void f();
};
template<typename T>
using B = A;
template<typename T>
struct C : A
{
template<typename U>
void g();
void h(T* t)
{
this->g<int>(); // ok, '<' is the start of a template-argument-list ('g' was found via qualified lookup in the current instantiation)
this->B<void>::f(); // ok, '<' is the start of a template-argument-list (current instantiation has no dependent bases, 'B' was found via unqualified lookup)
t->g<int>(); // error: '<' means less than (unqualified lookup does not occur for a member-qualified name that isn't the first component of a nested-name-specifier)
t->B<void>::f(); // error: '<' means less than (unqualified lookup does not occur if the name is dependent)
t->template B<void>::f(); // ok: '<' is the start of a template-argument-list ('template' keyword used)
}
};
```
Some additional notes:
- Per [basic.lookup.qual.general] p1, lookup for a
member-qualified name only considers namespaces, types, and templates
whose specializations are types if it's an _identifier_ followed by
`::`; lookup for the component name of a _simple-template-id_ followed
by `::` is _not_ subject to this rule.
- The wording which specifies when the second unqualified lookup occurs
appears to be paradoxical. We are supposed to do it only for the first
component name of a _nested-name-specifier_ that follows `.` or `->`
when qualified lookup finds nothing. However, when that name is followed
by `<` (potentially starting a _simple-template-id_) we don't _know_
whether it will be the start of a _nested-name-specifier_ until we do
the lookup -- but we aren't supposed to do the lookup until we know it's
part of a _nested-name-specifier_! ***However***, since we only do the
second lookup when the first lookup finds nothing (and the name isn't
dependent), ***and*** since neither lookup is type-only, the only valid
option is for the name to be the _template-name_ in a
_simple-template-id_ that is followed by `::` (it can't be an
_unqualified-id_ naming a member because we already determined that the
lookup context doesn't have a member with that name). Thus, we can lock
into the _nested-name-specifier_ interpretation and do the second lookup
without having to know whether the _simple-template-id_ will be followed
by `::` yet.
Commit: 6b8453732b9129299170f7c3ef574ff219790fc5
https://github.com/llvm/llvm-project/commit/6b8453732b9129299170f7c3ef574ff219790fc5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
Log Message:
-----------
[rtsan] Re-enable rtsan tests (#98219)
Follow up to #92460
DEPS llvm_gtest is not used by compiler-rt,
compiler-rt compiles them with COMPILER_RT_GOOGLETEST_SOURCES.
This reverts commit e217f98ac3ee55755ee6ea3b97551cf8283528c9.
Commit: 240ec5a37517f55a64cd0c69fd4fa1613ab30f97
https://github.com/llvm/llvm-project/commit/240ec5a37517f55a64cd0c69fd4fa1613ab30f97
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-09 (Tue, 09 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/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/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/setbuf.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Move off_t and stdio macros to proxy hdrs (#98215)
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: 04f0adcd58baa530b13472a897b422fae46abfa2
https://github.com/llvm/llvm-project/commit/04f0adcd58baa530b13472a897b422fae46abfa2
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/lib/memprof/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt][memprof] Do not add libdl to MEMPROF_UNITTEST_LINK_LIBRARIES (#98221)
Remove unnecessary dependency.
Test plan: ninja check-all
Commit: be9b1de1ab71e7d19c197fdfe1c3681f22c31923
https://github.com/llvm/llvm-project/commit/be9b1de1ab71e7d19c197fdfe1c3681f22c31923
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/src/__support/OSUtil/baremetal/exit.cpp
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/stdlib/exit.cpp
M libc/startup/baremetal/fini.cpp
M libc/startup/baremetal/init.cpp
Log Message:
-----------
[libc] Move the internal extern "C" symbols inside the namespace (#98232)
This ensures that these symbols inherit the namespace visibility.
Commit: 3a744283f4c56b57adb2c381c0aeaf7faf5120ec
https://github.com/llvm/llvm-project/commit/3a744283f4c56b57adb2c381c0aeaf7faf5120ec
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/hdr/CMakeLists.txt
R libc/hdr/stdio_macros.h
M libc/hdr/types/CMakeLists.txt
R 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/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/setbuf.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc] Move off_t and stdio macros to proxy hdrs" (#98242)
Reverts llvm/llvm-project#98215
Breaks linux bots
Commit: a40daa34efd3cc0fe7ef50f936775287cb14b399
https://github.com/llvm/llvm-project/commit/a40daa34efd3cc0fe7ef50f936775287cb14b399
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Cleanup version check (#97839)
Cleans up version check to remove redundant else branch.
Commit: f137be30a4b6f49b86bfde6b5ee59463884916fc
https://github.com/llvm/llvm-project/commit/f137be30a4b6f49b86bfde6b5ee59463884916fc
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/DebugData.h
M bolt/lib/Core/DebugData.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Remove unnecessary SectionOffset (#97841)
Removes unnecessary SectionOffset variable from DebugData.
Commit: d283627c4a0a4fec6c29d33fcbaf123365eeefae
https://github.com/llvm/llvm-project/commit/d283627c4a0a4fec6c29d33fcbaf123365eeefae
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Update Die to not use std::optional (#97844)
Updates initialization to remove unnecessary use of std::optional.
Commit: 2d8b282225f88371b8187f2ec02280ee474e21d6
https://github.com/llvm/llvm-project/commit/2d8b282225f88371b8187f2ec02280ee474e21d6
Author: vporpo <vporpodas at google.com>
Date: 2024-07-09 (Tue, 09 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] Update visibility of IR constructors. (#98107)
All SandboxIR objects are owned by sandboxir::Context and should be
created using sandboxir::Context's builder functions.
This patch protects the constructors to prohibit their use by the user.
Commit: 14f745074d05fb42f5c8a625c79bf557bb980ebb
https://github.com/llvm/llvm-project/commit/14f745074d05fb42f5c8a625c79bf557bb980ebb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Log Message:
-----------
[rtsan] Temporarily disable runtime to fix bots after #98219 (#98250)
New failures after #98219
Commit: e5aa7999bf1bc9a6c7a03bbc65036325a4ec5503
https://github.com/llvm/llvm-project/commit/e5aa7999bf1bc9a6c7a03bbc65036325a4ec5503
Author: Steffi Stumpos <stumposs12 at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
Log Message:
-----------
[mojo-lang] Use Lower Case in TailCallAttribute Member Names (#98253)
The build is broken with the error message:
```
error: declaration of 'mlir::LLVM::tailcallkind::TailCallKind mlir::LLVM::detail::TailCallKindAttrStorage::TailCallKind' changes meaning of 'TailCallKind'
```
I cannot replicate the error locally because I think it's only reported
by GCC not clang. However, I think the change in this patch may fix it.
Commit: 1c6bc0458de358d327f1ff6aa07eef522090bebb
https://github.com/llvm/llvm-project/commit/1c6bc0458de358d327f1ff6aa07eef522090bebb
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt][nsan] cmake cleanup (#98224)
CMake cleanup. NFC.
Commit: 46c7da63555b133016ed54ad677bdcc05549ddc2
https://github.com/llvm/llvm-project/commit/46c7da63555b133016ed54ad677bdcc05549ddc2
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/math/generic/expm1.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/tan_test.cpp
Log Message:
-----------
[libc][math] Fix overflow shifts for dyadic floats and add skip accuracy option for expm1. (#98048)
The following errors were reported by Paul Zimmerman:
```
expm1
Running worst cases check in --rndn mode...
FAIL x=0x1.c3b93d3b25c91p+8 ref=0x1.9fb21849affd1p+651 z=0x1.9f921849affd1p+651
Running worst cases check in --rndz mode...
FAIL x=0x1.d6479eba7c971p+8 ref=0x1.62a88613629b5p+678 z=0x1.62a886135e9b5p+678
Running worst cases check in --rndu mode...
FAIL x=0x1.1f0da93354198p+7 ref=0x1.0bd73b73fc74dp+207 z=0x1.0bd73b73fc74cp+207
Running worst cases check in --rndd mode...
FAIL x=0x1.93b3037166891p+8 ref=0x1.554f3a5c4535cp+582 z=0x1.554f3a5c4535bp+582
```
```
tan
Running worst cases check in --rndn mode...
FAIL x=0x1.00452f0e0134dp-13 ref=0x1.00452f2367da9p-13 z=0x1.00452f2367daap-13
Running worst cases check in --rndz mode...
FAIL x=0x1.89f0f5241255bp-2 ref=0x1.9e997dd861117p-2 z=0x1.9e997dd861118p-2
FAIL x=0x1.045457ae3994p+5 ref=0x1.0c06941768ef3p+1 z=0x1.0c06941768ef4p+1
```
Commit: b0b96fbff47c74940a62073c579372f3c47df9c8
https://github.com/llvm/llvm-project/commit/b0b96fbff47c74940a62073c579372f3c47df9c8
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/no-warn-missing-prototype.c
Log Message:
-----------
Fix erroneous `-Wmissing-prototypes` for Win32 entry points (#98105)
Fixes https://github.com/llvm/llvm-project/issues/94366.
Commit: c2fb400c45706697e3d6991f59dbc713e1e4668f
https://github.com/llvm/llvm-project/commit/c2fb400c45706697e3d6991f59dbc713e1e4668f
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
Log Message:
-----------
[X86] Fix tuning for emeraldrapids (#98123)
The incorrect tuning is introduced by #97721.
Commit: 60ff9c2ea526834ca03218fafee3172653eb14d1
https://github.com/llvm/llvm-project/commit/60ff9c2ea526834ca03218fafee3172653eb14d1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/llvm_libc_ext.td
M libc/src/math/CMakeLists.txt
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/amdgpu/declarations.h
A libc/src/math/amdgpu/powi.cpp
A libc/src/math/amdgpu/powif.cpp
M libc/src/math/nvptx/CMakeLists.txt
M libc/src/math/nvptx/declarations.h
A libc/src/math/nvptx/powi.cpp
A libc/src/math/nvptx/powif.cpp
A libc/src/math/powi.h
A libc/src/math/powif.h
Log Message:
-----------
[libc] Add support for `powi` as an LLVM libc extension on the GPU (#98236)
Summary:
This function is used by the CUDA / HIP / OpenMP headers and exists as
an NVIDIA extension basically. This function is implemented in the C23
standard as `pown`, but for now we need to provide `powi` for backwards
compatibility. In the future this entrypoint will just be a redirect to
`pown` once that is implemented.
Commit: 2080af568b0c4c25b64508803f6c6c33dfc7347c
https://github.com/llvm/llvm-project/commit/2080af568b0c4c25b64508803f6c6c33dfc7347c
Author: Chris Apple <cja-private at pm.me>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
Log Message:
-----------
[rtsan] Explicitly link pthread in the tests and dynamic libraries (#98256)
Follow up to #98219
This reverts commit
[14f7450](https://github.com/llvm/llvm-project/commit/14f745074d05fb42f5c8a625c79bf557bb980ebb)
Ensure that -pthread is explicitly linked when running the rtsan tests.
Issue this fixes:
```
FAILED: compiler-rt/lib/rtsan/tests/Rtsan-powerpc64le-NoInstTest /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests/Rtsan-powerpc64le-NoInstTest
cd /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests && /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/./bin/clang++ RtsanNoInstTestObjects.rtsan_preinit.cpp.powerpc64le.o RtsanNoInstTestObjects.rtsan_test_context.cpp.powerpc64le.o RtsanNoInstTestObjects.rtsan_test_main.cpp.powerpc64le.o RtsanNoInstTestObjects.gtest-all.cc.powerpc64le.o RtsanNoInstTestObjects.gmock-all.cc.powerpc64le.o /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests/libRTRtsanTest.powerpc64le.a -o /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests/./Rtsan-powerpc64le-NoInstTest -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/./lib/../lib/clang/19 -Wl,-rpath,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/./lib/../lib/clang/19/lib/powerpc64le-unknown-linux-gnu -lstdc++ -no-pie -latomic -m64 -fno-function-sections
/usr/bin/ld: RtsanNoInstTestObjects.gtest-all.cc.powerpc64le.o: undefined reference to symbol 'pthread_getspecific@@GLIBC_2.17'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
```
Commit: 12239d253d555d6cbd65588b72e9da7acf482c2f
https://github.com/llvm/llvm-project/commit/12239d253d555d6cbd65588b72e9da7acf482c2f
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Small cleanup of ProcessEventData::ShouldStop (#98154)
While looking at a TSAN report (patch coming soon) in the ThreadList
class, I noticed that this code would be simpler if it did not use the
ThreadList class.
Commit: 7b96d13341aa94d11c2d9ffe5a9304e3640ad80b
https://github.com/llvm/llvm-project/commit/7b96d13341aa94d11c2d9ffe5a9304e3640ad80b
Author: Chris Apple <cja-private at pm.me>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
Log Message:
-----------
[rtsan] Add dl, rt, m, and log libraries as unit test dependencies, get rid of atomic (#98264)
Fixing test failures in #98256
There are two issues being fixed here:
```
ld.lld: error: undefined symbol: dlvsym
ld.lld: error: undefined symbol: dlvsym
```
Fixed by linking dl
```
FAILED: ... -lstdc++ -no-pie -pthread -latomic -m64
/opt/rh/devtoolset-11/root/usr/lib/gcc/ppc64-redhat-linux/11/../../../../bin/ld: cannot find /usr/lib64/libatomic.so.1
```
Fixed by removing atomic from the dependencies, I don't think we were
even using it.
I added in all of the dependencies used by the parent library in the
tests, hopefully getting ahead of any other issues, adding rt and m,
even if we haven't had issues with them yet
Commit: 66470112d6e00832cae2970fb56f491cd5f7b14a
https://github.com/llvm/llvm-project/commit/66470112d6e00832cae2970fb56f491cd5f7b14a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Don't expose any constructors of RISCVISAInfo publicly. (#98249)
lld was using RISCVISAInfo(unsigned XLen,
RISCVISAUtils::OrderedExtensionMap &Exts). This required a call to
RISCVISAInfo::postProcessAndChecking to validate the RISCVISAInfo that
was created. This exposes too much about RISCVISAInfo to lld.
Replace with a new RISCVISAInfo::createFromExtMap that is responsible
for creating the object and calling postProcessAndChecking.
Commit: 9af1f8fbad6c8c38e7e3d6c1cfe7e4b2519db3d8
https://github.com/llvm/llvm-project/commit/9af1f8fbad6c8c38e7e3d6c1cfe7e4b2519db3d8
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
Log Message:
-----------
[RISCV] Match vector fp-int convert intrinsics with specific RTZ rounding mode to the rtz variants (#98120)
Commit: 91d40ef6e369a73b0147d9153a95c3bc63e14102
https://github.com/llvm/llvm-project/commit/91d40ef6e369a73b0147d9153a95c3bc63e14102
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
R clang/test/CodeGenCXX/pr70585.cppm
R clang/test/Modules/pr97313.cppm
Log Message:
-----------
Revert "[C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (#75912)"
This reverts commit 18f3bcbb13ca83d33223b00761d8cddf463e9ffb, 15bb02650e26875c48889053d6a9697444583721 and
99873b35da7ecb905143c8a6b8deca4d4416f1a9.
See the post commit message in
https://github.com/llvm/llvm-project/pull/75912 to see the reasons.
Commit: c641fc3a4cd5e0d1b06f401ce48b5e189c221d94
https://github.com/llvm/llvm-project/commit/c641fc3a4cd5e0d1b06f401ce48b5e189c221d94
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M bolt/test/X86/infer_no_exits.test
M bolt/test/X86/jt-symbol-disambiguation-4.s
Log Message:
-----------
[BOLT][test] Fix tests for aarch64 buildbot (#97620)
Fix broken tests in
[bolt-aarch64-ubuntu-clang-shared](https://lab.llvm.org/buildbot/#/builders/126/builds/138)
Commit: 62a7562b828ee9df6a41b6ce3dfda7c5511816a6
https://github.com/llvm/llvm-project/commit/62a7562b828ee9df6a41b6ce3dfda7c5511816a6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Add a workaround document for missing vtables
Due to https://github.com/llvm/llvm-project/pull/75912 is reverted and
https://github.com/llvm/llvm-project/issues/70585 is reopened. It looks
riskful to fix the issue correctly before 19. So we provide a workaround
here to help people in this trouble as much as possible.
Commit: ac299ed2c752928d34b5db339a926286115f0718
https://github.com/llvm/llvm-project/commit/ac299ed2c752928d34b5db339a926286115f0718
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Provide an universal interface for FixedVectorType::get. NFC. (#96845)
SLP vectorizes scalar type to vector type. In the future, we will try to
make SLP vectorizes vector type to vector type. We add a getWidenedType
as a helper function. For example, SLP will make the following code
%v0 = load i32, ptr %in0, align 4
%v1 = load i32, ptr %in1, align 4
%v2 = load i32, ptr %in2, align 4
%v3 = load i32, ptr %in3, align 4
into a load <4 x i32>. The ScalarTy is i32 and VF is 4. In the future,
SLP will make the following code
%v0 = load <4 x i32>, ptr %in0, align 4
%v1 = load <4 x i32>, ptr %in1, align 4
%v2 = load <4 x i32>, ptr %in2, align 4
%v3 = load <4 x i32>, ptr %in3, align 4
into a load <16 x i32>. The ScalarTy is <4 x i32> and VF is 4.
reference:
https://discourse.llvm.org/t/rfc-make-slp-vectorizer-revectorize-vector-instructions/79436
Commit: 3e4adef9467734a3ced62a651ae7f35f5bf45901
https://github.com/llvm/llvm-project/commit/3e4adef9467734a3ced62a651ae7f35f5bf45901
Author: AdityaK <hiraditya at msn.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SwitchLoweringUtils.cpp
Log Message:
-----------
[NFC] Add reference to the clustering algortihm for switch statements (#98239)
Menezes, Evandro, Sebastian Pop, and Aditya Kumar. "Clustering case
statements for indirect branch predictors." arXiv preprint
arXiv:1910.02351 (2019).
https://arxiv.org/pdf/1910.02351v2
Commit: b6e41c159b221faf1e43e56240cfd5a232697064
https://github.com/llvm/llvm-project/commit/b6e41c159b221faf1e43e56240cfd5a232697064
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/math-function-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/math.h.def
M libc/spec/bsd_ext.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/isnan.cpp
A libc/src/math/generic/isnanf.cpp
A libc/src/math/generic/isnanl.cpp
A libc/src/math/isnan.h
A libc/src/math/isnanf.h
A libc/src/math/isnanl.h
Log Message:
-----------
[libc] Provide isnan, isnanf and isnanl functions (#96008)
While C99 defines type generic isnan macro, BSD provided isnan, isnanf
and isnanl in prior C standards and existing code still relies on these.
Commit: 5523a473ef3bcb611f2efc6d18f1ca7d9d023591
https://github.com/llvm/llvm-project/commit/5523a473ef3bcb611f2efc6d18f1ca7d9d023591
Author: Jeff Niu <jeff at modular.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/lib/Object/ArchiveWriter.cpp
Log Message:
-----------
[llvm][object] Expose `writeArchiveToStream` (#98254)
This internal helper is a useful API to have, when one wants to write an
archive directly to some other preallocated stream.
Commit: d3923354a4c96f20c09b3991afb8c30804ed7a21
https://github.com/llvm/llvm-project/commit/d3923354a4c96f20c09b3991afb8c30804ed7a21
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-10 (Wed, 10 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
Log Message:
-----------
Revert "[Clang] Implement resolution for CWG1835 (#92957)"
ppc64le-lld-multistage-test has been failing.
This reverts commit 7bfb98c34687d9784f36937c3ff3e735698b498a.
Commit: 869ac4064861b7e644ae52a72fb80efacfd86462
https://github.com/llvm/llvm-project/commit/869ac4064861b7e644ae52a72fb80efacfd86462
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/nested-deduction-guides.cpp
Log Message:
-----------
[Clang][Sema] Substitute for the type aliases inside of a CTAD guide (#94740)
Similar to the approach of handling nested class templates when building
a CTAD guide, we substitute the template parameters of a type alias
declaration with the instantiating template arguments in order to ensure
the guide eventually doesn't reference any outer template parameters.
For example,
```cpp
template <class T> struct Outer {
using Alias = S<T>;
template <class U> struct Inner {
Inner(Alias);
};
};
```
we used to retain the reference to T accidentally because the
TreeTransform does nothing on type alias Decls by default.
Fixes https://github.com/llvm/llvm-project/issues/94614
Commit: 6f619c98aea164f46b5e086d445d62d697ab3b39
https://github.com/llvm/llvm-project/commit/6f619c98aea164f46b5e086d445d62d697ab3b39
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/logic-of-fcmps.ll
Log Message:
-----------
[InstSimplify] Only handle canonical forms in `simplifyAndOrOfFCmps`. NFC. (#98136)
This patch avoids calling `isKnownNeverNaN` in `simplifyAndOrOfFCmps`
since `fcmp ord/uno X, NNAN` will be canonicalized into `fcmp ord/uno X,
0.0` in InstCombine.
Commit: 5347f926cf42f6a2347cb9c74927909540acc8bc
https://github.com/llvm/llvm-project/commit/5347f926cf42f6a2347cb9c74927909540acc8bc
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveIntervals.h
Log Message:
-----------
[CodeGen] Format `LiveIntervals.h` NFC (#98260)
`clang-format` modifies too much code in #98118. Format it firstly.
Commit: d99efd53f5103df4db517f499fcdd26cd3b080a3
https://github.com/llvm/llvm-project/commit/d99efd53f5103df4db517f499fcdd26cd3b080a3
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M libc/hdr/math_macros.h
Log Message:
-----------
[libc] Add a missing math-function-macros.h include (#98271)
This was accidentally omitted in #96008.
Commit: 015526bf3fc6843ad28f9e0809598453228c4bc2
https://github.com/llvm/llvm-project/commit/015526bf3fc6843ad28f9e0809598453228c4bc2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-09 (Tue, 09 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/rv32zcmt-valid.s
Log Message:
-----------
[RISCV] Fix spelling instuctions->instructions.
Taken from #98259 and with the necessary test updates added.
Commit: 7d246e84a412449f00c0489705336d120983bb5c
https://github.com/llvm/llvm-project/commit/7d246e84a412449f00c0489705336d120983bb5c
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/roundtrip.mlir
A mlir/test/Dialect/Linalg/winograd-conv2d.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Implement Conv2D using Winograd Conv2D algorithm (#96181)
Define high level winograd operators and convert conv_2d_nhwc_fhwc into
winograd operators. According to Winograd Conv2D algorithm, we need
three transform operators for input, filter, and output transformation.
The formula of Winograd Conv2D algorithm is
Y = A^T x [(G x g x G^T) @ (B^T x d x B)] x A
filter transform: G x g x G^T
input transform: B^T x d x B
output transform: A^T x y x A
The implementation is based on the paper, Fast Algorithm for
Convolutional Neural Networks. (https://arxiv.org/abs/1509.09308)
Reviewers: stellaraccident, ftynse, Max191, GeorgeARM, cxy-1993, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin
Reviewed By: ftynse, Max191, stellaraccident
Pull Request: https://github.com/llvm/llvm-project/pull/96181
Commit: a37c35e807f334d13ca92d2d1b88f51917d039d2
https://github.com/llvm/llvm-project/commit/a37c35e807f334d13ca92d2d1b88f51917d039d2
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx17.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
Log Message:
-----------
[libc++] mark P0154 as implemented; fix column alignment issues (#97865)
AFAIU, P0154 support is complete as of
https://github.com/llvm/llvm-project/pull/89446
Commit: 1205371a6e4b4f03aa5fee5124efd4234e279ca4
https://github.com/llvm/llvm-project/commit/1205371a6e4b4f03aa5fee5124efd4234e279ca4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD: Generate deduction guides for alias templates from non-template explicit deduction guides (#96686)
This patch addresses an issue where non-template explicit deduction
guides were not considered when synthesized the deduction guides for
alias templates.
Fixes #94927.
Commit: 4d052a76185875bf8d8343d723a444795b87c8c5
https://github.com/llvm/llvm-project/commit/4d052a76185875bf8d8343d723a444795b87c8c5
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-10 (Wed, 10 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/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
[Intrinsics][PreISelIntrinsicLowering] llvm.memset.inline length no longer needs to be constant (#95397)
As requested in
https://discourse.llvm.org/t/rfc-introducing-an-llvm-memset-pattern-inline-intrinsic/79496
this patch removes the requirement that the length of llvm.memset.inline
is a constant, and adjusts PreISelIntrinsicLowering so it supports
expanding such the intrinsic in the case it has a non-constant length.
Commit: b2ac7f52fa95ccc478a478910ccd42730e8ea845
https://github.com/llvm/llvm-project/commit/b2ac7f52fa95ccc478a478910ccd42730e8ea845
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format][NFC] Annotate function/ctor/dtor declaration l_paren (#97938)
Commit: ef9aba2a2f01fce463622397f7c43860897ab796
https://github.com/llvm/llvm-project/commit/ef9aba2a2f01fce463622397f7c43860897ab796
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/InterferenceCache.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#98104)
Commit: f11c0a1a0d9306456a99e609833d7b188fa904fb
https://github.com/llvm/llvm-project/commit/f11c0a1a0d9306456a99e609833d7b188fa904fb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Log Message:
-----------
[ExecutionEngine] Use range-based for loops (NFC) (#98110)
Commit: 24d5c54cf52d38e63d365275f913285908aa9c9a
https://github.com/llvm/llvm-project/commit/24d5c54cf52d38e63d365275f913285908aa9c9a
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/lib/memprof/tests/CMakeLists.txt
Log Message:
-----------
Revert "[compiler-rt][memprof] Do not add libdl to MEMPROF_UNITTEST_LINK_LIBRARIES (#98221)"
This reverts commit 04f0adcd58baa530b13472a897b422fae46abfa2.
Commit: 9ae24c9ac94017e15eb827e25c5693418e6cdb4b
https://github.com/llvm/llvm-project/commit/9ae24c9ac94017e15eb827e25c5693418e6cdb4b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Log Message:
-----------
Re-disable rtsan.
Some builders are still failing. (ex. clang-aarch64-sve-vla-2stage)
Commit: e15d67cfc2e5775cc79281aa860f3ad3be628f39
https://github.com/llvm/llvm-project/commit/e15d67cfc2e5775cc79281aa860f3ad3be628f39
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/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.
Commit: 4c7fd7eec04da86f5453969b19ad55122b281211
https://github.com/llvm/llvm-project/commit/4c7fd7eec04da86f5453969b19ad55122b281211
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
Commit: c188cb77ab99f9a455059efe4bd8b6b6665e15d0
https://github.com/llvm/llvm-project/commit/c188cb77ab99f9a455059efe4bd8b6b6665e15d0
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 7d246e84a412449f00c0489705336d120983bb5c
Commit: da31b684a57cdc77ad4274fd7d8b47ee27dea6c6
https://github.com/llvm/llvm-project/commit/da31b684a57cdc77ad4274fd7d8b47ee27dea6c6
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/test/CoverageMapping/system_macro.cpp
Log Message:
-----------
[Coverage] Suppress covmap and profdata for system headers. (#97952)
With `system-headers-coverage=false`, functions defined in system
headers were not instrumented but corresponding covmaps were emitted. It
caused wasting covmap and profraw.
This change improves:
- Reduce object size (due to reduced covmap)
- Reduce size of profraw (uninstrumented system headers occupied
counters)
- Smarter view of coverage report. Stubs of uninstrumented system
headers will be no longer seen.
Commit: ac285595829dde4cf435bcf5fc7a2a502d346fd4
https://github.com/llvm/llvm-project/commit/ac285595829dde4cf435bcf5fc7a2a502d346fd4
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/lib/IR/Function.cpp
R llvm/test/Instrumentation/AddressSanitizer/module-flags-aarch64.ll
R llvm/test/Instrumentation/MemorySanitizer/AArch64/module-flags-aarch64.ll
Log Message:
-----------
Revert "[llvm][ARM][AArch64] Add attributes to synthetic functions." (#98283)
Reverts llvm/llvm-project#83153
Commit: 4b2daeccc765915d50144d03e6354c362436c3b8
https://github.com/llvm/llvm-project/commit/4b2daeccc765915d50144d03e6354c362436c3b8
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/arm-branch-protection-attr-1.c
M clang/test/CodeGen/arm-branch-protection-attr-2.c
R 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:
-----------
Revert "[Clang][ARM][AArch64] Alway emit protection attributes for functions." (#98284)
Reverts llvm/llvm-project#82819
Commit: 8d17824890f668cca654a6b821d642bd3192dc81
https://github.com/llvm/llvm-project/commit/8d17824890f668cca654a6b821d642bd3192dc81
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
Log Message:
-----------
[clang][Driver] Fix Linux/sparc64 -m32 (#98124)
`clang` currently fails to find a GCC installation on Linux/sparc64 with
`-m32`. `strace` reveals that `clang` tries to access
`/usr/lib/gcc/sparcv9-linux-gnu` (which doesn't exist) instead of
`/usr/lib/gcc/sparc64-linux-gnu`.
It turns out that 20d497c26fc95c80a1bacb38820d92e5f52bec58 was overeager
in removing some of the necessary directories.
Fixed by reverting the Linux/sparc* part of the patch.
Tested on `sparc64-unknown-linux-gnu`.
Commit: 8ab19d2e7094c6816ea4f545eb24c503c79a9673
https://github.com/llvm/llvm-project/commit/8ab19d2e7094c6816ea4f545eb24c503c79a9673
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Add -verify-machineinstrs to RISCVInsertVSETVLI MIR tests. NFC
Now that we're working with LiveIntervals, make sure that they're correct.
Commit: 7911fb1a257b3a7014b44b4e7d04ee5c3b73a3e3
https://github.com/llvm/llvm-project/commit/7911fb1a257b3a7014b44b4e7d04ee5c3b73a3e3
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp
Log Message:
-----------
[lldb][test] Fix the flaky test dwp-foreign-type-units.cpp. (#98237)
Use `--match-full-lines` with FileCheck. Otherwise, the checks for `int`
and `unsigned int` will match to the fields inside two `CustomType`s and
FileCheck will start scanning from there, causing string not found
error.
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: ae0fd5994f13e6e61ee2a0bb56a2d250794f098a
https://github.com/llvm/llvm-project/commit/ae0fd5994f13e6e61ee2a0bb56a2d250794f098a
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-07-15 (Mon, 15 Jul 2024)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/libcxx-build-and-test.yaml
M bolt/docs/CommandLineArgumentReference.md
M bolt/docs/Heatmaps.md
M bolt/docs/OptimizingLinux.md
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/HashUtilities.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/dummy-return.s
A bolt/test/AArch64/test-indirect-branch.s
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
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/infer_no_exits.test
M bolt/test/X86/jt-symbol-disambiguation-4.s
A bolt/test/X86/match-functions-with-calls-as-anchors.test
A bolt/test/X86/name-similarity-function-matching.test
M bolt/test/X86/register-fragments-bolt-symbols.s
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
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
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/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.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/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
A clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
A clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
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/modernize/use-ranges.rst
M clang-tools-extra/test/clang-doc/basic-project.test
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/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/use-after-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
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/cmake/caches/Fuchsia-stage2.cmake
M clang/docs/CommandGuide/clang.rst
M clang/docs/HLSL/ExpectedDifferences.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.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/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/DeclBase.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/CodeGenOptions.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/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/Driver/Options.td
A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
M clang/include/clang/Frontend/MultiplexConsumer.h
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/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.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/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.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/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.h
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Disasm.cpp
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/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpFrame.h
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
R clang/lib/Basic/Targets/Le64.cpp
R clang/lib/Basic/Targets/Le64.h
M clang/lib/Basic/Targets/LoongArch.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/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.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/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
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/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/ConstantEmitter.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/CoverageMappingGen.h
M clang/lib/CodeGen/ItaniumCXXABI.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/ARM.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
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/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/float.h
M clang/lib/Headers/intrin.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
A clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
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/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/lifetimes.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/memberpointers.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/shifts.cpp
M clang/test/AST/ast-dump-ctad-alias.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/Analysis/bstring_UninitRead.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/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/Inputs/bits.bin
R clang/test/C/C2x/Inputs/boop.h
R clang/test/C/C2x/Inputs/i.dat
R clang/test/C/C2x/Inputs/jump.wav
R clang/test/C/C2x/Inputs/s.dat
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/n2819.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/n3017.c
R clang/test/C/C2x/n3018.c
R clang/test/C/C2x/n3033.c
R clang/test/C/C2x/n3033_2.c
R clang/test/C/C2x/n3035.c
R clang/test/C/C2x/n3042.c
A clang/test/C/C2y/n3244.c
A clang/test/C/C2y/n3254.c
A clang/test/C/C2y/n3262.c
A clang/test/C/C2y/n3274.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.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/p2.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/class/class.compare/class.compare.default/p1.cpp
A clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5-cxx14.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.general/p4.cpp
M clang/test/CXX/module/module.import/p6.cpp
A clang/test/CXX/temp/temp.names/p3-23.cpp
M clang/test/CXX/temp/temp.res/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
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/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/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/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/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/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
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-byval-temp.c
A clang/test/CodeGen/aarch64-gcs.c
A clang/test/CodeGen/aarch64-inlineasm-ios.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
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/asan-destructor-kind.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/bitfield-access-unit.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
A clang/test/CodeGen/constexpr-c23-internal-linkage.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/isfpclass.c
M clang/test/CodeGen/kcfi.c
A clang/test/CodeGen/ptrauth-function-type-discriminator.c
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
M clang/test/CodeGen/stdcall-fastcall.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/CodeGenCUDA/template-class-static-member.cu
A clang/test/CodeGenCXX/arm64-generated-fn-attr.cpp
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/bitfield-access-tail.cpp
M clang/test/CodeGenCXX/cxx1z-constexpr-if.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/fmv-namespace.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/modules-vtable.cppm
M clang/test/CodeGenCXX/no-const-init-cxx2a.cpp
R clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenHIP/printf-builtin.hip
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.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
A clang/test/CodeGenHLSL/loops/unroll.hlsl
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjC/blocks.m
M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
A clang/test/CodeGenOpenCLCXX/version.clcpp
M clang/test/CoverageMapping/system_macro.cpp
A clang/test/Driver/aarch64-multilib-rcpc3.c
M clang/test/Driver/aarch64-v81a.c
M clang/test/Driver/aarch64-v82a.c
M clang/test/Driver/aarch64-v83a.c
M clang/test/Driver/aarch64-v84a.c
M clang/test/Driver/aarch64-v85a.c
M clang/test/Driver/aarch64-v86a.c
M clang/test/Driver/aarch64-v87a.c
M clang/test/Driver/aarch64-v88a.c
M clang/test/Driver/aarch64-v89a.c
M clang/test/Driver/aarch64-v8a.c
M clang/test/Driver/aarch64-v91a.c
M clang/test/Driver/aarch64-v92a.c
M clang/test/Driver/aarch64-v93a.c
M clang/test/Driver/aarch64-v94a.c
M clang/test/Driver/aarch64-v95a.c
M clang/test/Driver/aarch64-v9a.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
A clang/test/Driver/crel.c
M clang/test/Driver/dxc_debug.hlsl
M clang/test/Driver/frame-pointer.c
A clang/test/Driver/fraw-string-literals-cxx.cpp
M clang/test/Driver/ftime-trace-sections.py
A clang/test/Driver/linker-wrapper-llvm-help.c
A clang/test/Driver/linker-wrapper-passes.c
A clang/test/Driver/loongarch-msimd.c
M clang/test/Driver/ohos.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
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/FixIt/fixit.cpp
A clang/test/Frontend/arm-branch-protection-lto.c
M clang/test/Frontend/fixed_point_comparisons.c
A clang/test/Frontend/module-file-info-not-a-module.c
A clang/test/Headers/__cpuidex_conflict.c
M clang/test/Headers/cpuid.c
M clang/test/Headers/float.c
A clang/test/Index/USR/func-template.cpp
A clang/test/InstallAPI/reexport-with-linker-symbols.test
A clang/test/Lexer/raw-string-ext.c
A clang/test/Misc/cc1as-crel.s
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/warning-flags.c
A clang/test/Modules/export-redecl-in-language-linkage.cppm
R clang/test/Modules/pr97313.cppm
A clang/test/Modules/use-after-free-2.c
M clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/deferred-diags.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
A clang/test/OpenMP/requires_default_atomic_mem_order.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
M clang/test/OpenMP/target_map_both_pointer_pointee_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/target_update_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
M clang/test/Parser/cxx-concepts-requires-clause.cpp
M clang/test/Parser/cxx-template-argument.cpp
M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
A clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
A clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/arm-interrupt-attr.c
A clang/test/Sema/attr-counted-by-or-null-last-field.c
A clang/test/Sema/attr-counted-by-or-null-late-parsed-off.c
A clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
A clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-vla.c
A clang/test/Sema/attr-sized-by-last-field.c
A clang/test/Sema/attr-sized-by-late-parsed-off.c
A clang/test/Sema/attr-sized-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-last-field.c
A clang/test/Sema/attr-sized-by-or-null-late-parsed-off.c
A clang/test/Sema/attr-sized-by-or-null-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
A clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-sized-by-struct-ptrs.c
A clang/test/Sema/attr-sized-by-vla-sizeless-types.c
M clang/test/Sema/attr-target-version.c
M clang/test/Sema/builtins-microsoft-arm64.c
M clang/test/Sema/builtins.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/integer-overflow.c
M clang/test/Sema/no-warn-missing-prototype.c
M clang/test/Sema/riscv-types.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
A clang/test/Sema/undefined-internal-basic.c
A clang/test/Sema/undefined-internal-typeof-c23.c
M clang/test/Sema/vla-2.c
M clang/test/Sema/warn-thread-safety-analysis.c
M clang/test/SemaCUDA/device-use-host-var.cu
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/enum.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/pr98102.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/shift.cpp
M clang/test/SemaCXX/static-assert-cxx17.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unused-variables.cpp
A clang/test/SemaHLSL/Loops/unroll.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/export.hlsl
M clang/test/SemaHLSL/standard_conversion_sequences.hlsl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
M clang/test/SemaTemplate/nested-deduction-guides.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 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
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
M clang/www/analyzer/codechecker.html
M clang/www/analyzer/command-line.html
M clang/www/analyzer/filing_bugs.html
M clang/www/analyzer/index.html
M clang/www/analyzer/installation.html
R clang/www/analyzer/latest_checker.html.incl
M clang/www/analyzer/scan-build.html
M clang/www/analyzer/xcode.html
M clang/www/c_status.html
M clang/www/cxx_status.html
M compiler-rt/CODE_OWNERS.TXT
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.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/cmake/config-ix.cmake
M compiler-rt/include/orc_rt/c_api.h
M compiler-rt/include/profile/MemProfData.inc
M compiler-rt/include/sanitizer/allocator_interface.h
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_preinit.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64.h
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/hwasan/hwasan_allocator.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/hwasan/hwasan_preinit.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/lsan/CMakeLists.txt
M compiler-rt/lib/lsan/lsan_preinit.cpp
M compiler-rt/lib/memprof/memprof_allocator.h
M compiler-rt/lib/memprof/memprof_preinit.cpp
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
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
A compiler-rt/lib/nsan/nsan_preinit.cpp
M compiler-rt/lib/nsan/tests/CMakeLists.txt
M compiler-rt/lib/orc/error.h
A compiler-rt/lib/rtsan/CMakeLists.txt
A compiler-rt/lib/rtsan/rtsan.cpp
A compiler-rt/lib/rtsan/rtsan.h
A compiler-rt/lib/rtsan/rtsan_context.cpp
A compiler-rt/lib/rtsan/rtsan_context.h
A compiler-rt/lib/rtsan/rtsan_interceptors.cpp
A compiler-rt/lib/rtsan/rtsan_interceptors.h
A compiler-rt/lib/rtsan/rtsan_preinit.cpp
A compiler-rt/lib/rtsan/rtsan_stack.cpp
A compiler-rt/lib/rtsan/rtsan_stack.h
A compiler-rt/lib/rtsan/tests/CMakeLists.txt
A compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
M compiler-rt/lib/safestack/CMakeLists.txt
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
M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp
M compiler-rt/lib/scudo/standalone/timing.h
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/tsan/rtl/tsan_preinit.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cpp
M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Darwin/init_for_dlopen.cpp
A compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
M compiler-rt/test/asan/TestCases/debug_mapping.cpp
A compiler-rt/test/builtins/TestCases/check-same-common-code.test
M compiler-rt/test/builtins/lit.cfg.py
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/fuzzer/fuzzer-finalstats.test
M compiler-rt/test/fuzzer/fuzzer-leak.test
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c
A compiler-rt/test/hwasan/TestCases/Posix/ignore_free_hook.cpp
M compiler-rt/test/msan/Linux/sigandorset.cpp
M compiler-rt/test/orc/CMakeLists.txt
A compiler-rt/test/profile/check-same-common-code.test
A compiler-rt/test/rtsan/CMakeLists.txt
A compiler-rt/test/rtsan/Unit/lit.site.cfg.py.in
A compiler-rt/test/rtsan/lit.cfg.py
A compiler-rt/test/rtsan/lit.site.cfg.py.in
M compiler-rt/test/scudo/standalone/CMakeLists.txt
M compiler-rt/test/tsan/Linux/check_preinit.cpp
M compiler-rt/test/xray/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/docs/GettingInvolved.md
M flang/docs/Intrinsics.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/provenance.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/matmul-transpose.h
M flang/include/flang/Runtime/matmul.h
M flang/include/flang/Runtime/misc-intrinsic.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CodeGenOptions.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/StackReclaim.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/provenance.cpp
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/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/type.cpp
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/misc-intrinsic.cpp
A flang/test/Driver/large-data-threshold.f90
A flang/test/Driver/mcmodel.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/HLFIR/matmul-lowering.fir
M flang/test/HLFIR/mul_transpose.f90
M flang/test/Integration/debug-assumed-shape-array.f90
A flang/test/Integration/debug-assumed-size-array-2.f90
A flang/test/Integration/debug-assumed-size-array.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/HLFIR/array-ctor-character.f90
A flang/test/Lower/Intrinsics/atan.f90
M flang/test/Lower/Intrinsics/atan_real16.f90
M flang/test/Lower/Intrinsics/get_environment_variable.f90
M flang/test/Lower/Intrinsics/matmul.f90
A flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-update.f90
R flang/test/Lower/OpenMP/Todo/masked-directive.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
A flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-compound.f90
A flang/test/Lower/OpenMP/masked.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
A flang/test/Lower/OpenMP/sections-array-reduction.f90
A flang/test/Lower/OpenMP/sections-reduction.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
A flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/large-data-threshold.f90
A flang/test/Lower/mcmodel.f90
M flang/test/Lower/namelist.f90
A flang/test/Preprocessing/timestamp.F90
M flang/test/Semantics/array-constr-len.f90
M flang/test/Semantics/c_loc01.f90
M flang/test/Semantics/definable02.f90
M flang/test/Semantics/final03.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/modfile65.f90
M flang/test/Transforms/debug-assumed-shape-array.fir
A flang/test/Transforms/debug-assumed-size-array.fir
M flang/test/Transforms/debug-ptr-type.fir
M flang/test/Transforms/stack-reclaime.fir
M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Runtime/Matmul.cpp
M flang/unittests/Runtime/MatmulTranspose.cpp
M libc/CMakeLists.txt
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/src/ctype/isalnum_benchmark.cpp
A libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
A libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/benchmarks/gpu/timing/timing.h
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/gpu/api.td
M libc/config/gpu/config.json
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/app.h
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/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
M libc/docs/build_and_test.rst
M libc/docs/configure.rst
M libc/docs/dev/clang_tidy_checks.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/implementation_standard.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/full_host_build.rst
M libc/docs/math/index.rst
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/hdr/CMakeLists.txt
A libc/hdr/limits_macros.h
M libc/hdr/math_macros.h
A libc/hdr/stdio_macros.h
A libc/hdr/sys_stat_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
A libc/hdr/unistd_macros.h
M libc/include/CMakeLists.txt
A libc/include/dlfcn.h.def
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/dlfcn-macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
A libc/include/llvm-libc-macros/math-function-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/stdio-macros.h
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/math.h.def
A libc/newhdrgen/CMakeLists.txt
M libc/newhdrgen/class_implementation/classes/enumeration.py
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/class_implementation/classes/object.py
M libc/newhdrgen/header.py
A libc/newhdrgen/tests/expected_output/test_header.h
A libc/newhdrgen/tests/input/test_small.h.def
A libc/newhdrgen/tests/input/test_small.yaml
A libc/newhdrgen/tests/output/test_small.h
A libc/newhdrgen/tests/test_integration.py
A libc/newhdrgen/yaml/ctype.yaml
A libc/newhdrgen/yaml/dlfcn.yaml
A libc/newhdrgen/yaml/fenv.yaml
M libc/newhdrgen/yaml/inttypes.yaml
A libc/newhdrgen/yaml/math.yaml
A libc/newhdrgen/yaml/pthread.yaml
A libc/newhdrgen/yaml/sched.yaml
A libc/newhdrgen/yaml/signal.yaml
A libc/newhdrgen/yaml/stdfix.yaml
A libc/newhdrgen/yaml/stdio.yaml
A libc/newhdrgen/yaml/stdlib.yaml
A libc/newhdrgen/yaml/string.yaml
A libc/newhdrgen/yaml/strings.yaml
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_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_time.yaml
R libc/newhdrgen/yaml/sys_types.yaml
R libc/newhdrgen/yaml/sys_utsname.yaml
M libc/newhdrgen/yaml/termios.yaml
M libc/newhdrgen/yaml/threads.yaml
A libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml/unistd.yaml
R libc/newhdrgen/yaml_combined/ctype.yaml
R libc/newhdrgen/yaml_combined/fenv.yaml
R libc/newhdrgen/yaml_combined/math.yaml
R libc/newhdrgen/yaml_combined/pthread.yaml
R libc/newhdrgen/yaml_combined/sched.yaml
R libc/newhdrgen/yaml_combined/signal.yaml
R libc/newhdrgen/yaml_combined/stdfix.yaml
R libc/newhdrgen/yaml_combined/stdio.yaml
R libc/newhdrgen/yaml_combined/stdlib.yaml
R libc/newhdrgen/yaml_combined/string.yaml
R libc/newhdrgen/yaml_combined/strings.yaml
R libc/newhdrgen/yaml_combined/sys_mman.yaml
R libc/newhdrgen/yaml_combined/sys_wait.yaml
R libc/newhdrgen/yaml_combined/time.yaml
M libc/newhdrgen/yaml_to_classes.py
M libc/spec/bsd_ext.td
M libc/spec/gnu_ext.td
M libc/spec/linux.td
M libc/spec/llvm_libc_ext.td
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/CMakeLists.txt
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/CMakeLists.txt
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/CMakeLists.txt
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/CMakeLists.txt
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/CMakeLists.txt
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/macros/sanitizer.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
A libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dlclose.cpp
A libc/src/dlfcn/dlclose.h
A libc/src/dlfcn/dlerror.cpp
A libc/src/dlfcn/dlerror.h
A libc/src/dlfcn/dlopen.cpp
A libc/src/dlfcn/dlopen.h
A libc/src/dlfcn/dlsym.cpp
A libc/src/dlfcn/dlsym.h
M libc/src/errno/CMakeLists.txt
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/CMakeLists.txt
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/CMakeLists.txt
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
A libc/src/math/amdgpu/powi.cpp
A 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
A 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
A 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/CMakeLists.txt
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
A 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
A 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
A libc/src/math/generic/isnan.cpp
A libc/src/math/generic/isnanf.cpp
A 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
A 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
A libc/src/math/isnan.h
A libc/src/math/isnanf.h
A 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/CMakeLists.txt
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
A libc/src/math/nvptx/powi.cpp
A 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
A libc/src/math/powi.h
A 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
R libc/src/math/x86_64/CMakeLists.txt
R libc/src/math/x86_64/tan.cpp
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/CMakeLists.txt
A libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
A 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
R 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/fileno.cpp
M libc/src/stdio/generic/fopen.cpp
A libc/src/stdio/generic/fprintf.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/stderr.cpp
M libc/src/stdio/generic/stdin.cpp
Log Message:
-----------
Merge branch 'main' into users/paschalis-mpeis/bolt-heatmap-docs
Compare: https://github.com/llvm/llvm-project/compare/3c7b4df7bc9c...ae0fd5994f13
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