[all-commits] [llvm/llvm-project] fef62b: [InstCombine] Canonicalize `extractvalue + select`...
Slava Zakharin via All-commits
all-commits at lists.llvm.org
Fri Mar 15 14:30:36 PDT 2024
Branch: refs/heads/users/vzakhari/spr/main.flangruntime-added-self-printing-for-internalunit
Home: https://github.com/llvm/llvm-project
Commit: fef62be09c0d0aaa7f37144e260a4c03ad97f447
https://github.com/llvm/llvm-project/commit/fef62be09c0d0aaa7f37144e260a4c03ad97f447
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/extract-select-agg.ll
Log Message:
-----------
[InstCombine] Canonicalize `extractvalue + select` (#84686)
This patch canonicalizes `extractvalue (select Cond, TV, FV)` into
`select Cond, (extractvalue TV), (extractvalue FV)`. The latter form may
enable more optimizations.
Commit: 3b5e7c83a6e226d5bd7ed2e9b67449b64812074c
https://github.com/llvm/llvm-project/commit/3b5e7c83a6e226d5bd7ed2e9b67449b64812074c
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/Sema/PR84368.cpp
Log Message:
-----------
[Clang][Sema] Fix a bug on type constraint checking (#84671)
Try to fix https://github.com/llvm/llvm-project/issues/84368
When visiting class members in
`TemplateDeclInstantiator::VisitClassTemplateDecl` during
`Sema::InstantiateClass`, we miss to set attribute of friend declaration
if it is(`isFriend` is true). This will lead to
`Sema::AreConstraintExpressionsEqual` return false when invoked in
`MatchTemplateParameterKind`. Because it makes
`Sema::getTemplateInstantiationArgs` returns incorrect template
argument(`MultiLevelTemplateArgumentList`). When we handle
`CXXRecordDecl` In `Sema::getTemplateInstantiationArgs`, friend
declaration(its parent context is `FileContext`) makes us to choose
`LexicalDeclContext` not `DeclContext` and this is what we want.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 071f72a8ecfbcb77c0f95969431b0f5dbc8ed2b2
https://github.com/llvm/llvm-project/commit/071f72a8ecfbcb77c0f95969431b0f5dbc8ed2b2
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/lib/Target/Cpp/CMakeLists.txt
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/test/Target/Cpp/invalid.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Target][Cpp] Remove unused dialects (#85102)
Removes linking and registering dialects that are not support any more.
Commit: e6048b728d3170651828ad2dd7ed5ad0bc5e4f06
https://github.com/llvm/llvm-project/commit/e6048b728d3170651828ad2dd7ed5ad0bc5e4f06
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
A mlir/test/Transforms/buffer-results-to-out-params-add-result-attr.mlir
Log Message:
-----------
[MLIR][Bufferization] BufferResultsToOutParams: Add option to add attribute to output arguments (#84320)
Adds a new pass option `add-result-attr` that will make the pass add the
attribute `{bufferize.result}` to each argument that was converted from
a result.
This is important e.g. when later using the python bindings / execution
engine to understand which arguments are actually results.
To be able to test this, the pass option was added to the tablegen. To
avoid collisions with the existing, manually defined option struct
`BufferResultsToOutParamsOptions`, that one was renamed to
`BufferResultsToOutParamsOpts`.
Commit: 34ba90745fa55777436a2429a51a3799c83c6d4c
https://github.com/llvm/llvm-project/commit/34ba90745fa55777436a2429a51a3799c83c6d4c
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Support Fastmath flag in conversion of complex.sqrt to standard (#85019)
When converting complex.sqrt op to standard, we need to keep the fast
math flag given to the op.
See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: 2582965c160486f9e3b0680f1cebc5ffdef9620c
https://github.com/llvm/llvm-project/commit/2582965c160486f9e3b0680f1cebc5ffdef9620c
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/reduced-bmi-generating-codes.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Generate the function body from implicitly instantiated class and constant variables
After this patch, we will generate the function body from implicitly
instantiated class. This is important for consumers with same
template arguments. Otherwise the consumers won't see the function body.
Since the consumers won't instantiate the templates again if they find an
instantiation.
Also we will generate the variable definition if the variable is
non-inline but known as constant. Such variables may not affect the
ABI, but they may get involved into the compile time constant computation
in the consumer's code. So we have to generate such definitions.
Commit: 8f68022f8e6e54d1aeae4ed301f5a015963089b7
https://github.com/llvm/llvm-project/commit/8f68022f8e6e54d1aeae4ed301f5a015963089b7
Author: huang-me <56251429+huang-me at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/test/Analysis/loop-unrolling.cpp
Log Message:
-----------
[clang][analyzer] Fix crash in loop unrolling (#82089)
StaticAnalyzer didn't check if the variable is declared in
`CompoundStmt` under `SwitchStmt`, which make static analyzer reach root
without finding the declaration.
Fixes #68819
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: ece2c25ab9f572f719fd18f1ced4fa80f3e5ed1c
https://github.com/llvm/llvm-project/commit/ece2c25ab9f572f719fd18f1ced4fa80f3e5ed1c
Author: bvlgah <octopus.busts_0w at icloud.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
Log Message:
-----------
[LLDB][Test] Fix the test case of listing verbose break info on Windows (#85200)
I noticed a failure of [running LLDB test suites on Windows
AArch64](https://lab.llvm.org/buildbot/#/builders/219/builds/9849). The
failed test case is about
checking output of command `breakpoint list -v -L c++`, and an mismatch
on the demangled
name of a function occurred. The test case expects `ns::func(void)`, but
on Windows it is `int ns::func(void)`.
It results from the different mangling scheme used by MSVC, and the
comparison is as follows:
| Scheme | Mangled | Demangled (fully) | Note |
| --- | --- | --- | --- |
| MSVC | `?func at ns@@YAHXZ` | `int __cdecl ns::func(void)` |
[Godbolt](https://godbolt.org/z/5ns8c7xW3) (I have no available Windows
device) |
| Itanium | `_ZN2ns4funcEv` | `ns::func()` | |
According to the current use of MSVC demangling,
https://github.com/llvm/llvm-project/blob/8f68022f8e6e54d1aeae4ed301f5a015963089b7/lldb/source/Core/Mangled.cpp#L128-L143
the `__cdecl` specifier is not part of the name. However, the function's
parameter types should be present
as ` llvm::MSDF_NoVariableType` [does not affect a symbol for
functions](https://github.com/llvm/llvm-project/blob/8f68022f8e6e54d1aeae4ed301f5a015963089b7/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp#L417-L453).
Therefore, it is inappropriate to assume the demangled name are the same
on all platforms. Instead of tweaking the
existing code of demangling to get the same (demangled) name, I think it
is more reasonable to modify the test case.
Commit: 65f5e2c4070f22ab7a1617c798b4c61baa9b39a8
https://github.com/llvm/llvm-project/commit/65f5e2c4070f22ab7a1617c798b4c61baa9b39a8
Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISC-V] Add another missing cast in .td file (#85055)
Another instance where we produce an instruction that defines a vreg
with an i32 value.
Commit: 2cf2ca37029435e90829e2e38a27ef7a7d520368
https://github.com/llvm/llvm-project/commit/2cf2ca37029435e90829e2e38a27ef7a7d520368
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Target/Cpp/CppEmitter.h
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][Target][Cpp] Cleanup includes (#85105)
Commit: afec257d369a13893b39d02bc630f9f3cec80162
https://github.com/llvm/llvm-project/commit/afec257d369a13893b39d02bc630f9f3cec80162
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-load.ll
M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-store.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-args-rev.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-args.ll
Log Message:
-----------
[SPIRV] Add type inference of function parameters by call instances (#85077)
This PR adds type inference of function parameters by call instances.
Two use cases that demonstrate the problem are added.
Commit: aff05708916107eec73ea5db363f625926f60730
https://github.com/llvm/llvm-project/commit/aff05708916107eec73ea5db363f625926f60730
Author: Atousa Duprat <atousa.p at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[ADT] Add implementations for avgFloor and avgCeil to APInt (#84431)
Supports both signed and unsigned expansions.
SelectionDAG now calls the APInt implementation of these functions.
Fixes #84211.
Commit: b19cfb9175223d3e1bb3ef6d49ccd26d0104906c
https://github.com/llvm/llvm-project/commit/b19cfb9175223d3e1bb3ef6d49ccd26d0104906c
Author: Carlos Alberto Enciso <47597242+CarlosAlbertoEnciso at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVELFReader.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-compare-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-print-basic-details.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-select-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/02-wasm-logical-lines.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/03-wasm-incorrect-lexical-scope-typedef.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/04-wasm-missing-nested-enumerators.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/05-wasm-incorrect-lexical-scope-variable.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/06-wasm-full-logical-view.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/definitions.h
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/hello-world-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/hello-world.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-43860-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-43860.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-46466-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-46466.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/README.txt
Log Message:
-----------
[llvm-debuginfo-analyzer] Add support for WebAssembly binary format. (#82588)
Add support for the WebAssembly binary format and be able to generate
logical views.
https://github.com/llvm/llvm-project/issues/69181
The README.txt includes information about how to build the test cases.
Commit: 117537d97ea12bc39501b91d395e1d4705b23850
https://github.com/llvm/llvm-project/commit/117537d97ea12bc39501b91d395e1d4705b23850
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[DAG] ExpandIntRes_Shift - pull out repeated getOpcode() calls. NFC.
Commit: 4fef8c75abb080e6471395492819171fee8261fa
https://github.com/llvm/llvm-project/commit/4fef8c75abb080e6471395492819171fee8261fa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] splitVectorOp - share the same SDLoc argument instead of recreating it over and over again.
Commit: 4528c44d0a82f2b5fe25757b28b185c3c880cfb2
https://github.com/llvm/llvm-project/commit/4528c44d0a82f2b5fe25757b28b185c3c880cfb2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libcxx/include/__format/concepts.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/chrono
M libcxx/include/tuple
M libcxx/include/vector
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.verify.cpp
Log Message:
-----------
[libc++] Remove <tuple> include from <__format/concepts.h> (#80214)
This also moves `tuple_size_v` into `tuple_size` as a drive-by.
Commit: a82ca398ce30c499adf73fdd200352714d9867d0
https://github.com/llvm/llvm-project/commit/a82ca398ce30c499adf73fdd200352714d9867d0
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
Log Message:
-----------
[mlir][EmitC] Fix type in example (#85205)
Commit: 95fef1dfefd5467206e74c089d29806fcd82889b
https://github.com/llvm/llvm-project/commit/95fef1dfefd5467206e74c089d29806fcd82889b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.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
Log Message:
-----------
[LV] Improve AnyOf reduction codegen. (#78304)
Update AnyOf reduction code generation to only keep track of the AnyOf
property in a boolean vector in the loop, only selecting either the new
or start value in the middle block.
The patch incorporates feedback from https://reviews.llvm.org/D153697.
This fixes the #62565, as now there aren't multiple uses of the
start/new values.
Fixes https://github.com/llvm/llvm-project/issues/62565
PR: https://github.com/llvm/llvm-project/pull/78304
Commit: 763be018c57171730f80367e75d994a80f34d2ea
https://github.com/llvm/llvm-project/commit/763be018c57171730f80367e75d994a80f34d2ea
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[RemoveDIs][NFC] Update docs to reflect new class structure (#85109)
This patch adds some small updates to the LLVM documentation regarding
DbgRecords to accurately describe the current class structure. There are
some more refactorings to come, so this isn't intended to be the final
document update, but it covers the immediate task of updating references
to DPValue that really refer to DbgRecord.
Commit: 4299c727e4806aa55398ad23da48a401554cd432
https://github.com/llvm/llvm-project/commit/4299c727e4806aa55398ad23da48a401554cd432
Author: Tim Northover <tnorthover at apple.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-arm64.c
M clang/test/Sema/builtins-arm64.c
Log Message:
-----------
AArch64: add __builtin_arm_trap
It's useful to provide an indicator code with the trap, which the generic
__builtin_trap can't do. asm("brk #N") is an option, but following that with a
__builtin_unreachable() leads to two traps when the compiler doesn't know the
block can't return. So compiler support like this is useful.
Commit: 5f774619eac5db73398225a4c924a9c1d437fb40
https://github.com/llvm/llvm-project/commit/5f774619eac5db73398225a4c924a9c1d437fb40
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-addo-zero.mir
M llvm/test/CodeGen/AArch64/overflow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
Log Message:
-----------
[GlobalIsel] Combine ADDO (#82927)
Perform the requested arithmetic and produce a carry output in addition
to the normal result.
Clang has them as builtins (__builtin_add_overflow_p). The middle end
has intrinsics for them (sadd_with_overflow).
AArch64: ADDS Add and set flags
On Neoverse V2, they run at half the throughput of basic arithmetic and
have a limited set of pipelines.
Commit: 2e865353ed6baa35609e94bf5de9f2061df6eacf
https://github.com/llvm/llvm-project/commit/2e865353ed6baa35609e94bf5de9f2061df6eacf
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Move DPValue::filter -> filterDbgVars (#85208)
This patch changes DPValue::filter to be a non-member method
filterDbgVars. There are two reasons for this: firstly, the name of
DPValue is about to change to DbgVariableRecord, which will result in
every `for` loop that uses DPValue::filter to require a line break. This
is a small thing, but it makes the rename patch more difficult to
review, and is just generally more awkward for what is a fairly common
loop. Secondly, the intent is to later break up the DPValue class into
subclasses, at which point it would be better to have a non-member
function that allows template arguments for the cases we want to filter
with greater specificity.
Commit: 91e68a415cfa0cb2eb47c8ebe741ed26cf97d24c
https://github.com/llvm/llvm-project/commit/91e68a415cfa0cb2eb47c8ebe741ed26cf97d24c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[Support] KnownBitsTest - don't bother creating lambdas in testBinaryOpExhaustive callbacks if we can just use the raw KnownBits/APIntOps function reference. NFCI.
Commit: c7cf1350b4c182f7ba54ae42eb77eef94bbf4f35
https://github.com/llvm/llvm-project/commit/c7cf1350b4c182f7ba54ae42eb77eef94bbf4f35
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] foldAndToUsubsat - convert to use sd_match pattern. NFC.
Commit: ef8062e35b3aae0e9d8bdee6534511a7b9eb49d0
https://github.com/llvm/llvm-project/commit/ef8062e35b3aae0e9d8bdee6534511a7b9eb49d0
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Target/Cpp/CppEmitter.h
Log Message:
-----------
[mlir][Target][Cpp] Fix include.
mlir/include/mlir/Target/Cpp/CppEmitter.h:27:45: error: unknown type name 'raw_ostream'; did you mean 'llvm::raw_ostream'?
27 | LogicalResult translateToCpp(Operation *op, raw_ostream &os,
| ^~~~~~~~~~~
| llvm::raw_ostream
Commit: c9c23261abb7fb8d51ea6110b7cd6418f078ef8b
https://github.com/llvm/llvm-project/commit/c9c23261abb7fb8d51ea6110b7cd6418f078ef8b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Add SDPatternMatch m_SMin/m_SMax/m_UMin/m_UMax matchers
Commit: 6f3f659ce9ab91002b4a490b0ce4b085981383cd
https://github.com/llvm/llvm-project/commit/6f3f659ce9ab91002b4a490b0ce4b085981383cd
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt] Also consider SIGPROF as a synchronous signal (#85188)
Blocking that signal causes inter-blocking for profilers that monitor
threads through that signal.
Fix #83844 and #83561
Commit: 9e00405419c7a8bb6b8f00454b8fd47a2a400674
https://github.com/llvm/llvm-project/commit/9e00405419c7a8bb6b8f00454b8fd47a2a400674
Author: mahesh-attarde <145317060+mahesh-attarde at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
Log Message:
-----------
[CodeGen][X86] Remove Expensive option copy and delete copy assignment (#85187)
Remove Expensive option copy and delete copy assignment
Commit: 72d300adad4022b150c24e4a44488d3b9334e999
https://github.com/llvm/llvm-project/commit/72d300adad4022b150c24e4a44488d3b9334e999
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Move a varible declaration in the closest scope
Commit: 7252d22803c32bf6421e45dcefe6ea1fa51ac774
https://github.com/llvm/llvm-project/commit/7252d22803c32bf6421e45dcefe6ea1fa51ac774
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[OpenMP][MLIR] NFC: Remove trailing whitespace (#85213)
Commit: 2e271ceff668dc905dd15e6ca3b52f37602533a9
https://github.com/llvm/llvm-project/commit/2e271ceff668dc905dd15e6ca3b52f37602533a9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Revert 4fef8c75abb080e6471395492819171fee8261fa "[X86] splitVectorOp - share the same SDLoc argument instead of recreating it over and over again."
This appears to have broken the clang-with-thin-lto-ubuntu buildbot somehow (unconfirmed but its a likely candidate)
Commit: 516ccce7fa2659bf788a817eae73fa369559cc45
https://github.com/llvm/llvm-project/commit/516ccce7fa2659bf788a817eae73fa369559cc45
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Support/ToolUtilities.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Support/ToolUtilities.cpp
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
R mlir/test/mlir-opt/nearmiss.mlir
A mlir/test/mlir-opt/split-markers.mlir
A mlir/test/mlir-pdll/split-markers.pdll
A mlir/test/mlir-translate/split-markers.mlir
M mlir/tools/mlir-pdll/mlir-pdll.cpp
Log Message:
-----------
[mlir] Make the split markers of splitAndProcessBuffer configurable. (#84765)
This allows to define custom splitters, which is interesting for
non-MLIR inputs and outputs to `mlir-translate`. For example, one may
use `; -----` as a splitter of `.ll` files. The splitters are now passed
as arguments into `splitAndProcessBuffer`, the input splitter defaulting
to the previous default (`// -----`) and the output splitter defaulting
to the empty string, which also corresponds to the previous default. The
behavior of the input split marker should not change at all; however,
outputs now have one new line *more* than before if there is no splitter
(old: `insertMarkerInOutput = false`, new: `outputSplitMarker = ""`) and
one new line *less* if there is one. The value of the input splitter is
exposed as a command line options of `mlir-translate` and other tools as
an optional value to the previously existing flag `-split-input-file`,
which defaults to the default splitter if not specified; the value of
the output splitter is exposed with the new `-output-split-marker`,
which default to the empty string in `mlir-translate` and the default
splitter in the other tools. In short, the previous usage or omission of
the flags should result in previous behavior (modulo the new lines
mentioned before).
Commit: b97c12936dd8d520a5565ace3d51a460939a5c61
https://github.com/llvm/llvm-project/commit/b97c12936dd8d520a5565ace3d51a460939a5c61
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix non-primitive ltor casts
This doesn't happen in C++ since it will instead call the
struct's copy constructor. However, in C, this needs to work.
Commit: 620544192477cb8f4f1a1342e9593f7f15b5ecaf
https://github.com/llvm/llvm-project/commit/620544192477cb8f4f1a1342e9593f7f15b5ecaf
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVScheduleZb.td
Log Message:
-----------
[RISCV] Add sched classes for Zbb integer min max instructions
Commit: 818e0272f5142986e8d82d1267fb6aa21cd168a0
https://github.com/llvm/llvm-project/commit/818e0272f5142986e8d82d1267fb6aa21cd168a0
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
Log Message:
-----------
[RISCV] Model integer min max instructions from Zbb execute in late-B ALU
We don't model the early vs late ALU so we just need to remove usage of
SiFivePipeA for these instructions.
Commit: a551ccee66fc70b5ecd03a2c8b9db5a7330820f0
https://github.com/llvm/llvm-project/commit/a551ccee66fc70b5ecd03a2c8b9db5a7330820f0
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Print primitive global values in dump()
Commit: 2421e76159536ec4d2224e17fd10dfc4df6a2bc5
https://github.com/llvm/llvm-project/commit/2421e76159536ec4d2224e17fd10dfc4df6a2bc5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp][NFC] Add more _Complex tests
Commit: 21d80859df3fb416efac13ce8178fdf6d6489292
https://github.com/llvm/llvm-project/commit/21d80859df3fb416efac13ce8178fdf6d6489292
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Program.h
Log Message:
-----------
[clang][Interp][NFC] Rename DummyParams to DummyVariables
We create dummy descriptors for variables other than parameters
these days.
Commit: 7f2167868d8c1cedd3915883412b9c787a2f01db
https://github.com/llvm/llvm-project/commit/7f2167868d8c1cedd3915883412b9c787a2f01db
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis.
This improves overall analysis for minbitwidth in SLP. It allows to
analyze the trees with store/insertelement root nodes. Also, instead of
using single minbitwidth, detected from the very first analysis stage,
it tries to detect the best one for each trunc/ext subtree in the graph
and use it for the subtree.
Results in better code and less vector register pressure.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant.test 92549.00 92609.00 0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 663381.00 663493.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 663381.00 663493.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 307182.00 307214.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1394420.00 1394484.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1394420.00 1394484.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2040257.00 2040273.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12396098.00 12395858.00 -0.0%
test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test 909944.00 909768.00 -0.0%
SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant - 4 scalar
instructions remain scalar (good).
Spec2017/x264 - the whole function idct4x4dc is vectorized using <16
x i16> instead of <16 x i32>, also zext/trunc are removed. In other
places last vector zext/sext removed and replaced by
extractelement + scalar zext/sext pair.
MultiSource/Benchmarks/Bullet/bullet - reduce or <4 x i32> replaced by
reduce or <4 x i8>
Spec2017/imagick - Removed extra zext from 2 packs of the operations.
Spec2017/parest - Removed extra zext, replaced by extractelement+scalar
zext
Spec2017/blender - the whole bunch of vector zext/sext replaced by
extractelement+scalar zext/sext, some extra code vectorized in smaller
types.
Spec2006/gobmk - fixed cost estimation, some small code remains scalar.
Original Pull Request: https://github.com/llvm/llvm-project/pull/84334
The patch has the same functionality (no test changes, no changes in
benchmarks) as the original patch, just has some compile time
improvements + fixes for xxhash unittest, discovered earlier in the
previous version of the patch.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/84536
Commit: a99b912c9b74f6ef91786b4dfbc25160c27d3b41
https://github.com/llvm/llvm-project/commit/a99b912c9b74f6ef91786b4dfbc25160c27d3b41
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Create dummy pointers for external variables
This way we can use their address, which is necessary in some
scenarios. This requires us to create different descriptors
for dummy arrays so we can get the diagnostics right.
Commit: 611d5aec1de59fe567162158347c6c2ea29ff4d8
https://github.com/llvm/llvm-project/commit/611d5aec1de59fe567162158347c6c2ea29ff4d8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in InterpBuiltin.cpp (NFC)
llvm-project/clang/lib/AST/Interp/InterpBuiltin.cpp:1332:21:
error: unused variable 'SrcDesc' [-Werror,-Wunused-variable]
const Descriptor *SrcDesc = Src.getFieldDesc();
^
1 error generated.
Commit: 160693dbde2837af4237954edd38b08b2bb17a29
https://github.com/llvm/llvm-project/commit/160693dbde2837af4237954edd38b08b2bb17a29
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] allocateLocalPrimitive never fails
It returns the local offset, not an std::optional.
Commit: 098520244f90e9330d3ae78bd1061aee2e3688c0
https://github.com/llvm/llvm-project/commit/098520244f90e9330d3ae78bd1061aee2e3688c0
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/powi.ll
Log Message:
-----------
[InstCombine] optimize powi(X,Y) * X with Ofast
Try to transform the powi(X, Y) * X into powi(X, Y+1) with Ofast
For this case, when the Y is 3, then powi(X, 4) is replaced by
X2 = X * X; X2 * X2 in the further step.
Similar to D109954, who requires reassoc.
Fixes https://github.com/llvm/llvm-project/issues/69862.
Commit: 1752b9e4c74bda8bb312dadec0dae007c877e28c
https://github.com/llvm/llvm-project/commit/1752b9e4c74bda8bb312dadec0dae007c877e28c
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] create a helper function foldPowiReassoc, NFC
Commit: 2d6988a45e29aec9242f96b3ab02a3c3699bc3ec
https://github.com/llvm/llvm-project/commit/2d6988a45e29aec9242f96b3ab02a3c3699bc3ec
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/powi.ll
Log Message:
-----------
[InstCombine] Add restrict reassoc for the operands of fmul
According the discussion, except the fmul itself, all its operands
should also have reassoc flag.
Add new API m_AllowReassoc to check reassoc flag
Commit: f7bebc191484f889272a727584b23697f369e952
https://github.com/llvm/llvm-project/commit/f7bebc191484f889272a727584b23697f369e952
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
A llvm/test/MC/AMDGPU/mcexpr_amd.s
A llvm/test/MC/AMDGPU/mcexpr_amd_err.s
Log Message:
-----------
Reland [AMDGPU] Add AMDGPU specific variadic operation MCExprs (#84562)
Adds AMDGPU specific variadic MCExpr operations 'max' and 'or'.
Relands #82022 with fixes
Commit: 486332af6bd3df32423c107ced2653908a1f0fb4
https://github.com/llvm/llvm-project/commit/486332af6bd3df32423c107ced2653908a1f0fb4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port f7bebc191484
Commit: 2cd19df792056bbac38ed64c028e335d0c7ef05d
https://github.com/llvm/llvm-project/commit/2cd19df792056bbac38ed64c028e335d0c7ef05d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Allow visiting extern variables
If the variable is additionally const(expr), visit them like normal
but omit the initializer.
Commit: 589c7abb03448cf00c94add3380b5e019ed5f504
https://github.com/llvm/llvm-project/commit/589c7abb03448cf00c94add3380b5e019ed5f504
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.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
Log Message:
-----------
Revert "[LV] Improve AnyOf reduction codegen. (#78304)"
Broke sanitizer bots: https://lab.llvm.org/buildbot/#/builders/74/builds/26697
This reverts commit 95fef1dfefd5467206e74c089d29806fcd82889b.
Commit: 6ae4fcfd4c90f4ac7093d9bd901e75b2d5152eb9
https://github.com/llvm/llvm-project/commit/6ae4fcfd4c90f4ac7093d9bd901e75b2d5152eb9
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/add-nuw-nsw-flags.ll
Log Message:
-----------
[SCCP] Extend `visitBinaryOperator` to overflowing binary ops
Leverage more refined ranges results when handling overflowing
binary operators.
Commit: a75d0a3dbab6215db228cedf5f2458e251c30637
https://github.com/llvm/llvm-project/commit/a75d0a3dbab6215db228cedf5f2458e251c30637
Author: Alastair Houghton <ahoughton at apple.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M lldb/cmake/caches/Apple-lldb-Linux.cmake
Log Message:
-----------
[LLDB] Add lldb-python-scripts to the things installed on Linux. (#85080)
Commit: d83660827f0cb0054dafef6568ea2fa5b788a39c
https://github.com/llvm/llvm-project/commit/d83660827f0cb0054dafef6568ea2fa5b788a39c
Author: Andrew Brown <andrew.brown at intel.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[openmp][wasm] Fix microtask type mismatch (#84355)
When OpenMP is compiled for WebAssembly (see #71297), it invokes a
microtask via a `switch` statement that dispatches to the `void *`
microtask pointer with spelled-out arguments (not varargs). As #83329
points out, however, this can result in a type mismatch when the
indirect call is executed by WebAssembly; WebAssembly expects the called
pointer to have the precise type of the call site. This change fixes the
issue by bringing back the approach in [D142593] of type-casting all the
`switch` arms to the precise type. This fixes #83329.
[D142593]: https://reviews.llvm.org/D142593
Commit: 68360dc85507350c9d38bcc6916debe29fd58fee
https://github.com/llvm/llvm-project/commit/68360dc85507350c9d38bcc6916debe29fd58fee
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
A clang/test/AST/Interp/c23.c
Log Message:
-----------
[clang][Interp] Don't abort on float div-by-zero
The result in that case can still be computed, and it's inf.
Commit: ea2cfcc15b4a0c5e823ed173ac8701d1ba6081eb
https://github.com/llvm/llvm-project/commit/ea2cfcc15b4a0c5e823ed173ac8701d1ba6081eb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/OpenMP/ClauseT.h
A flang/lib/Lower/OpenMP/Clauses.cpp
A flang/lib/Lower/OpenMP/Clauses.h
Log Message:
-----------
[flang][OpenMP] Implement flexible OpenMP clause representation (#81621)
The new set of classes representing OpenMP classes mimics the contents
of parser::OmpClause, but differs in a few aspects:
- it can be easily created, copied, etc.
- is based on semantics::SomeExpr instead of parser objects.
This set of classes is geared towards a language-agnostic representation
of OpenMP clauses. While the class members are still based on flang's
`parser::OmpClause`, the classes themselves are actually C++ templates
parameterized with types essential to represent necessary information.
The two parameters are
- `IdType`: the type that can represent object's identity (for flang it
will be `semantics::Symbol *`),
- `ExprType`: the type that can represent expressions, arithmetic and
object references (`semantics::MaybeExpr` in flang).
The templates are defined in a namespace `tomp` (to distinguish it from
`omp`).
This patch introduces file "Clauses.cpp", which contains instantiations
of all of the templates for flang. The instantiations are members of
namespace `omp`, and include an all-encompassing variant class
`omp::Clause`, which is the analog of `parser::OmpClause`.
The class `OmpObject` is represented by `omp::Object`, which contains
the symbol associated with the object, and `semantics::MaybeExpr`
representing the designator for the symbol reference. For each specific
clause in the variant `parser::OmpClause`, there exists a `make`
function that will generate the corresponding `omp::Clause` from it. The
intent was to use the make functions as variant visitors. The creation
of a clause instance would then follow the pattern:
```
omp::Clause clause = std::visit([](auto &&s) { return make(s, semaCtx); }, parserClause.u);
```
If a new clause `foo` is added in the future, then:
- a new template `tomp::FooT` representing the clause needs to be added
to ClauseT.h,
- a new instance needs to be created in flang, this can be as simple as
`using Foo = tomp::FooT<...>`,
- a new make function needs to be implemented to create object of class
Foo from `parser::OmpClause::Foo`.
This patch only introduces the new classes, they are not yet used
anywhere.
[Clause representation 1/6]
Commit: 65c0143296e3d8aafe819cbae4a48a3d53f8e7b3
https://github.com/llvm/llvm-project/commit/65c0143296e3d8aafe819cbae4a48a3d53f8e7b3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
A clang/test/AST/Interp/ms.cpp
Log Message:
-----------
[clang][Interp] Fix rotate builtins with differently-typed arguments
We were assuming (and asserting) that both arguments have the same
type, but at least for the ms versions, that's not always the case.
Commit: 23323e2837d3282c194df6239a7f1a5494c17907
https://github.com/llvm/llvm-project/commit/23323e2837d3282c194df6239a7f1a5494c17907
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
Log Message:
-----------
[TargetLowering][RISCV] Propagate fastmath flags for the vector operations emitted in expandVecReduce. (#85164)
We used the fastmath flags for any scalar ops created, but not vector.
Commit: 8481fb1698a4a54b3965a1654046df736a57e144
https://github.com/llvm/llvm-project/commit/8481fb1698a4a54b3965a1654046df736a57e144
Author: Zahi Moudallal <zahi at openai.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Fix BallotOp LLVM translation and add doc (#85116)
This modifies the return type of the intrinsic call to handle 32 and 64
bits
properly and document the MLIR operation.
Commit: 92a09c0165b87032e1bd05020a78ed845cf35661
https://github.com/llvm/llvm-project/commit/92a09c0165b87032e1bd05020a78ed845cf35661
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/Sema/nullability.c
M clang/test/SemaCXX/nullability.cpp
Log Message:
-----------
[clang][nullability] allow _Nonnull etc on nullable class types (#82705)
This enables clang and external nullability checkers to make use of
these annotations on nullable C++ class types like unique_ptr.
These types are recognized by the presence of the _Nullable attribute.
Nullable standard library types implicitly receive this attribute.
Existing static warnings for raw pointers are extended to smart
pointers:
- nullptr used as return value or argument for non-null functions
(`-Wnonnull`)
- assigning or initializing nonnull variables with nullable values
(`-Wnullable-to-nonnull-conversion`)
It doesn't implicitly add these attributes based on the assume_nonnull
pragma, nor warn on missing attributes where the pragma would apply
them.
I'm not confident that the pragma's current behavior will work well for
C++ (where type-based metaprogramming is much more common than C/ObjC).
We'd like to revisit this once we have more implementation experience.
Support can be detected as `__has_feature(nullability_on_classes)`.
This is needed for back-compatibility, as previously clang would issue a
hard error when _Nullable appears on a smart pointer.
UBSan's `-fsanitize=nullability` will not check smart-pointer types.
It can be made to do so by synthesizing calls to `operator bool`, but
that's left for future work.
Discussion:
https://discourse.llvm.org/t/rfc-allowing-nonnull-etc-on-smart-pointers/77201/26
Commit: 6588ac3017df0095b160510f56dcb3e4c32a09f0
https://github.com/llvm/llvm-project/commit/6588ac3017df0095b160510f56dcb3e4c32a09f0
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/bitcast-and-setcc-256.ll
Log Message:
-----------
[MachineCombiner] Don't ignore PHI depths (#82025)
The depths of the Root and the NewRoot are to be compared in
MachineCombiner::improvesCriticalPathLen(), and while the call to
BlockTrace.getInstrCycles(*Root) includes the Depth of a PHI, for some
reason PHI nodes have been ignored in getOperandDef().
This patch removes the special handling of PHIs in getOperandDef() so that
Root and NewRoot get a fair comparison. This does not affect loop headers
as MachineTraceMetrics handles that case by ignoring incoming PHI edges.
Commit: 0b0798b7024843db462ac2fa903c94308d6654eb
https://github.com/llvm/llvm-project/commit/0b0798b7024843db462ac2fa903c94308d6654eb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[NFC] Subscribe myself to changes to {lib,test}/AST/Interp/
Commit: 797994da3c3b0ff40201ac0045740370d2c39cbb
https://github.com/llvm/llvm-project/commit/797994da3c3b0ff40201ac0045740370d2c39cbb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.c
Log Message:
-----------
[clang][Interp] Strip _Atomic from _Complex types
... when doing binary operations on them.
Commit: 52557bce73f64df5da13d42dd97b57fbd4ab1b12
https://github.com/llvm/llvm-project/commit/52557bce73f64df5da13d42dd97b57fbd4ab1b12
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
A lldb/test/API/macosx/tbi-honored/Makefile
A lldb/test/API/macosx/tbi-honored/TestTBIHonored.py
A lldb/test/API/macosx/tbi-honored/main.c
Log Message:
-----------
[lldb] [Mach-O] ProcessMachCore needs to strip TBI data from addrs (#84998)
Darwin AArch64 application processors are run with Top Byte Ignore mode
enabled so metadata may be stored in the top byte, it needs to be
ignored when reading/writing memory. David Spickett handled this already
in the base class Process::ReadMemory but ProcessMachCore overrides that
method (to avoid the memory cache) and did not pick up the same change.
I add a test case that creates a pointer with metadata in the top byte
and dereferences it with a live process and with a corefile.
rdar://123784501
Commit: 6479218932117ab36cba578bb458ee7c0fb4bf0a
https://github.com/llvm/llvm-project/commit/6479218932117ab36cba578bb458ee7c0fb4bf0a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Clauses.h
Log Message:
-----------
Fix -Werror build
In file included from ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:9:
../llvm-project/flang/lib/Lower/OpenMP/Clauses.h:195:17: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
195 | return Clause{id, specific, source};
| ^~~~~~~~~~~~
| { }
Commit: 58a20a0b96a29686d78d3431c85ee378bf51e98d
https://github.com/llvm/llvm-project/commit/58a20a0b96a29686d78d3431c85ee378bf51e98d
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll
M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
Log Message:
-----------
[MTE] fix bug that prevented stack coloring with MTE (#84422)
Commit: d7f71a330d42ae8ac9048a03bb4816d07038dca6
https://github.com/llvm/llvm-project/commit/d7f71a330d42ae8ac9048a03bb4816d07038dca6
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/test/mlir-opt/split-markers.mlir
Log Message:
-----------
[mlir] Fix RUN command introduced in 516ccce7fa (#84765) (NFC)
There were two problems:
* The `%s` argument to `FileCheck` was repeated.
* A single dash for `-check-prefix` was used but we need two dashes.
Commit: 22eb8000d22efe1bf06518e84af84d34ff6375de
https://github.com/llvm/llvm-project/commit/22eb8000d22efe1bf06518e84af84d34ff6375de
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
[flang][NFC] Expose patterns from PreCGRewrite pass (#85156)
Expose patterns so they can be reused in other passes.
Commit: 0adccd1a7fd8e30650f76bd33471de28b7939455
https://github.com/llvm/llvm-project/commit/0adccd1a7fd8e30650f76bd33471de28b7939455
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/TargetProperties.td
Log Message:
-----------
[lldb] Allow languages to filter breakpoints set by line (#83908)
Some languages may create artificial functions that have no real user
code, even though there is line table information for them. One such
case is with coroutine code that receives the CoroSplitter
transformation in LLVM IR. That code transformation creates many
different Functions, cloning one Instruction into many Instructions in
many different Functions and copying the associated debug locations.
It would be difficult to make that pass delete debug locations of cloned
instructions in a language agnostic way (is it even possible?), but LLDB
can ignore certain locations by querying its Language APIs and having it
decide based on, for example, mangling information.
Commit: 0f252e7bd838d201bad89cda5b0e40a1fdeb96ca
https://github.com/llvm/llvm-project/commit/0f252e7bd838d201bad89cda5b0e40a1fdeb96ca
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Allow multiple LC_BUILD_VERSION commands.
No testcase: I'm still thinking about the best way to test this.
Commit: 400518526849b8e03400449502a2da67db40157c
https://github.com/llvm/llvm-project/commit/400518526849b8e03400449502a2da67db40157c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][CI] Updates the version number of the latest release.
Commit: 5a77bdc3e7d60c1724054d09a7dc7c67fb58ea9a
https://github.com/llvm/llvm-project/commit/5a77bdc3e7d60c1724054d09a7dc7c67fb58ea9a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Clauses.cpp
Log Message:
-----------
Fix NDEBUG build: guard call to `dump` with #if/#endif
Commit: 8fe3e70e810b409dce36f6d415e86f0f9b1cf22d
https://github.com/llvm/llvm-project/commit/8fe3e70e810b409dce36f6d415e86f0f9b1cf22d
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/linkerscript/discard-section.s
Log Message:
-----------
[ELF] Eliminate symbols demoted due to /DISCARD/ discarded sections (#85167)
#69295 demoted Defined symbols relative to discarded sections.
If such a symbol is unreferenced, the desired behavior is to
eliminate it from .symtab just like --gc-sections discarded
definitions.
Linux kernel's CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y configuration expects
that the unreferenced `unused` is not emitted to .symtab
(https://github.com/ClangBuiltLinux/linux/issues/2006).
For relocations referencing demoted symbols, the symbol index restores
to 0 like older lld (`R_X86_64_64 0` in `discard-section.s`).
Fix #85048
Commit: 63d53ee3b07e3b13e176eb60d8c02dea365c5ddb
https://github.com/llvm/llvm-project/commit/63d53ee3b07e3b13e176eb60d8c02dea365c5ddb
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/clang-g-opts.c
Log Message:
-----------
Revert "[Driver] Default riscv*- triples to -fdebug-default-version=4" (#84119)
This reverts commit bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
(https://reviews.llvm.org/D157663).
With this change, `-g` for the next major release 19.1 will generate
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 relocations, which require
lld>=18 or binutils>=2.41.
binutils 2.41 is relatively new, but GCC has been producing
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 for some time now.
Commit: 5afb937d8a30445642ccaf33866ee4cdd0713222
https://github.com/llvm/llvm-project/commit/5afb937d8a30445642ccaf33866ee4cdd0713222
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libcxx/include/fstream
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
Log Message:
-----------
[libc++] Implements filebuf unbuffered. (#76629)
When calling setbuf(nullptr, 0) before performing file operations it
should set the file to unbuffered mode. Currently the code avoids
buffering internally, but the underlying stream still can buffer.
This is addressed by disabling the buffering of the underlying stream.
Fixes: https://github.com/llvm/llvm-project/issues/60509
Commit: f2d02ce04fe679c7cc806722a3c4a303f970f95f
https://github.com/llvm/llvm-project/commit/f2d02ce04fe679c7cc806722a3c4a303f970f95f
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
M llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
Log Message:
-----------
[Coroutines] Remove some stale FIXMEs (NFC)
The calls are already musttail.
Commit: 76400d2979c92cc0393628dea50e26374d559775
https://github.com/llvm/llvm-project/commit/76400d2979c92cc0393628dea50e26374d559775
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
Log Message:
-----------
[WebAssembly] Move getLibcallSignature into WebAssembly namespace (NFC) (#85171)
These are Wasm only functions so they are better be within `WebAssembly`
namespace rather than the `llvm` namespace which includes the whole
LLVM.
Also this removes `extern` keywords which are not strictly necessary.
Commit: 611c62b30d160375b46b7afedc04965ee6f67d1a
https://github.com/llvm/llvm-project/commit/611c62b30d160375b46b7afedc04965ee6f67d1a
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[libomptarget] Support BE ELF files in plugins-nextgen (#85246)
Code in plugins-nextgen reading ELF files is currently hard-coded to
assume a 64-bit little-endian ELF format. Unfortunately, this assumption
is even embedded in the interface between GlobalHandler and Utils/ELF
routines, which use ELF64LE types.
To fix this, I've refactored the interface to use generic types, in
particular by using (a unique_ptr to) ObjectFile instead of
ELF64LEObjectFile, and ELFSymbolRef instead of ELF64LE::Sym.
This allows properly templating over multiple ELF format variants inside
Utils/ELF; specifically, this patch adds support for 64-bit big-endian
ELF files in addition to 64-bit little-endian files.
Commit: f795d1a8b1d1e51d2bc815d5bbed8099b37da0b7
https://github.com/llvm/llvm-project/commit/f795d1a8b1d1e51d2bc815d5bbed8099b37da0b7
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
Log Message:
-----------
[AArch64][LV][SLP] Vectorizers use call cost for vectorized frem (#82488)
getArithmeticInstrCost is used by both LoopVectorizer and SLPVectorizer
to compute the cost of frem, which becomes a call cost on AArch64 when
TLI has a vector library function.
Add tests that do SLP vectorization for code that contains 2x double and
4x float frem instructions.
Commit: 5cf8cf3ac80e1edce72bc4120b75a31ca609a82c
https://github.com/llvm/llvm-project/commit/5cf8cf3ac80e1edce72bc4120b75a31ca609a82c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Fix directive in ActOnOpenMPTargetParallelForSimdDire… (#85217)
…ctive
The function `ActOnOpenMPTargetParallelForSimdDirective` gets the number
of capture levels for OMPD_target_parallel_for, whereas the intended
directive is OMPD_target_parallel_for_simd.
Commit: d92d2e2b66ab14ad8f41c7af617a18166b2d54ae
https://github.com/llvm/llvm-project/commit/d92d2e2b66ab14ad8f41c7af617a18166b2d54ae
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[AMDGPU] Remove trailing whitespaces in SIRegisterInfo.cpp. NFC. (#85269)
Commit: 15788e8dd38ffaa4336eda4c03079b6ea4d7df6d
https://github.com/llvm/llvm-project/commit/15788e8dd38ffaa4336eda4c03079b6ea4d7df6d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/__fortran_builtins.f90
A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
Log Message:
-----------
[flang] Lower c_ptr_eq/ne for iso_c_binding (#85135)
Comparing c_ptr type for equality or inequality is raising an error.
```
not yet implemented: intrinsic module procedure: c_ptr_eq
```
or this one for inequality
```
not yet implemented: intrinsic module procedure: c_ptr_ne
```
This patch adds a lowering for them and fix the `__fortran_builtins.f90`
module for inequality.
Commit: 4e232cab0debff5dbb1906ae6b73c3d9b6cea7cd
https://github.com/llvm/llvm-project/commit/4e232cab0debff5dbb1906ae6b73c3d9b6cea7cd
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Implement average functions without sign/zero-extension. NFC. (#85212)
Removing the extension to FullWidth should make them much more efficient
in the 64-bit case, because 65-bit APInts use a separate allocation for
their bits.
Commit: 4c8714efc50eaefc59a0003f6aa44f666feb0140
https://github.com/llvm/llvm-project/commit/4c8714efc50eaefc59a0003f6aa44f666feb0140
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
Revert "[libomptarget] Support BE ELF files in plugins-nextgen (#85246)"
This reverts commit 611c62b30d160375b46b7afedc04965ee6f67d1a.
Commit: 2c80a9accb18f3eeb1e0c1bd09a980fb2f2dc2d5
https://github.com/llvm/llvm-project/commit/2c80a9accb18f3eeb1e0c1bd09a980fb2f2dc2d5
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Pluralize member name.
This member switched from an optional to a vector in 0f252e7bd83.
Commit: 59ab86bb2f135c42ab100416f1a7ada7c12c1d50
https://github.com/llvm/llvm-project/commit/59ab86bb2f135c42ab100416f1a7ada7c12c1d50
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Clear operands when creating new instructions. NFCI (#85191)
Reset operand list whenever we create a new instruction via a parameter
passed by reference. Most functions were already doing this, but there
are several places missing the reset. Potentially, if we don not clear
the list it could lead to invalid instruction operands. But the existing
code is unaffected.
Commit: 4b5b7eca0e5e4e10acb42a70cb0af8300a3b2dfc
https://github.com/llvm/llvm-project/commit/4b5b7eca0e5e4e10acb42a70cb0af8300a3b2dfc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio2022.py
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/list-debuggers/list-debuggers.test
Log Message:
-----------
[Dexter] Add VisualStudio2022 support to Dexter (#85248)
Dexter currently supports Visual Studio 2015/2017/2019, but not 2022;
this patch adds support for 2022.
Commit: 4f873730d6ac1a8496cdef939cc451f178a864ee
https://github.com/llvm/llvm-project/commit/4f873730d6ac1a8496cdef939cc451f178a864ee
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/extract-vector-elt.ll
Log Message:
-----------
precommit test
Commit: b058b7e6280a732f6fcbc582f8b6511a36fb96e8
https://github.com/llvm/llvm-project/commit/b058b7e6280a732f6fcbc582f8b6511a36fb96e8
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/test/InstallAPI/basic.test
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] capture compatibility versions (#85261)
Commit: 8e3c0a299f7eb8019f70420bb9d5362731ba13fe
https://github.com/llvm/llvm-project/commit/8e3c0a299f7eb8019f70420bb9d5362731ba13fe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/__fortran_builtins.f90
R flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
Log Message:
-----------
Revert "[flang] Lower c_ptr_eq/ne for iso_c_binding" (#85293)
Reverts llvm/llvm-project#85135
There is an issue with module file generation in flang build.
Commit: 95c1313f253cd343ee0b20cb7af7c71d904d96be
https://github.com/llvm/llvm-project/commit/95c1313f253cd343ee0b20cb7af7c71d904d96be
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libcxx/include/__functional/hash.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__type_traits/conjunction.h
M libcxx/include/array
M libcxx/include/coroutine
M libcxx/include/experimental/memory
M libcxx/include/optional
M libcxx/include/variant
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Remove a few includes from <__functional/hash.h> (#83254)
This also moves `__all` from `sfinae_helpers.h` to `conjunction.h`.
Commit: 8c4546f350fbce938d8fbc85d9e353d011f3f673
https://github.com/llvm/llvm-project/commit/8c4546f350fbce938d8fbc85d9e353d011f3f673
Author: dyung <douglas.yung at sony.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
Revert "[compiler-rt] Also consider SIGPROF as a synchronous signal (#85188)" (#85296)
This reverts commit 6f3f659ce9ab91002b4a490b0ce4b085981383cd.
This change is causing TSAN failures on a bot as reported in #85188:
https://lab.llvm.org/buildbot/#/builders/247/builds/15279
Commit: ffa2810f7baffaa747b1782ca44207c12d0dd222
https://github.com/llvm/llvm-project/commit/ffa2810f7baffaa747b1782ca44207c12d0dd222
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
Log Message:
-----------
[RISCV] Optimize lowering of VECREDUCE_FMINIMUM/VECREDUCE_FMAXIMUM. (#85165)
Use a normal min/max reduction that doesn't propagate nans and force
the result to nan at the end if any elements were nan.
Commit: 25959310a50240c320283d1e4b23046fed152313
https://github.com/llvm/llvm-project/commit/25959310a50240c320283d1e4b23046fed152313
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
Log Message:
-----------
[IndVars] Support shl by constant and or disjoint in getExtendedOperandRecurrence. (#84282)
We can treat a shift by constant as a multiply by a power of 2
and we can treat an or disjoint as a 'add nsw nuw'.
I've added a helper struct similar to a struct used in
ScalarEvolution.cpp
to represent the opcode, operands, and NSW/NUW flags for normal
add/sub/mul
and shl/or that are being treated as mul/add.
I don't think we need to teach cloneIVUser about this. It will continue
to clone them using cloneBitwiseIVUser. After the cloning we will ask
for the SCEV expression for the cloned IV user and verify that it
matches
the AddRec returned by getExtendedOperandRecurrence. Since SCEV also
knows how to convert shl to mul and or disjoint to add nsw nuw, this
should
usually match. If it doesn't match, the cloned IV user will be deleted.
Commit: b6193a2dc2c7e1fb278161873e8f01f728412f4b
https://github.com/llvm/llvm-project/commit/b6193a2dc2c7e1fb278161873e8f01f728412f4b
Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
libclc: clspv: update gen_convert.cl for clspv (#66902)
Add a clspv switch in gen_convert.cl
This is needed as Vulkan SPIR-V does not respect the assumptions
needed to have the generic convert.cl compliant on many platforms.
It is needed because of the conversion of TYPE_MAX and
TYPE_MIN. Depending on the platform the behaviour can vary, but most
of them just do not convert correctly those 2 values.
Because of that, we also need to avoid having explicit function for
simple conversions because it allows llvm to optimise the code, thus
removing some of the added checks that are in fact needed.
Commit: c08d70a5cbc61efc5c8636c8788f39270f59dec5
https://github.com/llvm/llvm-project/commit/c08d70a5cbc61efc5c8636c8788f39270f59dec5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/runtime/pointer.cpp
Log Message:
-----------
[flang][runtime] Temporary fix for unresolved reference in CUDA F18 runtime. (#85294)
Avoid referencing executionEnvironment in the device code, since
environment.cpp is not part of the CUDA build yet.
This is a temporary fix before #85182 is merged.
Commit: 33960c90258ed78b9b877b1a43e219d1cbc2efce
https://github.com/llvm/llvm-project/commit/33960c90258ed78b9b877b1a43e219d1cbc2efce
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
Log Message:
-----------
Regen some tests to reflect naming changes
Cutting down on diff in an upcoming change.
Commit: 4b0276d1c9cb558f3c20736dce802ceb26c0b958
https://github.com/llvm/llvm-project/commit/4b0276d1c9cb558f3c20736dce802ceb26c0b958
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
R llvm/test/LTO/AArch64/link-sign-return-address.ll
M llvm/test/Linker/link-arm-and-thumb.ll
Log Message:
-----------
Revert "[llvm][AArch64] Autoupgrade function attributes from Module attributes." (#85291)
Reverts llvm/llvm-project#82763 because caused a regressions with
inlining.
See
https://github.com/llvm/llvm-project/pull/84494#issuecomment-1996047458
Commit: ea429e19f56005bf89e717c14efdf49ec055b183
https://github.com/llvm/llvm-project/commit/ea429e19f56005bf89e717c14efdf49ec055b183
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
[SLP]Do extra analysis int minbitwidth if some checks return false.
The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84363
Commit: bba790db477b5b076e587b6c679ac68eb8316ac3
https://github.com/llvm/llvm-project/commit/bba790db477b5b076e587b6c679ac68eb8316ac3
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Refactor instruction creation interface. NFCI (#85292)
Refactor MCPlusBuilder's create{Instruction}() functions that used to
return bool. We almost never check the return value as we rely on
llvm_unreachable() to detect unimplemented functionality. There were a
couple of cases that checked the return value, but they would hit the
unreachable condition first (at least in debug builds) before the return
value gets checked.
Commit: c56bd7ab7934355ed19d4d3ec299b5784bf02379
https://github.com/llvm/llvm-project/commit/c56bd7ab7934355ed19d4d3ec299b5784bf02379
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
A mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir
Log Message:
-----------
[mlir][linalg] Enable masked vectorisation for depthwise convolutions (#81625)
This patch adds support for masked vectorisation of depthwise 1D WC
convolutions,`linalg.depthwise_conv_1d_nwc_wc`. This is implemented by
adding support for masking.
Two major assumptions are made:
* only the channel dimension can be dynamic/scalable (i.e. the
trailing dim),
* when specifying vector sizes to use in the vectoriser, only the size
corresponding to the channel dim is effectively used (other dims are
inferred from the context).
In terms of scalable vectorisation, this should be sufficient to cover
all practical cases (i.e. making arbitrary dim scalable wouldn't make
much sense). As for more generic cases with dynamic shapes (e.g. W or N
dims being dynamic), more work would be needed. In particular, one would
have to consider the filter and input/output tensors separately.
Commit: 00ba2a6f1e7bbb6fa6f3d50ad87a4a528af87ef5
https://github.com/llvm/llvm-project/commit/00ba2a6f1e7bbb6fa6f3d50ad87a4a528af87ef5
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
Log Message:
-----------
[AIX][TOC] Fix buildbot failures from commit b4ae8df (#85303)
The following tests fail when built with Address
and Undefined sanitizers:
CodeGen/PowerPC/basic-toc-data-def.ll
CodeGen/PowerPC/toc-data-large-array2.ll
Subtarget may be null in emitGlobalVariable, for example in the testcase
where we have no functions in the IR. The fix moves this function from
PPCSubtarget to a static helper function. This only fails with
sanitizers because the Subtarget is not used in the member function.
Commit: 8f0012d3dc2ae6d40e9f812cae111ca7a6eb2a2d
https://github.com/llvm/llvm-project/commit/8f0012d3dc2ae6d40e9f812cae111ca7a6eb2a2d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/CodeGen/NVPTX/common-linkage.ll
M llvm/test/CodeGen/NVPTX/weak-global.ll
Log Message:
-----------
[NVPTX] Use .common linkage for common globals (#84416)
Switch from `.weak` to `.common` linkage for common global variables
where possible. The `.common` linkage is described in [PTX ISA 11.6.4.
Linking Directives:
.common](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#linking-directives-common)
> Declares identifier to be globally visible but “common”.
>
>Common symbols are similar to globally visible symbols. However
multiple object files may declare the same common symbol and they may
have different types and sizes and references to a symbol get resolved
against a common symbol with the largest size.
>
>Only one object file can initialize a common symbol and that must have
the largest size among all other definitions of that common symbol from
different object files.
>
>.common linking directive can be used only on variables with .global
storage. It cannot be used on function symbols or on symbols with opaque
type.
Commit: aa6100643c2c8f9a1b06ba557b68b0fba477e3c7
https://github.com/llvm/llvm-project/commit/aa6100643c2c8f9a1b06ba557b68b0fba477e3c7
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
A llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64.dylib
A llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64_32.dylib
A llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[llvm-objdump][macho] Add support for ObjC relative method lists (#84250)
For Mach-O, ld64 supports the `-fobjc-relative-method-lists` flag which
changes the format in which method lists are generated. The format uses
delta encoding vs the original direct-pointer encoding.
This change adds support to `llvm-objdump` and `llvm-otool` for
decoding/dumping of method lists in the delta format. Previously, if a
binary with this information format was passed to the tooling, it would
output invalid information, trying to parse the delta lists as pointer
lists.
After this change, the tooling will output correct information if a
binary in this format is encountered.
The output format is closest feasible match to XCode 15.1's otool
output. Tests are included for both 32bit and 64bit binaries.
The code style was matched as close as possible to existing
implementation of parsing non-delta method lists.
Diff between llvm-objdump and XCode 15.1 otool:
![objdump_vs_otool](https://github.com/llvm/llvm-project/assets/103613512/4fc04228-ed35-473d-b633-364402411b91)
---------
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: 8f9ee39c58064d3a3291a89509501ebe55d2e788
https://github.com/llvm/llvm-project/commit/8f9ee39c58064d3a3291a89509501ebe55d2e788
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/rsqrt.ll
A llvm/test/CodeGen/DirectX/rsqrt_error.ll
Log Message:
-----------
[HLSL] Implement `rsqrt` intrinsic (#84820)
This change implements #70074
- `hlsl_intrinsics.h` - add the `rsqrt` api
- `DXIL.td` add the llvm intrinsic to DXIL op lowering map.
- `Builtins.td` - add an hlsl builtin for rsqrt.
- `CGBuiltin.cpp` add the ir generation for the rsqrt intrinsic.
- `SemaChecking.cpp` - reuse the one arg float only checks.
- `IntrinsicsDirectX.td` -add an `rsqrt` intrinsic.
Commit: caba6d13c8c883757508d34d98c0a1af4adde48a
https://github.com/llvm/llvm-project/commit/caba6d13c8c883757508d34d98c0a1af4adde48a
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/generic/math_utils.h
M libc/test/src/math/ILogbTest.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[libc] Remove direct math.h includes from src (#84991)
A downstream overlay mode user ran into issues with the isnan macro not
working in our sources with a specific libc configuration. This patch
replaces the last direct includes of math.h with our internal
math_macros.h, along with the necessary build system changes.
Commit: 0646bbc42c59f9dd67db3c073389fdd9e395be3c
https://github.com/llvm/llvm-project/commit/0646bbc42c59f9dd67db3c073389fdd9e395be3c
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/generic/math_utils.h
M libc/test/src/math/ILogbTest.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
Revert "[libc] Remove direct math.h includes from src" (#85314)
Reverts llvm/llvm-project#84991
Caused build failures
Commit: 229640343e400394b315c6798c7c19e8a9bd188c
https://github.com/llvm/llvm-project/commit/229640343e400394b315c6798c7c19e8a9bd188c
Author: ManuelJBrito <59119670+ManuelJBrito at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/test/Transforms/NewGVN/2007-07-25-DominatedLoop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-InfiniteLoop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-Loop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-NestedLoop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-SinglePredecessor.ll
M llvm/test/Transforms/NewGVN/2007-07-26-NonRedundant.ll
M llvm/test/Transforms/NewGVN/2007-07-26-PhiErasure.ll
M llvm/test/Transforms/NewGVN/2007-07-30-PredIDom.ll
M llvm/test/Transforms/NewGVN/2007-07-31-RedundantPhi.ll
M llvm/test/Transforms/NewGVN/2008-02-13-NewPHI.ll
M llvm/test/Transforms/NewGVN/2008-07-02-Unreachable.ll
M llvm/test/Transforms/NewGVN/2008-12-09-SelfRemove.ll
M llvm/test/Transforms/NewGVN/2008-12-12-RLE-Crash.ll
M llvm/test/Transforms/NewGVN/2008-12-14-rle-reanalyze.ll
M llvm/test/Transforms/NewGVN/2008-12-15-CacheVisited.ll
M llvm/test/Transforms/NewGVN/2009-01-21-SortInvalidation.ll
M llvm/test/Transforms/NewGVN/2009-01-22-SortInvalidation.ll
M llvm/test/Transforms/NewGVN/2009-03-10-PREOnVoid.ll
M llvm/test/Transforms/NewGVN/2009-07-13-MemDepSortFail.ll
M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
M llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
M llvm/test/Transforms/NewGVN/2010-11-13-Simplify.ll
M llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
M llvm/test/Transforms/NewGVN/2011-07-07-MatchIntrinsicExtract.ll
M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
M llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
M llvm/test/Transforms/NewGVN/2016-08-30-MaskedScatterGather-xfail-inseltpoison.ll
M llvm/test/Transforms/NewGVN/MemdepMiscompile.ll
M llvm/test/Transforms/NewGVN/addrspacecast.ll
M llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
M llvm/test/Transforms/NewGVN/basic-undef-test.ll
M llvm/test/Transforms/NewGVN/br-identical.ll
M llvm/test/Transforms/NewGVN/calloc-load-removal.ll
M llvm/test/Transforms/NewGVN/calls-readonly.ll
M llvm/test/Transforms/NewGVN/completeness.ll
M llvm/test/Transforms/NewGVN/cond_br.ll
M llvm/test/Transforms/NewGVN/condprop.ll
M llvm/test/Transforms/NewGVN/crash-no-aa.ll
M llvm/test/Transforms/NewGVN/crash-usecounts.ll
M llvm/test/Transforms/NewGVN/crash.ll
M llvm/test/Transforms/NewGVN/cyclic-phi-handling.ll
M llvm/test/Transforms/NewGVN/dbg-redundant-load.ll
M llvm/test/Transforms/NewGVN/edge.ll
M llvm/test/Transforms/NewGVN/eliminate-callsite-inline.ll
M llvm/test/Transforms/NewGVN/equivalent-phi.ll
M llvm/test/Transforms/NewGVN/fold-const-expr.ll
M llvm/test/Transforms/NewGVN/fpmath.ll
M llvm/test/Transforms/NewGVN/funclet.ll
M llvm/test/Transforms/NewGVN/int_sideeffect.ll
M llvm/test/Transforms/NewGVN/invariant.group.ll
M llvm/test/Transforms/NewGVN/invariant.start.ll
M llvm/test/Transforms/NewGVN/lifetime-simple.ll
M llvm/test/Transforms/NewGVN/load-constant-mem.ll
M llvm/test/Transforms/NewGVN/load-from-unreachable-predecessor.ll
M llvm/test/Transforms/NewGVN/loadforward.ll
M llvm/test/Transforms/NewGVN/malloc-load-removal.ll
M llvm/test/Transforms/NewGVN/memory-handling.ll
M llvm/test/Transforms/NewGVN/metadata-nonnull.ll
M llvm/test/Transforms/NewGVN/metadata-simplify.ll
M llvm/test/Transforms/NewGVN/noalias.ll
M llvm/test/Transforms/NewGVN/nomemlocation.ll
M llvm/test/Transforms/NewGVN/non-integral-pointers.ll
M llvm/test/Transforms/NewGVN/null-aliases-nothing.ll
M llvm/test/Transforms/NewGVN/phi-edge-handling.ll
M llvm/test/Transforms/NewGVN/phi-of-ops-simplified-to-existing-value-then-changes-again.ll
M llvm/test/Transforms/NewGVN/phi-translate-partial-alias.ll
M llvm/test/Transforms/NewGVN/pr17732.ll
M llvm/test/Transforms/NewGVN/pr17852.ll
M llvm/test/Transforms/NewGVN/pr24397.ll
M llvm/test/Transforms/NewGVN/pr24426.ll
M llvm/test/Transforms/NewGVN/pr25440.ll
M llvm/test/Transforms/NewGVN/pr28562.ll
M llvm/test/Transforms/NewGVN/pr31472.ll
M llvm/test/Transforms/NewGVN/pr31483.ll
M llvm/test/Transforms/NewGVN/pr31491.ll
M llvm/test/Transforms/NewGVN/pr31501.ll
M llvm/test/Transforms/NewGVN/pr31573.ll
M llvm/test/Transforms/NewGVN/pr31594.ll
M llvm/test/Transforms/NewGVN/pr31613.ll
M llvm/test/Transforms/NewGVN/pr31682.ll
M llvm/test/Transforms/NewGVN/pr31758.ll
M llvm/test/Transforms/NewGVN/pr32607.ll
M llvm/test/Transforms/NewGVN/pr32836.ll
M llvm/test/Transforms/NewGVN/pr32838.ll
M llvm/test/Transforms/NewGVN/pr32845.ll
M llvm/test/Transforms/NewGVN/pr32852.ll
M llvm/test/Transforms/NewGVN/pr32897.ll
M llvm/test/Transforms/NewGVN/pr32934.ll
M llvm/test/Transforms/NewGVN/pr32945.ll
M llvm/test/Transforms/NewGVN/pr32952.ll
M llvm/test/Transforms/NewGVN/pr33014.ll
M llvm/test/Transforms/NewGVN/pr33086.ll
M llvm/test/Transforms/NewGVN/pr33116.ll
M llvm/test/Transforms/NewGVN/pr33187.ll
M llvm/test/Transforms/NewGVN/pr33196.ll
M llvm/test/Transforms/NewGVN/pr33204.ll
M llvm/test/Transforms/NewGVN/pr33305.ll
M llvm/test/Transforms/NewGVN/pr33367.ll
M llvm/test/Transforms/NewGVN/pr34452.ll
M llvm/test/Transforms/NewGVN/pr42422-phi-of-ops.ll
M llvm/test/Transforms/NewGVN/pr43441.ll
M llvm/test/Transforms/NewGVN/pre-compare.ll
M llvm/test/Transforms/NewGVN/preserve-metadata-for-predicate-replacements.ll
M llvm/test/Transforms/NewGVN/readattrs.ll
M llvm/test/Transforms/NewGVN/rle-nonlocal.ll
M llvm/test/Transforms/NewGVN/rle.ll
M llvm/test/Transforms/NewGVN/simp-to-self.ll
M llvm/test/Transforms/NewGVN/stale-loop-info.ll
M llvm/test/Transforms/NewGVN/tbaa.ll
M llvm/test/Transforms/NewGVN/unreachable_block_infinite_loop.ll
M llvm/test/Transforms/NewGVN/verify-memoryphi.ll
M llvm/test/Transforms/NewGVN/volatile-nonvolatile.ll
Log Message:
-----------
[NewGVN][NFC]Regenerate test checks (#85280)
Regenerate test checks for NewGVN.
Commit: d192b643701062064408dd7be0301f7a5d070c03
https://github.com/llvm/llvm-project/commit/d192b643701062064408dd7be0301f7a5d070c03
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGenHLSL/builtins/isinf.hlsl
A clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[HLSL] implement the `isinf` intrinsic (#84927)
This change implements part 1 of 2 for #70095
- `hlsl_intrinsics.h` - add the `isinf` api
- `Builtins.td` - add an hlsl builtin for `isinf`.
- `CGBuiltin.cpp` add the ir generation for `isinf` intrinsic.
- `SemaChecking.cpp` - add a non-math elementwise checks because this is
a bool return.
- `IntrinsicsDirectX.td` - add an `isinf` intrinsic.
`DXIL.td` lowering is left, but changes need to be made there before we
can support this case.
Commit: e40bc8e509cdad67926fcd208c320cb4d50f6aec
https://github.com/llvm/llvm-project/commit/e40bc8e509cdad67926fcd208c320cb4d50f6aec
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/MachOPlatformTest.cpp
Log Message:
-----------
[ORC][MachO] Make BuildVersionOpts::fromTriple result optional, add test.
Only platform specific darwin OS values (e.g. macosx, ios, watchos, ...) can be
mapped to an LC_BUILD_VERSION platform. For all other values return an empty
optional to indicate that the load command can't be constructed.
Also fixes the simulator conditions to return the correct platform, and adds a
testcase.
Commit: 41ccebdda0f6885d97657c6558e924580e3d1a11
https://github.com/llvm/llvm-project/commit/41ccebdda0f6885d97657c6558e924580e3d1a11
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port e40bc8e509cd
Commit: f9e557961e993d9b9b4e4782d345cbb2c87e9361
https://github.com/llvm/llvm-project/commit/f9e557961e993d9b9b4e4782d345cbb2c87e9361
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
Log Message:
-----------
[flang][OpenMP] Convert unique clauses in ClauseProcessor (#81622)
Temporarily rename old clause list to `clauses2`, old clause iterator to
`ClauseIterator2`.
Change `findUniqueClause` to iterate over `omp::Clause` objects, modify
all handlers to operate on 'omp::clause::xyz` equivalents.
[Clause representation 2/6]
Commit: 49b8a99a0f7abdb34a671dd99bb9aba593129bf9
https://github.com/llvm/llvm-project/commit/49b8a99a0f7abdb34a671dd99bb9aba593129bf9
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Add createCondBranch() and createLongUncondBranch() (#85315)
Add MCPlusBuilder interface for creating two new branch types.
Commit: dc55c4435d796f6ec316de0698df9b8649816068
https://github.com/llvm/llvm-project/commit/dc55c4435d796f6ec316de0698df9b8649816068
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
Log Message:
-----------
[flang] Clip circular dependence between implementation modules (#85309)
flang/module/__fortran_type_info.mod uses __fortran_builtins.mod, but it
is also implicitly used when compiling __fortran_builtins.f90 (or
anything else). If __fortran_type_info.mod finds an old
__fortran_builtins.mod file, compilation can fail while building the new
one.
Break the dependence by *not* generating runtime derived type
information for __fortran_builtins.f90.
Commit: 1510473908e09b0dba574e74b862243c6fddb35f
https://github.com/llvm/llvm-project/commit/1510473908e09b0dba574e74b862243c6fddb35f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/HardwareLoops.cpp
A llvm/test/DebugInfo/ARM/hardware-loop-phi-insertion.ll
Log Message:
-----------
[RemoveDIs] Insert PHIs before debug records in hardware loops (#85288)
Fixes: https://github.com/llvm/llvm-project/issues/85254
Hardware loops inserts PHIs at the position `getFirstNonPhi()`, which is
incorrect - instead, `getFirstNonPhiIt()` is required to not insert the
PHI after any debug records that immediately follow the last existing
PHI.
Commit: 3236d974992580d8a346b22720d9d290fbd5439f
https://github.com/llvm/llvm-project/commit/3236d974992580d8a346b22720d9d290fbd5439f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/binop-itofp.ll
Log Message:
-----------
[InstCombine] Add test for `(fmul (sitfp x), 0)`; NFC
Commit: 70d0ebb279e42902f06ab621777935b09e82cc49
https://github.com/llvm/llvm-project/commit/70d0ebb279e42902f06ab621777935b09e82cc49
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/binop-itofp.ll
Log Message:
-----------
[InstCombine] Fix behavior for `(fmul (sitfp x), 0)`
Bug was introduced in #82555
We where missing check that the constant was non-zero for signed + mul
transform.
Closes #85298
Commit: 5b303a98a8a88ee74aab8f4936af735f72182169
https://github.com/llvm/llvm-project/commit/5b303a98a8a88ee74aab8f4936af735f72182169
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."
This reverts commit ea429e19f56005bf89e717c14efdf49ec055b183 to fix
issues revealed in
https://lab.llvm.org/buildbot/#/builders/186/builds/15299 and https://lab.llvm.org/buildbot/#/builders/238/builds/8426.
Commit: c75009ef7c5044cd1d2a54ffc572d609da19cb5a
https://github.com/llvm/llvm-project/commit/c75009ef7c5044cd1d2a54ffc572d609da19cb5a
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/__fortran_builtins.f90
A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
Log Message:
-----------
[flang] Lower c_ptr_eq/ne for iso_c_binding (#85293)
Comparing c_ptr type for equality or inequality is raising an error.
```
not yet implemented: intrinsic module procedure: c_ptr_eq
```
or this one for inequality
```
not yet implemented: intrinsic module procedure: c_ptr_ne
```
This patch adds a lowering for them and fix the `__fortran_builtins.f90` module for inequality.
Reland after fix has landed for circular modules #85309
Commit: 9d994e900f2661673e6cec0cd7954d3f378a4f8a
https://github.com/llvm/llvm-project/commit/9d994e900f2661673e6cec0cd7954d3f378a4f8a
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
Log Message:
-----------
[mlir][sparse] remove deprecated toCOO from sparse runtime support lib (#85319)
Commit: 3ed8f19cd0fa1054dab08163e493f84a51fc9190
https://github.com/llvm/llvm-project/commit/3ed8f19cd0fa1054dab08163e493f84a51fc9190
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
Log Message:
-----------
[libc++][NFC] Mark LWG3772 as implemented (#85108)
[LWG3772](https://wg21.link/LWG3772) already implemented with
https://reviews.llvm.org/D141699 .
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: ea41ac1132def401ad5bb7c353be8f0e9f04698a
https://github.com/llvm/llvm-project/commit/ea41ac1132def401ad5bb7c353be8f0e9f04698a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix a warning for comparison of integers of different signs.
Commit: af2bf86a372cacf5f536bae06e2f2d3886eefb7b
https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_linux.cpp
Log Message:
-----------
[msan] Add 'MappingDesc::ALLOCATOR' type and check it is available (#85153)
MSan divides the virtual address space into APP, INVALID, SHADOW and
ORIGIN memory. The allocator usually just steals a bit of the APP
address space: typically the bottom portion of the PIE binaries section,
which works because the Linux kernel maps from the top of the PIE
binaries section. However, if ASLR is very aggressive, the binary may
end up mapped in the same location where the allocator wants to live;
this results in a segfault.
This patch adds in a MappingDesc::ALLOCATOR type and enforces that the
memory range for the allocator is not occupied by anything else.
Since the allocator range information is not readily available in
msan.h, we duplicate the information from msan_allocator.cpp.
Note: aggressive ASLR can also lead to a different type of failure,
where the PIE binaries/libraries are mapped entirely outside of the
APP/ALLOCATOR sections; that will be addressed in a separate patch
(https://github.com/llvm/llvm-project/pull/85142).
Commit: e4b772444c8176abe30d364e4a946ee6c8ae8de4
https://github.com/llvm/llvm-project/commit/e4b772444c8176abe30d364e4a946ee6c8ae8de4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
[SLP]Do extra analysis int minbitwidth if some checks return false.
The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84363
Commit: 4daf86ef3f9a6781eedbe5d5a161e4f1e75df323
https://github.com/llvm/llvm-project/commit/4daf86ef3f9a6781eedbe5d5a161e4f1e75df323
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
Log Message:
-----------
[mlir][sparse] refactoring sparse runtime lib into less paths (#85332)
Two constructors could be easily refactored into one after a lot of
previous deprecated code has been removed.
Commit: ad0de4e6e6146d72d376b8f4c84dfa72817fa80d
https://github.com/llvm/llvm-project/commit/ad0de4e6e6146d72d376b8f4c84dfa72817fa80d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
Log Message:
-----------
[SLP][NFC]Add extra test for udiv/urem instructions.
Commit: 58ef9bec071383744fb703ff08df9806f25e4095
https://github.com/llvm/llvm-project/commit/58ef9bec071383744fb703ff08df9806f25e4095
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
[mlir][math] Implement alternative decomposition for tanh (#85025)
The previous implementation decomposes `tanh(x)` into
`(exp(2x) - 1)/(exp(2x)+1), x < 0`
`(1 - exp(-2x))/(1 + exp(-2x)), x >= 0`
This is fine as it avoids overflow with the exponential, but the whole
decomposition is computed for both cases unconditionally, then the
result is chosen based off the sign of the input. This results in doing
two expensive `exp` computations.
The proposed change avoids doing the whole computation twice by
exploiting the reflection symmetry `tanh(-x) = -tanh(x)`. We can
"normalize" the input to be positive by setting `y = sign(x) * x`, where
the sign of `x` is computed as `sign(x) = (float)(x > 0) * (-2) + 1`.
Then compute `z = tanh(y)` with the decomposition above for `x >=0` and
"denormalize" the result `z * sign(x)` to retain the sign. The reason it
is done this way is that it is very amenable to vectorization.
This method trades the duplicate decomposition computations (which takes
5 instructions including an extra expensive `exp` and `div`) for 4 cheap
instructions to compute the signs value
1. `arith.cmpf` (which is a pre-existing instruction in the previous
impl)
2. `arith.sitofp`
3. `arith.mulf`
4. `arith.addf`
and 1 more instruction to get the right sign in the result
5. `arith.mulf`. Moreover, numerically, this implementation will yield
the exact same results as the previous implementation.
Commit: de1a97db3948608822a6d099cc3460690132e1cb
https://github.com/llvm/llvm-project/commit/de1a97db3948608822a6d099cc3460690132e1cb
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/CMakeLists.txt
A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/any.ll
A llvm/test/CodeGen/DirectX/exp-vec.ll
A llvm/test/CodeGen/DirectX/exp.ll
A llvm/test/CodeGen/DirectX/lerp.ll
A llvm/test/CodeGen/DirectX/rcp.ll
Log Message:
-----------
[DXIL] `exp`, `any`, `lerp`, & `rcp` Intrinsic Lowering (#84526)
This change implements lowering for #70076, #70100, #70072, & #70102
`CGBuiltin.cpp` - - simplify `lerp` intrinsic
`IntrinsicsDirectX.td` - simplify `lerp` intrinsic
`SemaChecking.cpp` - remove unnecessary check
`DXILIntrinsicExpansion.*` - add intrinsic to instruction expansion
cases
`DXILOpLowering.cpp` - make sure `DXILIntrinsicExpansion` happens first
`DirectX.h` - changes to support new pass
`DirectXTargetMachine.cpp` - changes to support new pass
Why `any`, and `lerp` as instruction expansion just for DXIL?
- SPIR-V there is an
[OpAny](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpAny)
- SPIR-V has a GLSL lerp extension via
[Fmix](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#FMix)
Why `exp` instruction expansion?
- We have an `exp2` opcode and `exp` reuses that opcode. So instruction
expansion is a convenient way to do preprocessing.
- Further SPIR-V has a GLSL exp extension via
[Exp](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#Exp)
and
[Exp2](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#Exp2)
Why `rcp` as instruction expansion?
This one is a bit of the odd man out and might have to move to
`cgbuiltins` when we better understand SPIRV requirements. However I
included it because it seems like [fast math mode has an AllowRecip
flag](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_fp_fast_math_mode)
which lets you compute the reciprocal without performing the division.
We don't have that in DXIL so thought to include it.
Commit: 6b2bab2839c7a379556a10287034bd55906d7094
https://github.com/llvm/llvm-project/commit/6b2bab2839c7a379556a10287034bd55906d7094
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Avoid module dependency failure when __fortran_buitlin is updated
Commit: 4292086ed0e0310208f02be1b0393555770c379c
https://github.com/llvm/llvm-project/commit/4292086ed0e0310208f02be1b0393555770c379c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[ProfileData] Use ArrayRef in ProfOStream::patch (NFC) (#85317)
We always apply all of the items in PatchItems. This patch simplifies
the interface of ProfOStream::patch by switching to ArrayRef.
Commit: bff8755f20f112eb93d33b427f2c18d1e92b9025
https://github.com/llvm/llvm-project/commit/bff8755f20f112eb93d33b427f2c18d1e92b9025
Author: josh11b <github-llvm at technomagi.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
A utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
Log Message:
-----------
[bazel] Add clangd as a library support (#81556)
Creates a `BUILD.bazel` file for the `clangd` directory in the project
overlay.
This upstreams the patch that allows
https://github.com/carbon-language/carbon-lang/tree/trunk/language_server
to use `clangd` as a library. This was created as part of a Summer of
Code project building a prototype Carbon language server. If this is not
an appropriate architecture, I'm very open to alternative paths forward.
Thanks!
Commit: 8c03f400a837dc9333e54ab371e7904aa2bec43c
https://github.com/llvm/llvm-project/commit/8c03f400a837dc9333e54ab371e7904aa2bec43c
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
A llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
A llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
A llvm/test/tools/llvm-profgen/coff-profile.test
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
Log Message:
-----------
[llvm-profgen] Support COFF binary (#83972)
Intel Vtune/SEP has supported collecting LBR on Windows and generating
perf-script file which is same format as Linux perf script. This patch
teaches llvm-profgen to disassemble COFF binary so that we can do
Sampling based PGO on Windows.
Commit: 2ad970667f5702aa5eb23fe93f536825c06ac237
https://github.com/llvm/llvm-project/commit/2ad970667f5702aa5eb23fe93f536825c06ac237
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing MachO dep for ORC test
Commit: b4d3c2cac2426070258cdb32d6932bf05e938c7d
https://github.com/llvm/llvm-project/commit/b4d3c2cac2426070258cdb32d6932bf05e938c7d
Author: Iman Hosseini <hosseini.iman at yahoo.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Update FIROps.td to add $grid_z to CudaKernelLaunch (#85318)
grid can be 3 dimensional. (@clementval)
Commit: e4f71959ec8dc175d9f1fe4b3466062ffaf51855
https://github.com/llvm/llvm-project/commit/e4f71959ec8dc175d9f1fe4b3466062ffaf51855
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel][NFC] Reformat w/ buildifier
Commit: 102273a9b4886a11c78b28a77156730817d290b1
https://github.com/llvm/llvm-project/commit/102273a9b4886a11c78b28a77156730817d290b1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
Log Message:
-----------
[mlir][Transform] Remove `notifyOperationErased` workaround (#84134)
D144193 (#66771) has been merged.
Commit: 143cf1a41bc1004b48b085975c3cecc51a540dc4
https://github.com/llvm/llvm-project/commit/143cf1a41bc1004b48b085975c3cecc51a540dc4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
Log Message:
-----------
[bazel] Generate a shim Features.inc
This is a quick fix to make the bzl build work w/ this change. The sources included in the cc_library don't actually need the values here. Before adding more files, this should be replaced with something that actually parses Features.inc.in and sets configurable values.
Commit: 0c07102927869f9cd23889e0666774f6298e824f
https://github.com/llvm/llvm-project/commit/0c07102927869f9cd23889e0666774f6298e824f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format][NFC] Eliminate the IsCpp parameter in all functions (#84599)
Commit: 65b123e287d1320170bb3317179bc917f21852fa
https://github.com/llvm/llvm-project/commit/65b123e287d1320170bb3317179bc917f21852fa
Author: eddyz87 <eddyz87 at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/lib/Basic/Targets/BPF.cpp
M clang/test/Preprocessor/bpf-predefined-macros.c
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
M llvm/test/CodeGen/BPF/addr-space-globals.ll
M llvm/test/CodeGen/BPF/addr-space-globals2.ll
Log Message:
-----------
[BPF] rename 'arena' to 'address_space' (#85161)
There are a few places where `arena` name is used for pointers in
non-zero address space in BPF backend, rename these to use a more
generic `address_space`:
- macro `__BPF_FEATURE_ARENA_CAST` -> `__BPF_FEATURE_ADDR_SPACE_CAST
- name for arena global variables section `.arena.N` ->
`.addr_space.N`
Commit: b0d1e32ca2b46870c0a4becf2547564f9c7ae0a0
https://github.com/llvm/llvm-project/commit/b0d1e32ca2b46870c0a4becf2547564f9c7ae0a0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Eliminate the IsCpp parameter in all functions" (#85353)
Reverts llvm/llvm-project#84599
This broke the presubmit bot.
Commit: c3a1eb6207d85cb37ea29306481b40c9f6402309
https://github.com/llvm/llvm-project/commit/c3a1eb6207d85cb37ea29306481b40c9f6402309
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Reland [clang-format][NFC] Eliminate the IsCpp parameter in all functions (#84599)
Initialize IsCpp in LeftRightQualifierAlignmentFixer ctor.
Commit: 6ed4d15cf49bca27157c6c8c896a7f674ef5df3a
https://github.com/llvm/llvm-project/commit/6ed4d15cf49bca27157c6c8c896a7f674ef5df3a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][sparse_tensor] Implement bufferization interface for `foreach` (#85183)
This commit fixes a memory leak in `sparse_codegen_foreach.mlir`. The
bufferization inserted a copy for the operand of `sparse_tensor.foreach`
because it conservatively assumed that the op writes to the operand.
Commit: 5124eedd357b75a96f695c20ebad427b61741abc
https://github.com/llvm/llvm-project/commit/5124eedd357b75a96f695c20ebad427b61741abc
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
Log Message:
-----------
[mlir][sparse] Fix memory leaks (part 3) (#85184)
This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.
Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).
Commit: e8e8df4c1bf97f0674b2387175cdeb251a4e0d9c
https://github.com/llvm/llvm-project/commit/e8e8df4c1bf97f0674b2387175cdeb251a4e0d9c
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
Log Message:
-----------
[mlir][sparse] Add `has_runtime_library` test op (#85355)
This commit adds a new test-only op:
`sparse_tensor.has_runtime_library`. The op returns "1" if the sparse
compiler runs in runtime library mode.
This op is useful for writing test cases that require different IR
depending on whether the sparse compiler runs in runtime library or
codegen mode.
This commit fixes a memory leak in `sparse_pack_d.mlir`. This test case
uses `sparse_tensor.assemble` to create a sparse tensor SSA value from
existing buffers. This runtime library reallocates+copies the existing
buffers; the codegen path does not. Therefore, the test requires
additional deallocations when running in runtime library mode.
Alternatives considered:
- Make the codegen path allocate. "Codegen" is the "default" compilation
mode and it is handling `sparse_tensor.assemble` correctly. The issue is
with the runtime library path, which should not allocate. Therefore, it
is better to put a workaround in the runtime library path than to work
around the issue with a new flag in the codegen path.
- Add a `sparse_tensor.runtime_only` attribute to
`bufferization.dealloc_tensor`. Verifying that the attribute can only be
attached to `bufferization.dealloc_tensor` may introduce an unwanted
dependency of `MLIRSparseTensorDialect` on `MLIRBufferizationDialect`.
Commit: 32a067c068f9ac285cf98be3154c8f1909fa2b21
https://github.com/llvm/llvm-project/commit/32a067c068f9ac285cf98be3154c8f1909fa2b21
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
Log Message:
-----------
[GlobalISel] Introduce LLT:token() as a special scalar type (#85189)
The new token type is used in #67006 for implementing convergence
control tokens in GMIR.
Commit: c54f22f5fe3eef055df4be7239b890eaab15f5ff
https://github.com/llvm/llvm-project/commit/c54f22f5fe3eef055df4be7239b890eaab15f5ff
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Add eventMask function in WaitcntGenerator class (NFC) (#85210)
This would bring a cleaner interface while obtaining wait event masks by
combining various wait event types in the derived classes.
Commit: e895c523b53c97c92a69ba0997e8904edd1e40a8
https://github.com/llvm/llvm-project/commit/e895c523b53c97c92a69ba0997e8904edd1e40a8
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
Log Message:
-----------
[Object] getBuildAttributes: check e_machine. NFC
getBuildAttributes is only called for ARM/RISCV object files and
`SHT_ARM_ATTRIBUTES == SHT_RISCV_ATTRIBUTES`, so the following check
`Sec.sh_type == ELF::SHT_ARM_ATTRIBUTES || Sec.sh_type == ELF::SHT_RISCV_ATTRIBUTES`
is actually fine. But the convention is to guard such processor-specific
section type checks with an e_machine test.
Commit: d35f944dde1511bf3f21ff7492343ee15d0eea45
https://github.com/llvm/llvm-project/commit/d35f944dde1511bf3f21ff7492343ee15d0eea45
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
Add missing clang to the monolithic pre-merge build (#85354)
Clang has a custom separate pipeline integrated with libc++ that only
runs in release mode. It means that changes which touches only clang
won't run the clang tests in the configuration used by LLVM premerge and
will break it unknowingly.
Commit: 297af060e26e13d35990e961648bd1a3c318f028
https://github.com/llvm/llvm-project/commit/297af060e26e13d35990e961648bd1a3c318f028
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test
Log Message:
-----------
[llvm-readobj,yaml2obj,test] Test SHT_HEX_ORDERED
The section type from 9f64604e74a46ea1c8a8bd258b4a4195f79ec6cb (2013)
was untested.
Commit: 2a547f0f6c6b456342b9bfad38787f54f265fc96
https://github.com/llvm/llvm-project/commit/2a547f0f6c6b456342b9bfad38787f54f265fc96
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
Log Message:
-----------
[MLIR] Fix `mlir-opt --show-dialects` to not require any input (as documented)
Commit: 4372cab91476137c6637a277dcc6a9df02c12aae
https://github.com/llvm/llvm-project/commit/4372cab91476137c6637a277dcc6a9df02c12aae
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
Reland "[NVPTX] Add support for atomic add for f16 type" (#85197)
atom.add.noftz.f16 is supported since SM 7.0
Commit: abe292f9f8d0ff339e7d94d1c3984b9fcb23d546
https://github.com/llvm/llvm-project/commit/abe292f9f8d0ff339e7d94d1c3984b9fcb23d546
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
Log Message:
-----------
[libc++] Enables TZDB tests. (#82108)
With the timezone information available in the CI these tests can be
enabled again.
Fixes: https://github.com/llvm/llvm-project/issues/81654
Commit: 0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89
https://github.com/llvm/llvm-project/commit/0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin___{CF,NS}StringMakeConstantString
By doing the same thing the current interpreter does: Just passing on
the first parameter.
Commit: ff2fb2a1d78585944dcdb9061c8487fe1476dfa4
https://github.com/llvm/llvm-project/commit/ff2fb2a1d78585944dcdb9061c8487fe1476dfa4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/test/Instrumentation/ThreadSanitizer/atomic.ll
Log Message:
-----------
[TSan] Fix atomicrmw xchg with pointer and floats (#85228)
atomicrmw xchg also accepts pointer and floating-point values. To handle
those, insert necessary casts to and from integer. This is what we do
for cmpxchg as well.
Fixes https://github.com/llvm/llvm-project/issues/85226.
Commit: e61e26091c5088b32b68e020cd51ab6de972004f
https://github.com/llvm/llvm-project/commit/e61e26091c5088b32b68e020cd51ab6de972004f
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll
Log Message:
-----------
[InstCombine] Fold `mul (sext bool X), Y` into `select X, -Y, 0` (#84792)
Alive2: https://alive2.llvm.org/ce/z/n_ns-W
Resolve #84608
Commit: 8a237ab7d9022d24441544ba25be480f0c944f5a
https://github.com/llvm/llvm-project/commit/8a237ab7d9022d24441544ba25be480f0c944f5a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
Log Message:
-----------
[TSan] Avoid use of ReplaceInstWithInst()
This is mainly for consistency across code paths, but also makes
sure that all calls use IRInstrumentationBuilder and its special
debuginfo handling.
The two remaining uses don't actually need RAUW, they just have
to erase the original instruction.
Commit: e639e7e986e0c1dcb5af3de65548d8518eb685a6
https://github.com/llvm/llvm-project/commit/e639e7e986e0c1dcb5af3de65548d8518eb685a6
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Log Message:
-----------
[AArch64] NFC: Simplify the smstart/smstop pseudo. (#85067)
This is just a bit of cleanup to make the pseudo/code easier to
understand. This is based on the observation that we only need to pass
in a runtime value for 'pstate' if is actually needed for generating a
runtime check.
Commit: c42bc2ea8f66def31ca9a381e995ec61e9fa9b05
https://github.com/llvm/llvm-project/commit/c42bc2ea8f66def31ca9a381e995ec61e9fa9b05
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][NFC] Make some local pointers const
The function returns a const Expr* anyway.
Commit: 8ab0632735f87961d27094a1076a41264e2fd3ed
https://github.com/llvm/llvm-project/commit/8ab0632735f87961d27094a1076a41264e2fd3ed
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.h
M clang/test/AST/Interp/cxx23.cpp
Log Message:
-----------
[clang][Interp] Handle goto and label statements
Commit: 141145232f915b44aef6e3854f091da03c41a2b6
https://github.com/llvm/llvm-project/commit/141145232f915b44aef6e3854f091da03c41a2b6
Author: Artem Tyurin <artem.tyurin at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[IRBuilder] Fold binary intrinsics (#80743)
Fixes https://github.com/llvm/llvm-project/issues/61240.
Commit: 719e077a5680ccfd6601195754c1702b03ba3645
https://github.com/llvm/llvm-project/commit/719e077a5680ccfd6601195754c1702b03ba3645
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/cxx23.cpp
Log Message:
-----------
[clang][Interp] Handle PackIndexExprs
Commit: 8310fd3a093ce98e4df599f7cac2081f551e3fef
https://github.com/llvm/llvm-project/commit/8310fd3a093ce98e4df599f7cac2081f551e3fef
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
A llvm/test/CodeGen/AArch64/sme-machine-licm-vg.mir
Log Message:
-----------
[MachineLICM] Give opportunity to analyze physregs for invariance. (#84779)
At the moment MachineLoopInfo has a very simple way to determine if a
use of a physical register will be invariant: if it is not a constant
value or if it's not an ignorable use, then it's not considered
invariant.
>From a compile-time performance perspective this makes a lot of sense,
but it limits code that uses implicit physical registers from being
hoisted until the later MachineLICM pass (after register allocation),
which has a lot fewer opportunities to hoist.
For AArch64 SME we use an implicit physical register ($vg) to avoid
rematerialization beyond certain instructions. Doing this led to
regressions because simple expressions were no longer hoisted by Early
MachineLICM.
This patch adds some extra checks to 'isLoopInvariant' to see if any of
the defs are found in the loop. If not, we can considered it loop
invariant.
We expect the impact on compile-time to be negligible because there is
an incentive for users to reduce the need for the smstart/smstop
instructions that define $vg. In either case, we've put the
functionality under a target interface to limit this only to specific
registers.
Commit: 72d85b0315628c982be21c7aada59b6f9274de90
https://github.com/llvm/llvm-project/commit/72d85b0315628c982be21c7aada59b6f9274de90
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/if.cpp
Log Message:
-----------
[clang][Interp] Emit Error op for contains-error expressions
Instead of aborting interpretation right away. This way we can still
successfully evaluate such functions provided we don't reach the
Error op at all.
Commit: dbb2fd5974fbdf82d4b1b0dd0dde5170e3629768
https://github.com/llvm/llvm-project/commit/dbb2fd5974fbdf82d4b1b0dd0dde5170e3629768
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLoopInfo.cpp
Log Message:
-----------
[CodeGen] Remove unused lambda capture (NFC)
llvm-project/llvm/lib/CodeGen/MachineLoopInfo.cpp:215:14:
error: lambda capture 'Reg' is not used [-Werror,-Wunused-lambda-capture]
[this, Reg](const MachineInstr &MI) { return this->contains(&MI); });
~~^~~
1 error generated.
Commit: 01a31cee561efe90fbd1d33fa89f403dd8ff9012
https://github.com/llvm/llvm-project/commit/01a31cee561efe90fbd1d33fa89f403dd8ff9012
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 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
A mlir/test/Target/Cpp/subscript.mlir
Log Message:
-----------
[MLIR] EmitC: Add subscript operator (#84783)
Introduces a SubscriptOp that allows to write IR like
```
func.func @load_store(%arg0: !emitc.array<4x8xf32>, %arg1: !emitc.array<3x5xf32>, %arg2: index, %arg3: index) {
%0 = emitc.subscript %arg0[%arg2, %arg3] : <4x8xf32>, index, index
%1 = emitc.subscript %arg1[%arg2, %arg3] : <3x5xf32>, index, index
emitc.assign %0 : f32 to %1 : f32
return
}
```
which gets translated into the C++ code
```
v1[v2][v3] = v0[v1][v2];
```
To make this happen, this
- adds the SubscriptOp
- allows the subscript op as rhs of emitc.assign
- updates the emitter to print SubscriptOps
The emitter prints emitc.subscript in a delayed fashing to allow it
being used as lvalue.
I.e. while processing
```
%0 = emitc.subscript %arg0[%arg2, %arg3] : <4x8xf32>, index, index
```
it will not emit any text, but record in the `valueMapper` that the name
for `%0` is `v0[v1][v2]`, see `CppEmitter::getSubscriptName`. Only when
that result is then used (here in `emitc.assign`), that name is inserted
into the text.
Commit: ddcbab37ac0e5743a8d39be3dd48d967f4c85504
https://github.com/llvm/llvm-project/commit/ddcbab37ac0e5743a8d39be3dd48d967f4c85504
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/tsan/signal_errno.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
Log Message:
-----------
[compiler-rt] Also consider SIGPROF as a synchronous signal
Blocking that signal causes inter-blocking for profilers that monitor
threads through that signal.
Update tests accordingly to use an uncaught signal.
This is a recommit of 6f3f659ce9ab91002b4a490b0ce4b085981383cd with the
tests fixed.
Fix #83844 and #83561
Commit: d59256992e8df79991e4c6baaff1a7c4830a26d5
https://github.com/llvm/llvm-project/commit/d59256992e8df79991e4c6baaff1a7c4830a26d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitAND - pull out repeated SDLoc(N). NFC.
Commit: fe753f77c35cf236b8aed6b5ebd857973e047925
https://github.com/llvm/llvm-project/commit/fe753f77c35cf236b8aed6b5ebd857973e047925
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitTRUNCATE - pull out repeated SDLoc(N). NFC.
Commit: c7c561ef98ad783d257dab3940dd2378ef8760bf
https://github.com/llvm/llvm-project/commit/c7c561ef98ad783d257dab3940dd2378ef8760bf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
A llvm/test/CodeGen/AMDGPU/itofp.i128.ll
Log Message:
-----------
AMDGPU: Enable ExpandLargeFpConvert for > 64-bit types
Fixes casts between double/float/half and i128. The pass seems to be
broken for bfloat though. I also believe we could have a better implementation
which attempts to make use the native 32-bit conversion instructions like
the 64-bit expansion does.
Commit: b890a48a12aa5c851185ae2fd6273cd853fe0bc5
https://github.com/llvm/llvm-project/commit/b890a48a12aa5c851185ae2fd6273cd853fe0bc5
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
Log Message:
-----------
[MacroFusion] Support commutable instructions (#82751)
If the second instruction is commutable, we should be able to check
its commutable operands.
A simple RISCV fusion is contained in this PR to show the functionality
is correct, I may remove it when landing.
Fixes #82738
Commit: d6d3d96b654012d72ad170d272cb2fe2c8def90d
https://github.com/llvm/llvm-project/commit/d6d3d96b654012d72ad170d272cb2fe2c8def90d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[RemoveDIs] Read/write DbgRecords directly from/to bitcode (#83251)
If --write-experimental-debuginfo-iterators-to-bitcode is true (default false)
and --expermental-debuginfo-iterators is also true then the new debug info
format (non-instruction records) is written to bitcode directly.
Added the following records:
FUNC_CODE_DEBUG_RECORD_LABEL
FUNC_CODE_DEBUG_RECORD_VALUE
FUNC_CODE_DEBUG_RECORD_DECLARE
FUNC_CODE_DEBUG_RECORD_ASSIGN
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
The last one has an abbrev in FUNCTION_BLOCK BLOCK_INFO. Incidentally, this uses
the last value available without widening the code-length for FUNCTION_BLOCK
from 4 to 5 bits.
Records are formatted as follows:
All DbgRecord start with:
1. DILocation
FUNC_CODE_DEBUG_RECORD_LABEL
2. DILabel
DPValues then share common fields:
2. DILocalVariable
3. DIExpression
FUNC_CODE_DEBUG_RECORD_VALUE
4. Location Metadata
FUNC_CODE_DEBUG_RECORD_DECLARE
4. Location Metadata
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
4. Location Value (single)
FUNC_CODE_DEBUG_RECORD_ASSIGN
4. Location Metadata
5. DIAssignID
6. DIExpression (address)
7. Location Metadata (address)
Encoding the DILocation metadata reference directly appeared to yield smaller
bitcode files than encoding the operands seperately (as is done with instruction
DILocations).
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE is by far the most common DbgRecord record
in optimized code (order of 5x-10x over other kinds). Unoptimized code should
only contain FUNC_CODE_DEBUG_RECORD_DECLARE.
Commit: 7567f5ba789cce32a33e2661301c1b8bb629d47d
https://github.com/llvm/llvm-project/commit/7567f5ba789cce32a33e2661301c1b8bb629d47d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."
This reverts commit ea429e19f56005bf89e717c14efdf49ec055b183 to fix
issues reported in https://github.com/llvm/llvm-project/pull/84536#issuecomment-1999295445.
Commit: 9b5d9a81bd2695443254be8489f4325fbb259776
https://github.com/llvm/llvm-project/commit/9b5d9a81bd2695443254be8489f4325fbb259776
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
Log Message:
-----------
AMDGPU: Regenerate test checks from c7c561ef9
The test output changed after initial commit/test in
5f774619eac5db73398225a4c924a9c1d437fb40
Commit: dbbe2fe2a2684c45993f9cf6fced4e3b38fcb0c7
https://github.com/llvm/llvm-project/commit/dbbe2fe2a2684c45993f9cf6fced4e3b38fcb0c7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."
This reverts commit e4b772444c8176abe30d364e4a946ee6c8ae8de4 to fixx the
issues reported in https://github.com/llvm/llvm-project/pull/84536.
Commit: 37898707585af6df9545620fa8053e7acd23be9f
https://github.com/llvm/llvm-project/commit/37898707585af6df9545620fa8053e7acd23be9f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll
Log Message:
-----------
Revert "[SLP]Improve minbitwidth analysis."
This reverts commit 7f2167868d8c1cedd3915883412b9c787a2f01db to fix
issues reported in https://github.com/llvm/llvm-project/pull/84536.
Commit: 861ebe6446296c96578807363aa292c69d827773
https://github.com/llvm/llvm-project/commit/861ebe6446296c96578807363aa292c69d827773
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
R llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
Revert "[RemoveDIs] Read/write DbgRecords directly from/to bitcode" (#85382)
Reverts llvm/llvm-project#83251
Buildbot: https://lab.llvm.org/buildbot/#/builders/139/builds/61485
Commit: 328cb9b731cb61eaa853fa6cc3bd641dd1d71b98
https://github.com/llvm/llvm-project/commit/328cb9b731cb61eaa853fa6cc3bd641dd1d71b98
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.td
A llvm/test/CodeGen/AVR/bug-81911.ll
Log Message:
-----------
[AVR] Remove earlyclobber from LDDRdPtrQ (#85277)
LDDRdPtrQ was marked as `earlyclobber`, which doesn't play well with
GreedyRA (which can generate this instruction through `loadRegFromStackSlot()`).
This seems to be the same case as:
https://github.com/llvm/llvm-project/blob/a99b912c9b74f6ef91786b4dfbc25160c27d3b41/llvm/lib/Target/AVR/AVRInstrInfo.td#L1421
Closes https://github.com/llvm/llvm-project/issues/81911.
Commit: 6d30223f7c66ca07ea7ff40ffba426f2dc789e74
https://github.com/llvm/llvm-project/commit/6d30223f7c66ca07ea7ff40ffba426f2dc789e74
Author: long.chen <lipracer at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[ADT][APInt] add sfloordiv_ov APInt's member function (#84720)
for mlir fold to avoid too many overflow state check
Commit: cf5cd98e74275ed6198b4bbe76cec250ade2c186
https://github.com/llvm/llvm-project/commit/cf5cd98e74275ed6198b4bbe76cec250ade2c186
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/pr63791.ll
Log Message:
-----------
[InstCombine] Support and/or in `getFreelyInvertedImpl` using DeMorgan's Law (#85193)
This patch adds the support for and/or in `getFreelyInvertedImpl` using
DeMorgan's Law:
```
(~(A | B)) -> (~A & ~B)
(~(A & B)) -> (~A | ~B)
```
Alive2: https://alive2.llvm.org/ce/z/Uig8-j
Commit: 53d8c6b1b1f7cfce9bd42032e8cb6cc1ddcf6c78
https://github.com/llvm/llvm-project/commit/53d8c6b1b1f7cfce9bd42032e8cb6cc1ddcf6c78
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
A flang/test/Semantics/OpenMP/reduction11.f90
Log Message:
-----------
[flang][Semantics][OpenMP] set intrinsic attr for reductions (#85114)
Reductions such as min are intrinsic procedures. This distinguishes them
from user defined reductions. Previously, the intrinsic attribute was
not set when visiting reduction clauses causing them to be missed.
wsloop-reduction-min.f90 (the other min reduction test) worked because
it contained "min" used as an intrinsic inside of the body of the
reduction. This allowed ResolveNamesVisitor::HandleProcedureName to set
the correct attribute on that Symbol.
Commit: 61fadd0b09fb012b628b050725d348ad2164f328
https://github.com/llvm/llvm-project/commit/61fadd0b09fb012b628b050725d348ad2164f328
Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86TargetTransformInfo.h
A llvm/test/CodeGen/X86/vpdpwssd.ll
Log Message:
-----------
[X86] Fast AVX-512-VNNI vpdpwssd tuning (#85375)
Adding a tuning feature to fix
https://github.com/llvm/llvm-project/issues/84182
Generates vpdpwssd (instead of vpmaddwd + vpaddd sequence)
Commit: cdb36d47b79fc782f71842c8ad12b7788d451fb0
https://github.com/llvm/llvm-project/commit/cdb36d47b79fc782f71842c8ad12b7788d451fb0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] foldAndToUsubsat/foldSubToUSubSat - share the same SDLoc argument instead of recreating it over and over again.
Commit: f1d0a48b2740b506d0b476f7cac0ee47d659a6d2
https://github.com/llvm/llvm-project/commit/f1d0a48b2740b506d0b476f7cac0ee47d659a6d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] foldABSToABD - share the same SDLoc argument instead of recreating it over and over again.
Commit: 5334afcad827a6284ff56f5bde81d4e3416aae8c
https://github.com/llvm/llvm-project/commit/5334afcad827a6284ff56f5bde81d4e3416aae8c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/SemaCXX/decomposed-condition.cpp
Log Message:
-----------
[clang][Interp] Don't forget to visit condition variable decls
We did this for if statements, but switch and loop constructs
need to do it as well.
Commit: c7fc95baae8e662506c22511b29e1ad86b910248
https://github.com/llvm/llvm-project/commit/c7fc95baae8e662506c22511b29e1ad86b910248
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Object/ArchiveWriter.cpp
Log Message:
-----------
[Object][Archive][NFC] Create all symbolic files objects before calculating offsets. (#85229)
This is refactoring preparing to move UseECMap computation to the
archive writer. We currently require writeArchive caller to pass that.
This is not practical for llvm-ar, which currently interprets at most
one passed object. For a reliable UseECMap, we need to interpret all
symbolic objects: we may have, for example, a list of x86_64 files
followed by aarch64 file, which indicates that we should use EC map for
x86_64 objects.
This commit interprets symbolic files in a separated pass, which will be
a convenient place to implement UseECMap computation in the follow up.
It also makes accessing the next member for AIX big archive offset
computation a bit easier.
Commit: f623adbbbdea8ac6af06e44be218e4fa969e523d
https://github.com/llvm/llvm-project/commit/f623adbbbdea8ac6af06e44be218e4fa969e523d
Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
Log Message:
-----------
[ExpandLargeFpConvert] Fix bug in int-to-fp expansion. (#85370)
When deciding whether to perform rounding on the significand,
the generated IR was using (width - leading zeros - 1) rather
than (width - leading zeros). This is different from how the
routine in compiler-rt does it:
int sd = srcBits - clzSrcT(a);
int e = sd - 1;
if (sd > dstMantDig) {
This bug means that the following code, when built on -O0:
#include <stdio.h>
_BitInt(233) v_1037 = 0;
int main(void)
{
v_1037 = 18014398509481982wb;
double d = v_1037;
printf("d = %f\n", d);
return 0;
}
prints "d = 9007199254740992.000000", which is incorrect.
The correct result is "d = 18014398509481982.000000".
Commit: e12b46fef76472b3eeb3c689dbd848c72ff8486f
https://github.com/llvm/llvm-project/commit/e12b46fef76472b3eeb3c689dbd848c72ff8486f
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Fir/omp-reduction-embox-codegen.fir
Log Message:
-----------
[flang] support fir.alloca operations inside of omp reduction ops (#84952)
Advise to place the alloca at the start of the first block of whichever
region (init or combiner) we are currently inside.
It probably isn't safe to put an alloca inside of a combiner region
because this will be executed multiple times. But that would be a bug to
fix in Lower/OpenMP.cpp, not here.
OpenMP array reductions 1/6
Next PR: https://github.com/llvm/llvm-project/pull/84953
Commit: 41bdcaa7c687140c28ad46102784bb6c40449981
https://github.com/llvm/llvm-project/commit/41bdcaa7c687140c28ad46102784bb6c40449981
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[ADT] APIntTest - use APInt::getMaxValue/getSignedMinValue/getSignedMaxValue instead of raw (U)INT_MAX/MIN defines
Fixes warnings on MSVC builds
Commit: a7f3d17de18a8be07b74484802582404a32c6527
https://github.com/llvm/llvm-project/commit/a7f3d17de18a8be07b74484802582404a32c6527
Author: Dhruv Chawla <dhruvc at nvidia.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
Log Message:
-----------
[GlobalISel] Add support for interleave and deinterleave intrinsics to IRTranslator (#85199)
This patch adds support for the @llvm.experimental.vector.{interleave2,
deinterleave2} intrinsics to IRTranslator for fixed-width vector types.
They are lowered to vector shuffles, in roughly the same manner as
SelectionDAG.
Commit: 61671e2500771dfbf502acd86e2ef70cba847a39
https://github.com/llvm/llvm-project/commit/61671e2500771dfbf502acd86e2ef70cba847a39
Author: David Stenberg <david.stenberg at ericsson.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[DebugInfo] Fix faulty DIExpression::appendToStack assert (#85255)
The appendToStack() function asserts that no DW_OP_stack_value or
DW_OP_LLVM_fragment operations are present in the operations to be
appended. The function did that by iterating over all elements in the
array rather than just the operations, leading it to falsely asserting
on the following input produced by getExt(), since 159 (0x9f) is the
DWARF code for DW_OP_stack_value:
{dwarf::DW_OP_LLVM_convert, 159, dwarf::DW_ATE_signed}
Fix this by using expr_op iterators.
Commit: 03bad4b434eb9e10b8e970d69a583bc8d5b7a3d4
https://github.com/llvm/llvm-project/commit/03bad4b434eb9e10b8e970d69a583bc8d5b7a3d4
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][LLVM][CodeGen][SVE] Standardise on SVEAllActive for all true isel patterns.
Commit: 63e70c05537c54edae975c8b5449ff87444abec2
https://github.com/llvm/llvm-project/commit/63e70c05537c54edae975c8b5449ff87444abec2
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Convert repeatable clauses (except Map) in ClauseProc… (#81623)
…essor
Rename `findRepeatableClause` to `findRepeatableClause2`, and make the
new `findRepeatableClause` operate on new `omp::Clause` objects.
Leave `Map` unchanged, because it will require more changes for it to
work.
[Clause representation 3/6]
Commit: 36fd0e797974b75623d847e30d8ba0494e43af99
https://github.com/llvm/llvm-project/commit/36fd0e797974b75623d847e30d8ba0494e43af99
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
R llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64.dylib
R llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64_32.dylib
R llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
Revert "[llvm-objdump][macho] Add support for ObjC relative method lists (#84250)"
This reverts llvm/llvm-project#84250, commit aa6100643c2c8f9a1b06ba557b68b0fba477e3c7.
See build failures:
https://lab.llvm.org/buildbot/#/builders/178/builds/7028
https://lab.llvm.org/buildbot/#/builders/182/builds/9282
https://lab.llvm.org/buildbot/#/builders/186/builds/15299
https://lab.llvm.org/buildbot/#/builders/187/builds/14564
Commit: 2c703ed7281cb0fb749bff75b1c313a0332bd9eb
https://github.com/llvm/llvm-project/commit/2c703ed7281cb0fb749bff75b1c313a0332bd9eb
Author: Eric <eric at efcs.ca>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libcxx/docs/Modules.rst
M libcxx/modules/CMakeLists.txt.in
Log Message:
-----------
Rework Modules CMake to be (more) idiomatic. (#84936)
- Fix bug in documentation regarding dependencies.
- Rework Modules CMake to be (more) idiomatic.
Commit: 5b5525d403f4b1e155c5fc50649b6c6d9e7d4de5
https://github.com/llvm/llvm-project/commit/5b5525d403f4b1e155c5fc50649b6c6d9e7d4de5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
Log Message:
-----------
[flang][OpenMP] Remove unused variable (NFC)
llvm-project/flang/lib/Lower/OpenMP/ClauseProcessor.cpp:97:15:
error: unused variable 'allocatorOperand' [-Werror,-Wunused-variable]
mlir::Value allocatorOperand;
^
1 error generated.
Commit: 435d4c12de6fdc8e67ceffa04f4d9fba9f006b2d
https://github.com/llvm/llvm-project/commit/435d4c12de6fdc8e67ceffa04f4d9fba9f006b2d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
Reapply [RemoveDIs] Read/write DbgRecords directly from/to bitcode (#83251)
Reaplying after revert in #85382 (861ebe6446296c96578807363aa292c69d827773).
Fixed intermittent test failure by avoiding piping output in some RUN lines.
If --write-experimental-debuginfo-iterators-to-bitcode is true (default false)
and --expermental-debuginfo-iterators is also true then the new debug info
format (non-instruction records) is written to bitcode directly.
Added the following records:
FUNC_CODE_DEBUG_RECORD_LABEL
FUNC_CODE_DEBUG_RECORD_VALUE
FUNC_CODE_DEBUG_RECORD_DECLARE
FUNC_CODE_DEBUG_RECORD_ASSIGN
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
The last one has an abbrev in FUNCTION_BLOCK BLOCK_INFO. Incidentally, this uses
the last value available without widening the code-length for FUNCTION_BLOCK
from 4 to 5 bits.
Records are formatted as follows:
All DbgRecord start with:
1. DILocation
FUNC_CODE_DEBUG_RECORD_LABEL
2. DILabel
DPValues then share common fields:
2. DILocalVariable
3. DIExpression
FUNC_CODE_DEBUG_RECORD_VALUE
4. Location Metadata
FUNC_CODE_DEBUG_RECORD_DECLARE
4. Location Metadata
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
4. Location Value (single)
FUNC_CODE_DEBUG_RECORD_ASSIGN
4. Location Metadata
5. DIAssignID
6. DIExpression (address)
7. Location Metadata (address)
Encoding the DILocation metadata reference directly appeared to yield smaller
bitcode files than encoding the operands seperately (as is done with instruction
DILocations).
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE is by far the most common DbgRecord record
in optimized code (order of 5x-10x over other kinds). Unoptimized code should
only contain FUNC_CODE_DEBUG_RECORD_DECLARE.
Commit: 0bcec96f3fe919fc5fd1189d1901fa3a0e501e2c
https://github.com/llvm/llvm-project/commit/0bcec96f3fe919fc5fd1189d1901fa3a0e501e2c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Reduce duplication in FLAT atomic definitions (#85383)
This simplifies the case where the tablegen name of the defm for the
Real is the same as the name of the Pseudo.
Commit: 9214e51925d202fd8463535d75f144b81173dd73
https://github.com/llvm/llvm-project/commit/9214e51925d202fd8463535d75f144b81173dd73
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify GFX10+ FLAT saddr field definition
On GFX10+ has_saddr is effectively always true so there is no need to
test it.
Commit: e419084da7a00b269368aeb95698e0d36b24e8ec
https://github.com/llvm/llvm-project/commit/e419084da7a00b269368aeb95698e0d36b24e8ec
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[RemoveDIs] Enable direct-to-bitcode writing by default
Follow on from #83251. This patch simply enables the behaviour by default in
order to provide an easily revertible capstone.
Commit: 64f76dea9c95fd59e383e7550de35786781d9662
https://github.com/llvm/llvm-project/commit/64f76dea9c95fd59e383e7550de35786781d9662
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/test/Bitcode/dbg-record-roundtrip.ll
Log Message:
-----------
[NFC] Fix comment in test from #83251
Commit: 0ae76a74985b3639ffb99d1dbb857068939547aa
https://github.com/llvm/llvm-project/commit/0ae76a74985b3639ffb99d1dbb857068939547aa
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/test/Bitcode/dbg-record-roundtrip.ll
Log Message:
-----------
[NFC] Fix incorrect RUN line in test from #83251
Note: This wasn't the cause of the strange behaviour mentioned in the NOTE
comment in the test.
Commit: 0b9f19a9880eb786871194af116f223d2ad30c52
https://github.com/llvm/llvm-project/commit/0b9f19a9880eb786871194af116f223d2ad30c52
Author: antoine moynault <antoine.moynault at linaro.org>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
Log Message:
-----------
Revert "[compiler-rt] Avoid generating coredumps when piped to a tool" (#85390)
This reverts commit 27e5312a8bc8935f9c5620ff061c647d9fbcec85.
This commit broke some bots:
- clang-aarch64-sve-vla
https://lab.llvm.org/buildbot/#/builders/197/builds/13609
- clang-aarch64-sve-vls
https://lab.llvm.org/buildbot/#/builders/184/builds/10988
- clang-aarch64-lld-2stage
https://lab.llvm.org/buildbot/#/builders/185/builds/6312
https://github.com/llvm/llvm-project/pull/83701
Commit: f4676b6be6ee0d908c92d64936d17bd6fa3fbda8
https://github.com/llvm/llvm-project/commit/f4676b6be6ee0d908c92d64936d17bd6fa3fbda8
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/tls-dialect.c
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
A llvm/test/CodeGen/X86/tls-desc.ll
Log Message:
-----------
[X86] Add Support for X86 TLSDESC Relocations (#83136)
Commit: 092999e70b349ac521cab2648152ababeb12873f
https://github.com/llvm/llvm-project/commit/092999e70b349ac521cab2648152ababeb12873f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
Log Message:
-----------
[AMDGPU] Update checks in new test after #85370
Commit: c957715d721b70591ef32dd9609d6d96de9f0554
https://github.com/llvm/llvm-project/commit/c957715d721b70591ef32dd9609d6d96de9f0554
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] isGuaranteedNotToBeUndefOrPoisonForTargetNode - generalize shuffle decoding to support more target shuffles in the future.
Commit: bf3f86623c4712bff146b5d168cad5f7e658ac56
https://github.com/llvm/llvm-project/commit/bf3f86623c4712bff146b5d168cad5f7e658ac56
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify GFX11 and GFX12 FLAT saddr field definition
It is simpler to define this field correctly in the base class for the
Reals for each architecture, than to override it in subclasses for
different addressing modes.
Commit: 65284be2992fc7c6feafc44dda7c0f00df7aacfb
https://github.com/llvm/llvm-project/commit/65284be2992fc7c6feafc44dda7c0f00df7aacfb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Lower dim3 grid z correctly on calls (#85346)
Commit: 0e0bfacff71859d1f9212205f8f873d47029d3fb
https://github.com/llvm/llvm-project/commit/0e0bfacff71859d1f9212205f8f873d47029d3fb
Author: yonghong-song <yhs at fb.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/Basic/Targets/BPF.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFInstrFormats.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
M llvm/test/MC/BPF/insn-unit.s
Log Message:
-----------
[BPF] Add support for may_goto insn (#85358)
Alexei added may_goto insn in [1]. The asm syntax for may_goto looks
like
may_goto <label>
The instruction represents a conditional branch but the condition is
implicit. Later in bpf kernel verifier, the 'may_goto <label>' insn will
be rewritten with an explicit condition. The encoding of 'may_goto' insn
is enforced in [2] and is also implemented in this patch.
In [3], 'may_goto' insn is encoded with raw bytes. I made the following
change
```
--- a/tools/testing/selftests/bpf/bpf_experimental.h
+++ b/tools/testing/selftests/bpf/bpf_experimental.h
@@ -328,10 +328,7 @@ l_true: \
#define cond_break \
({ __label__ l_break, l_continue; \
- asm volatile goto("1:.byte 0xe5; \
- .byte 0; \
- .long ((%l[l_break] - 1b - 8) / 8) & 0xffff; \
- .short 0" \
+ asm volatile goto("may_goto %l[l_break]" \
:::: l_break); \
goto l_continue; \
l_break: break;
```
and ran the selftest with the latest llvm with this patch. All tests are
passed.
[1]
https://lore.kernel.org/bpf/20240306031929.42666-1-alexei.starovoitov@gmail.com/
[2]
https://lore.kernel.org/bpf/20240306031929.42666-2-alexei.starovoitov@gmail.com/
[3]
https://lore.kernel.org/bpf/20240306031929.42666-4-alexei.starovoitov@gmail.com/
Commit: accf0af6ee617ccbcd1f764879232ce44fce603f
https://github.com/llvm/llvm-project/commit/accf0af6ee617ccbcd1f764879232ce44fce603f
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
Log Message:
-----------
[bazel] Add workflows to label and assign bazel PRs (#85352)
Bazel PRs aren't being tagged or auto assigned, so they're easily
missed, especially for those created by contributors w/o triage or
commit access.
I'm putting myself as the default auto reviewer, but only for the
purposes of making sure PRs don't get lost.
Commit: f337525ee8b44da0f1e98eecd7f51bf5805c3760
https://github.com/llvm/llvm-project/commit/f337525ee8b44da0f1e98eecd7f51bf5805c3760
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Compute a shuffle mask for SK_Broadcast shuffle (#85327)
This is the first of a couple of small patches to compute shuffle masks
for the couple of cases where we call getShuffleCost without one. My
goal is to add an invariant that all calls to getShuffleCost for fixed
length vectors have a mask.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: 6b53ada69a8cb2d91e7ad91d810137bc2860f450
https://github.com/llvm/llvm-project/commit/6b53ada69a8cb2d91e7ad91d810137bc2860f450
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading] Early exit if switch is not in a loop (#85360)
This patch prevents taking non-loop switch as candidate.
Commit: ec2b7522dbee1cb91111d6ade6e1768462247dcf
https://github.com/llvm/llvm-project/commit/ec2b7522dbee1cb91111d6ade6e1768462247dcf
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
llvm-shlib: Fix libLLVM-${MAJOR}.so symlink on MacOS (#85163)
This is a partial revert of 10c48a772742b7afe665a815b7eba2047f17dc4b
with a fix for the symlink target name on MacOS
See #84637
Commit: 86293a7c1377d1c795961f0e73799977eeb4829a
https://github.com/llvm/llvm-project/commit/86293a7c1377d1c795961f0e73799977eeb4829a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/test/Lower/Intrinsics/modulo.f90
Log Message:
-----------
[flang] Lower REAL(16) MODULO to Float128Math library call. (#85322)
I did not test it through in #85005, and my assumption was wrong:
arith::RemFOp might be lowered to an fmodf128() call that does not
exist everywhere.
Commit: 92b56011e6b61e7dc1628c0431ece432f282b3cb
https://github.com/llvm/llvm-project/commit/92b56011e6b61e7dc1628c0431ece432f282b3cb
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang] Fix documentation markup in the Clang release notes and language extension docs. (#85310)
Commit: 45e41f9686ee9fbc0598da2acb8316cdfd12e08d
https://github.com/llvm/llvm-project/commit/45e41f9686ee9fbc0598da2acb8316cdfd12e08d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Compute a shuffle mask for SK_InsertSubvector (#85408)
This is the third of a series of small patches to compute shuffle masks
for the couple of cases where we call getShuffleCost without one. My
goal is to add an invariant that all calls to getShuffleCost for fixed
length vectors have a mask.
After this change, there is one SK_InsertSubvector case left. I excluded
it from this patch just because I thought it worthy of individual
attention and review.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: 0674ed753a16b407609637eb775f26e7e18cbe76
https://github.com/llvm/llvm-project/commit/0674ed753a16b407609637eb775f26e7e18cbe76
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Compute a shuffle mask for getGatherCost (#85330)
This is the second of a series of small patches to compute shuffle masks
for the couple of cases where we call getShuffleCost without one. My
goal is to add an invariant that all calls to getShuffleCost for fixed
length vectors have a mask.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: fc06c8efcbca6951f849b5c30e1c253929100a7c
https://github.com/llvm/llvm-project/commit/fc06c8efcbca6951f849b5c30e1c253929100a7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
AMDGPU: Partially clean up canonicalized predicates in tablegen (#85404)
This was the easy case. There are more issues with some of the other
is_canonicalized* patterns. First there appears to be a tablegen bug
where the predicate is silently ignored if used as a ComplexPattern
source, and we also probably need a version with an operand.
Commit: 12c2a53e6ae5e1ee33de5811341a10bcdc7a8c4f
https://github.com/llvm/llvm-project/commit/12c2a53e6ae5e1ee33de5811341a10bcdc7a8c4f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Simplify some uniform patterns. NFC. (#85407)
If the outer node is uniform then the inner nodes must be too, so there
is no need to check them explicitly.
Commit: 4f69c4b158969386deaf42028d4511ef7a015a20
https://github.com/llvm/llvm-project/commit/4f69c4b158969386deaf42028d4511ef7a015a20
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx98.cpp
Log Message:
-----------
[clang][Interp] Don't diagnose reading const ints in C++98
We _can_ read them, even in C++98.
Commit: 447691333f0a50a159a9924287d48a8266c8a480
https://github.com/llvm/llvm-project/commit/447691333f0a50a159a9924287d48a8266c8a480
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Don't suppress diagnostics for undefined+external funcs
Calling them should still generate a diagnostic.
Commit: a4ca07f13b560b4f6fa5459eef7159e4f9ee9a6b
https://github.com/llvm/llvm-project/commit/a4ca07f13b560b4f6fa5459eef7159e4f9ee9a6b
Author: FantasqueX <fantasquex at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libc/docs/fullbuild_mode.rst
Log Message:
-----------
[libc] Fix typo in libc fullbuild mode doc (#85204)
"In order to" is more appropriate.
Commit: 7337db72ed334f8389601f160b762e50c4e61c25
https://github.com/llvm/llvm-project/commit/7337db72ed334f8389601f160b762e50c4e61c25
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/test/Bitcode/dbg-record-roundtrip.ll
Log Message:
-----------
Add ALLOW_RETRIES to flaky test dbg-record-roundtrip.ll (#85410)
Something strange is happening in this test.
If the llvm-as output is piped into llvm-link in the final RUN lines
then this test fails on my machine (1 in 200) using WSL2. If the
verify-uselistorder RUN lines are removed then it doesn't fail on my
machine (in 10,000+). If the llvm-as and llvm-link RUN lines mentioned
at the start are removed then it doesn't fail on my machine (in
10,000+).
Writing the llvm-as output to a temporary file for llvm-link to read on
those final RUN lines, the test doesn't fail on my machine (in 10,000+).
But it _does_ fail on a bot:
https://lab.llvm.org/buildbot/#/builders/245/builds/21930. So clearly my
workaround doesn't solve the underlying problem (and I have no idea what
that is).
Commit: 0ed7a5a9a1d4297e30c7992379ff292cd1aa3828
https://github.com/llvm/llvm-project/commit/0ed7a5a9a1d4297e30c7992379ff292cd1aa3828
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Clean up GFX10 FLAT saddr field definition
On GFX10 only, saddr = EXEC_HI (instead of NULL) is use to distinguish
ST mode from other SCRATCH addressing modes. Handle this when defining
the saddr field instead of overriding it in subclasses.
Commit: 5a8a7ee9d12d7cd3680c7bc14a4750bd44d99c56
https://github.com/llvm/llvm-project/commit/5a8a7ee9d12d7cd3680c7bc14a4750bd44d99c56
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[llvm][vfs] Preserve paths for fallback/fallthrough in RedirectingFileSystem (#85307)
When we lookup in the external filesystem, do not remove . and ..
components from the original path. For .. this is a correctness issue in
the presence of symlinks, while for . it is simply better practice to
preserve the original path to better match the behaviour of other
filesystems. The only modification we need is to apply the working
directory, since it could differ from the external filesystem.
rdar://123655660
Commit: ea628f087e42b24c8188f782cb81f146e06be40e
https://github.com/llvm/llvm-project/commit/ea628f087e42b24c8188f782cb81f146e06be40e
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/ctrloop-constrained-fp.ll
Log Message:
-----------
[FPEnv][PowerPC] Correct strictfp test.
Correct llvm-reduce strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to function definitions.
Test changes verified with D146845.
Commit: 6503eff6d3bcaf1158dc7e2b6d1fc3521833374e
https://github.com/llvm/llvm-project/commit/6503eff6d3bcaf1158dc7e2b6d1fc3521833374e
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libc/src/__support/blockstore.h
M libc/src/stdlib/atexit.cpp
M libc/test/src/__support/blockstore_test.cpp
Log Message:
-----------
[libc] remove BlockStore from cpp namespace (#85312)
The cpp namespace should only be used to mirror APIs from C++'s std::
namespace
(at least until we share more code with libc++, see
https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701)
Commit: 864a88610594d8244e007e9a6e563e2c0f16d1cd
https://github.com/llvm/llvm-project/commit/864a88610594d8244e007e9a6e563e2c0f16d1cd
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libcxx/include/limits
A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
Log Message:
-----------
[libc++] Add [[nodiscard]] to static numeric limit functions (#83748)
Fixes #83695
Commit: 2e8417680a9ab032859c936b2ceb773bb08e08ca
https://github.com/llvm/llvm-project/commit/2e8417680a9ab032859c936b2ceb773bb08e08ca
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot-container
Log Message:
-----------
[libc++] Fixes run-buildbot-container. (#84644)
Pulls the proper docker image instead of a non-existing image.
Commit: 186565513c57cd625ea7afd7b33897adfed7e9f8
https://github.com/llvm/llvm-project/commit/186565513c57cd625ea7afd7b33897adfed7e9f8
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-sra.ll
Log Message:
-----------
[X86][AVX] Fix handling of out-of-bounds SRA shift amounts in AVX2 vector shift nodes (#84426)
Commit: f01a32f5c58b199edf7cd1492a20578453852f0e
https://github.com/llvm/llvm-project/commit/f01a32f5c58b199edf7cd1492a20578453852f0e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
A lldb/include/lldb/Host/Alarm.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/Alarm.cpp
A lldb/unittests/Host/AlarmTest.cpp
M lldb/unittests/Host/CMakeLists.txt
Log Message:
-----------
[lldb] Add an Alarm class for coalescing progress reports (#85329)
The commit introduces a new, generic, Alarm class. The class lets you to
schedule functions (callbacks) that will execute after a predefined
timeout. Once scheduled, you can cancel and reset a callback, given the
timeout hasn't expired yet.
The alarm class worker thread that sleeps until the next timeout
expires. When the thread wakes up, it checks for all the callbacks that
have expired and calls them in order. Because the callback is called
from the worker thread, the only guarantee is that a callback is called
no sooner than the timeout. A long running callback could potentially
block the worker threads and delay other callbacks from getting called.
I intentionally kept the implementation as simple as possible while
addressing the needs for the use case of coalescing progress events as
discussed in [1]. If we want to rely on this somewhere else, we can
reassess whether we need to address this class' limitations.
[1] https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/
Commit: f4335f075b3496bce6b49f9267e6160d1824b1bb
https://github.com/llvm/llvm-project/commit/f4335f075b3496bce6b49f9267e6160d1824b1bb
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/X86/asm-dialect-module.ll
Log Message:
-----------
[X86,AsmPrinter] Set assembler dialect for module inline asm
`clang -c -masm=intel` compiling a source file with file scope basic asm
incorrectly uses the AT&T dialect.
```
% cat a.c
asm("mov rax, rax");
% clang a.c -c -masm=intel
<inline asm>:1:1: error: unknown use of instruction mnemonic without a size suffix
mov rax, rax
^
```
Fix this by setting the assembler dialect from the MCAsmInfo object.
Note: `clang -c -flto -masm=intel a.c` still fails because of
https://reviews.llvm.org/D82862 for #34830: it tried to support AT&T
syntax for clang-cl, but the forced AT&T syntax is not compatible with
intended Intel syntax.
Pull Request: https://github.com/llvm/llvm-project/pull/85367
Commit: 0b0e52836d2563afa4c968b93a633c2b17fa5820
https://github.com/llvm/llvm-project/commit/0b0e52836d2563afa4c968b93a633c2b17fa5820
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
Log Message:
-----------
[AMDGPU] Fix GFX11 sendmsg codes (#85299)
The code MSG_RTN_GET_TBA_TO_PC was missing, and the next code is off by
1 as a result.
Commit: 9ecc72f39918d157a46ff1ea816a8756a9bbf75b
https://github.com/llvm/llvm-project/commit/9ecc72f39918d157a46ff1ea816a8756a9bbf75b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify definition of FLAT segment bits. NFC.
Commit: 58f7251820b14c93168726a24816d8a094599be5
https://github.com/llvm/llvm-project/commit/58f7251820b14c93168726a24816d8a094599be5
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_linux.cpp
Log Message:
-----------
[msan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85142)
This ports the change from TSan
(https://github.com/llvm/llvm-project/commit/0784b1eefa36d4acbb0dacd2d18796e26313b6c5).
Testing notes: run 'sudo sysctl vm.mmap_rnd_bits=32; ninja check-msan'
before and after this patch.
N.B. aggressive ASLR may also cause the app to overlap with the
allocator region; for MSan, this was fixed in
https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b
Commit: e115c00565be88677e8b7fe021a3e242249c67b8
https://github.com/llvm/llvm-project/commit/e115c00565be88677e8b7fe021a3e242249c67b8
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/Options.td
M lld/docs/ld.lld.1
M lld/test/ELF/incompatible-section-types2.s
M lld/test/ELF/linkerscript/custom-section-type.s
A lld/test/ELF/unknown-section.test
Log Message:
-----------
[ELF] Reject certain unknown section types (#85173)
Unknown section sections may require special linking rules, and
rejecting such sections for older linkers may be desired. For example,
if we introduce a new section type to replace a control structure (e.g.
relocations), it would be nice for older linkers to reject the new
section type. GNU ld allows certain unknown section types:
* [SHT_LOUSER,SHT_HIUSER] and non-SHF_ALLOC
* [SHT_LOOS,SHT_HIOS] and non-SHF_OS_NONCONFORMING
but reports errors and stops linking for others (unless
--no-warn-mismatch is specified). Port its behavior. For convenience, we
additionally allow all [SHT_LOPROC,SHT_HIPROC] types so that we don't
have to hard code all known types for each processor.
Close https://github.com/llvm/llvm-project/issues/84812
Commit: 2d80505401835ed4c32d0d58f015efddf929c39d
https://github.com/llvm/llvm-project/commit/2d80505401835ed4c32d0d58f015efddf929c39d
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
A llvm/test/CodeGen/PowerPC/aix-codemodel-attr.ll
Log Message:
-----------
[AIX] Support per global code model. (#79202)
Exploit the per global code model attribute on AIX. On AIX we need to
update both the code sequence used to access the global (either 1 or 2
instructions for small and large code model respectively) and the
storage mapping class that we emit the toc entry.
---------
Co-authored-by: Amy Kwan <akwan0907 at gmail.com>
Commit: 39a96bc7b276d0be856c7b51e92f0d77cf775385
https://github.com/llvm/llvm-project/commit/39a96bc7b276d0be856c7b51e92f0d77cf775385
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
Log Message:
-----------
[SLP][NFC]Add a test for minbitwidth analysis of icmp, being transformed
to trunc.
Commit: fd09d510d066583c088e4dbcf23ac0b500c5cc7a
https://github.com/llvm/llvm-project/commit/fd09d510d066583c088e4dbcf23ac0b500c5cc7a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M lldb/include/lldb/Host/Alarm.h
Log Message:
-----------
[lldb] Add missing headers lldb/Host/Alarm.h
Commit: 9a42bdc0ae53f321966b1418430d4aaaf83877b5
https://github.com/llvm/llvm-project/commit/9a42bdc0ae53f321966b1418430d4aaaf83877b5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix signedness to avoid comparison warning.
Commit: 1e8dad3bef64ada8b293e6c538b1f41ad9727cc0
https://github.com/llvm/llvm-project/commit/1e8dad3bef64ada8b293e6c538b1f41ad9727cc0
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/test/CAPI/llvm.c
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Support Recursive DITypes (#80251)
Following the discussion from [this
thread](https://discourse.llvm.org/t/handling-cyclic-dependencies-in-debug-info/67526/11),
this PR adds support for recursive DITypes.
This PR adds:
1. DIRecursiveTypeAttrInterface: An interface that DITypeAttrs can
implement to indicate that it supports recursion. See full description
in code.
2. Importer & exporter support (The only DITypeAttr that implements the
interface is DICompositeTypeAttr, so the exporter is only implemented
for composites too. There will be two methods that each llvm DI type
that supports mutation needs to implement since there's nothing
general).
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: ba2e3bd39678bdadabe8b606007d335e1cb4d213
https://github.com/llvm/llvm-project/commit/ba2e3bd39678bdadabe8b606007d335e1cb4d213
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port f01a32f5c58b
Commit: bb9ca8afc0bd5a1abb8ef3d0f5c8e4928c2f7f60
https://github.com/llvm/llvm-project/commit/bb9ca8afc0bd5a1abb8ef3d0f5c8e4928c2f7f60
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
Log Message:
-----------
[Hexagon][TTI] Remove two overrides which simply proxy to base class [NFC]
These serve no point, and slightly complicate a refectoring I'm working
on for this API.
Commit: 2210c85a664463cdc11e3b7990c9663c739e6060
https://github.com/llvm/llvm-project/commit/2210c85a664463cdc11e3b7990c9663c739e6060
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
Reapply [libomptarget] Support BE ELF files in plugins-nextgen (#85246)
Code in plugins-nextgen reading ELF files is currently hard-coded to
assume a 64-bit little-endian ELF format. Unfortunately, this assumption
is even embedded in the interface between GlobalHandler and Utils/ELF
routines, which use ELF64LE types.
To fix this, I've refactored the interface to use generic types, in
particular by using (a unique_ptr to) ObjectFile instead of
ELF64LEObjectFile, and ELFSymbolRef instead of ELF64LE::Sym.
This allows properly templating over multiple ELF format variants inside
Utils/ELF; specifically, this patch adds support for 64-bit big-endian
ELF files in addition to 64-bit little-endian files.
Commit: b43965adacfafc4dc6b5ec17b4bea839372b7626
https://github.com/llvm/llvm-project/commit/b43965adacfafc4dc6b5ec17b4bea839372b7626
Author: Michael Flanders <mkf727 at cs.washington.edu>
Date: 2024-03-15 (Fri, 15 Mar 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/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/__support/UInt.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nanf128.cpp
A libc/src/math/nanf128.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/nanf128_test.cpp
Log Message:
-----------
[libc][math][c23] adds `nanf128` (#85201)
Continuing #84689, this one required more changes than the others, so I
am making it a separate PR.
Extends some stuff in `str_to_float.h`, `str_to_integer.h` to work on
types wider than `unsigned long long` and `uint64_t`.
cc @lntue for review.
Commit: 0360f3218a13666123849f6699216bdbebe64833
https://github.com/llvm/llvm-project/commit/0360f3218a13666123849f6699216bdbebe64833
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_heap_allocation.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
R compiler-rt/test/asan/TestCases/Windows/interface_symbols_windows.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
M compiler-rt/test/asan/TestCases/calloc-overflow.cpp
M compiler-rt/test/asan/TestCases/deep_stack_uaf.cpp
M compiler-rt/test/asan/TestCases/double-free.cpp
M compiler-rt/test/asan/TestCases/malloc-size-too-big.cpp
M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
M compiler-rt/test/asan/TestCases/use-after-free-right.cpp
M compiler-rt/test/asan/TestCases/use-after-free.cpp
Log Message:
-----------
[asan][windows] Make tests more flexable (#85274)
Contains test changes from
https://github.com/llvm/llvm-project/pull/81677 that are simple test
changes. For the most part just makes the tests allow more flexibility
in the callstacks produced by asan.
Note: this PR has the exact changes from
https://github.com/llvm/llvm-project/pull/81677 in addition to a revert
commit to remove the ones that require other things from that PR. This
will be squashed, ofc. I just left things unsquashed for reviewing
pleasure :).
This is a non-functional-change
Commit: b8db3e7c7dddaa14c314a05b92c9fa3df38734e4
https://github.com/llvm/llvm-project/commit/b8db3e7c7dddaa14c314a05b92c9fa3df38734e4
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV,test] Change two -munaligned-access to GCC-supported -mno-strict-align
Commit: cd071253c70b3b37a0b9d113709ca9d49a83007e
https://github.com/llvm/llvm-project/commit/cd071253c70b3b37a0b9d113709ca9d49a83007e
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
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/test/Driver/apple-kext-mkernel.c
M clang/test/Driver/loongarch-munaligned-access.c
M clang/test/Driver/munaligned-access-unused.c
M clang/test/Driver/riscv-features.c
Log Message:
-----------
[Driver] Don't alias -mstrict-align to -mno-unaligned-access
GCC ports only supports one of the options, with -mstrict-align
preferred by newer ports. They reject adding -m[no-]unaligned-access to
newer ports that use -m[no-]strict-align.
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111555).
We should not support aliases, either. Since the behavior has been
long-time for ARM (a146a48349c965932dcf304ffb8155b25307f245), support
both forms for ARM for now but remove -m[no-]unaligned-access for
RISC-V/LoongArch (see also
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/62).
While here, add TargetSpecific to ensure errors on unsupported targets
(https://reviews.llvm.org/D151590) and remove unneeded CC1 options.
Pull Request: https://github.com/llvm/llvm-project/pull/85350
Commit: b431546d41c4af1458d3c0706005665c9ab12e76
https://github.com/llvm/llvm-project/commit/b431546d41c4af1458d3c0706005665c9ab12e76
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/test/X86/reader-stale-yaml.test
Log Message:
-----------
[BOLT] Check BF state in stale matching (#85339)
Only apply stale matching if the binary function is in CFG state, i.e.
has basic blocks.
Test Plan:
Updated bolt/test/X86/reader-stale-yaml.test
Commit: d6722bcbd60af7d56a201cb6ff47097d98b03be9
https://github.com/llvm/llvm-project/commit/d6722bcbd60af7d56a201cb6ff47097d98b03be9
Author: Petr Hosek <phosek at google.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/include/llvm-libc-macros/stdio-macros.h
Log Message:
-----------
[libc] Move EOF macro to stdio-macros.h (#85159)
libc++ char_traits.h assumes EOF is always available
See #85158 for more details.
Commit: 500e05f5a29e8a8008f849788b385cfb0c72e3ef
https://github.com/llvm/llvm-project/commit/500e05f5a29e8a8008f849788b385cfb0c72e3ef
Author: Petr Hosek <phosek at google.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libc/config/baremetal/api.td
Log Message:
-----------
[libc] Match stdlib.h baremetal entrypoints with types (#85030)
To match the entrypoints and types for baremetal, we need to include
__qsortrcompare_t and omit __atexithandler_t.
Commit: d717e7f7be279c638faa696f16e1d860ef3cf9ed
https://github.com/llvm/llvm-project/commit/d717e7f7be279c638faa696f16e1d860ef3cf9ed
Author: Petr Hosek <phosek at google.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libc/config/baremetal/api.td
Log Message:
-----------
[libc] Include double_t and float_t in math.h on baremetal (#85028)
This matches other targets.
Commit: c9062e8f786864f86d330babce78a1926cc5b072
https://github.com/llvm/llvm-project/commit/c9062e8f786864f86d330babce78a1926cc5b072
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/aarch64/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/ppc64/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/ppc64le/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/s390x/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/x86_64/CMakeLists.txt
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
M openmp/libomptarget/test/jit/empty_kernel_lvl1.c
M openmp/libomptarget/test/jit/empty_kernel_lvl2.c
M openmp/libomptarget/test/jit/type_punning.c
M openmp/libomptarget/test/mapping/auto_zero_copy.cpp
M openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
M openmp/libomptarget/test/offloading/barrier_fence.c
M openmp/libomptarget/test/offloading/bug49334.cpp
M openmp/libomptarget/test/offloading/default_thread_limit.c
M openmp/libomptarget/test/offloading/ompx_bare.c
M openmp/libomptarget/test/offloading/ompx_coords.c
M openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
M openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
M openmp/libomptarget/test/offloading/small_trip_count.c
M openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
M openmp/libomptarget/test/offloading/spmdization.c
M openmp/libomptarget/test/offloading/target_critical_region.cpp
M openmp/libomptarget/test/offloading/thread_limit.c
M openmp/libomptarget/test/ompt/target_memcpy.c
M openmp/libomptarget/test/ompt/target_memcpy_emi.c
M openmp/libomptarget/test/ompt/veccopy.c
M openmp/libomptarget/test/ompt/veccopy_data.c
M openmp/libomptarget/test/ompt/veccopy_disallow_both.c
M openmp/libomptarget/test/ompt/veccopy_emi.c
M openmp/libomptarget/test/ompt/veccopy_emi_map.c
M openmp/libomptarget/test/ompt/veccopy_map.c
Log Message:
-----------
Reapply [libomptarget] Build plugins-nextgen for SystemZ (#83978)
The plugin was not getting built as the build_generic_elf64 macro
assumes the LLVM triple processor name matches the CMake processor name,
which is unfortunately not the case for SystemZ.
Fix this by providing two separate arguments instead.
Actually building the plugin exposed a number of other issues causing
various test failures. Specifically, I've had to add the SystemZ target
to
- CompilerInvocation::ParseLangArgs
- linkDevice in ClangLinuxWrapper.cpp
- OMPContext::OMPContext (to set the device_kind_cpu trait)
- LIBOMPTARGET_ALL_TARGETS in libomptarget/CMakeLists.txt
- a check_plugin_target call in libomptarget/src/CMakeLists.txt
Finally, I've had to set a number of test cases to UNSUPPORTED on
s390x-ibm-linux-gnu; all these tests were already marked as UNSUPPORTED
for x86_64-pc-linux-gnu and aarch64-unknown-linux-gnu and are failing on
s390x for what seem to be the same reason.
In addition, this also requires support for BE ELF files in
plugins-nextgen: https://github.com/llvm/llvm-project/pull/85246
Commit: 1b0072734ffb1297070ea37ad49c374f32b1d94d
https://github.com/llvm/llvm-project/commit/1b0072734ffb1297070ea37ad49c374f32b1d94d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[new-prs-labeler] Add "DXContainer" patterns to the backend:DirectX label (#85446)
This should make sure PRs like #84409 get labelled.
Commit: 89b7b3b9952210fbd9bd0db95385bfed69ffc7a3
https://github.com/llvm/llvm-project/commit/89b7b3b9952210fbd9bd0db95385bfed69ffc7a3
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/Generic/ForceStackAlign.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
Log Message:
-----------
[NVPTX] support dynamic allocas with PTX alloca instruction (#84585)
Add support for dynamically sized alloca instructions with the PTX
alloca instruction introduced in PTX 7.3
([9.7.15.3. Stack Manipulation Instructions: alloca]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#stack-manipulation-instructions-alloca))
Commit: 0e21672d996282973d9a7aca675a7f9510ba4bb8
https://github.com/llvm/llvm-project/commit/0e21672d996282973d9a7aca675a7f9510ba4bb8
Author: Felipe Cabarcas <110852406+fel-cab at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M openmp/libomptarget/src/OpenMP/Mapping.cpp
Log Message:
-----------
Fixing LIBOMPTARGET_INFO message, for Copying data from device to host (#85444)
When running OpenMP offloading application with LIBOMPTARGET_INFO=-1,
the addresses of the Copying data from **device** to **host**, the
address are swap.
As an example, Currently the address would be
```
omptarget device 0 info: Mapping exists with HstPtrBegin=0x00007ffddaf0fb90, TgtPtrBegin=0x00007fb385404000, Size=8000, DynRefCount=0 (decremented, delayed deletion), HoldRefCount=0
omptarget device 0 info: Copying data from device to host, TgtPtr=0x00007ffddaf0fb90, HstPtr=0x00007fb385404000, Size=8000, Name=d
```
And it should be
```
omptarget device 0 info: Copying data from device to host, TgtPtr=0x00007fb385404000, HstPtr=0x00007ffddaf0fb90, Size=8000, Name=d
```
---------
Co-authored-by: fel-cab <fel-cab at github.com>
Commit: b7dd6012ebc06b6383cf1449058bf916da0eb4bc
https://github.com/llvm/llvm-project/commit/b7dd6012ebc06b6383cf1449058bf916da0eb4bc
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
Log Message:
-----------
[lldb] Show module name in progress update for downloading symbols (#85342)
Currently, we always show the argument passed to dsymForUUID in the
corresponding progress update. Most of the time this is a UUID, but it
can also be an absolute path. The former is pretty uninformative and the
latter needlessly noisy.
This changes the progress update to print the UUID and the module name,
if both are available. Otherwise, we print the UUID or the module name
depending on which one is available.
We now also unconditionally pass the module file spec and architecture
to DownloadObjectAndSymbolFile, while previously this was conditional on
the file existing on-disk. This should be harmless:
- We already check that the file exists in DownloadObjectAndSymbolFile.
- It doesn't make sense to check the filesystem for the architecutre.
rdar://124643548
Commit: f75d164eeaf407b21ec6b2cff4bcc3ad2003af61
https://github.com/llvm/llvm-project/commit/f75d164eeaf407b21ec6b2cff4bcc3ad2003af61
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
Revert "[mlir][math] Implement alternative decomposition for tanh (#8… (#85429)
…5025)"
This reverts commit 58ef9bec071383744fb703ff08df9806f25e4095.
There is a bool to float casting issue that needs to be sorted out to
make sure this is target independent
Commit: e74bcecd36a59a9271c7d4133e73448a3def74c1
https://github.com/llvm/llvm-project/commit/e74bcecd36a59a9271c7d4133e73448a3def74c1
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/test/Dialect/Math/polynomial-approximation.mlir
Log Message:
-----------
[mlir][math] Propagate scalability in polynomial approximation (#84949)
This simply updates the rewrites to propagate the scalable flags (which
as they do not alter the vector shape, is pretty simple).
The added tests are simply scalable versions of the existing vector
tests.
Commit: f0863a004e794b7cf90dd92869064e964400b52c
https://github.com/llvm/llvm-project/commit/f0863a004e794b7cf90dd92869064e964400b52c
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][LLVM] Fix bazel build (#85462)
Fix bazel build after #80251.
Commit: 8ff96eb100d4811120f3050e5bc75848ea83a938
https://github.com/llvm/llvm-project/commit/8ff96eb100d4811120f3050e5bc75848ea83a938
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/stdc.td
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nextdown.cpp
A libc/src/math/generic/nextdownf.cpp
A libc/src/math/generic/nextdownf128.cpp
A libc/src/math/generic/nextup.cpp
A libc/src/math/generic/nextupf.cpp
A libc/src/math/generic/nextupf128.cpp
A libc/src/math/nextdown.h
A libc/src/math/nextdownf.h
A libc/src/math/nextdownf128.h
A libc/src/math/nextup.h
A libc/src/math/nextupf.h
A libc/src/math/nextupf128.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/NextDownTest.h
A libc/test/src/math/smoke/NextUpTest.h
A libc/test/src/math/smoke/nextdown_test.cpp
A libc/test/src/math/smoke/nextdownf128_test.cpp
A libc/test/src/math/smoke/nextdownf_test.cpp
A libc/test/src/math/smoke/nextup_test.cpp
A libc/test/src/math/smoke/nextupf128_test.cpp
A libc/test/src/math/smoke/nextupf_test.cpp
Log Message:
-----------
[libc][math][c23] Add nextup{,f,f128} and nextdown{,f,f128} functions (#85431)
See https://github.com/llvm/llvm-project/issues/85283.
I had a test for `nextdownl` that was failing and I thought I should add
`nextupl` and `nextdownl` later and first make a PR for the other
functions.
cc @lntue
Commit: a4610c7182d35093e9e0fde5be91659a8b9da5b8
https://github.com/llvm/llvm-project/commit/a4610c7182d35093e9e0fde5be91659a8b9da5b8
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-debug-names.test
M bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-df-debug-names.test
M bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
M bolt/test/X86/dwarf5-df-one-cu-debug-names.test
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
M bolt/test/X86/dwarf5-one-cu-debug-names.test
M bolt/test/X86/dwarf5-types-debug-names.test
M bolt/test/X86/dwarf5-types-one-cu-debug-names.test
Log Message:
-----------
[BOLT][DWARF] Add support for DW_IDX_parent (#85285)
This adds support for DW_IDX_parent. If DIE has a parent then
DW_IDX_parent in Entry will point to Entry for that parent DIE.
Otherwise it will have DW_FORM_flag_present in abbrev. Which takes zero
space in Entry.
This came from
https://discourse.llvm.org/t/rfc-improve-dwarf-5-debug-names-type-lookup-parsing-speed/74151
Commit: ca4c4a6758d184f209cb5d88ef42ecc011b11642
https://github.com/llvm/llvm-project/commit/ca4c4a6758d184f209cb5d88ef42ecc011b11642
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/Sema/nullability.c
M clang/test/SemaCXX/nullability.cpp
Log Message:
-----------
Revert "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"
This reverts commit 92a09c0165b87032e1bd05020a78ed845cf35661.
This is triggering a bunch of new -Wnullability-completeness warnings
in code with existing raw pointer nullability annotations.
The intent was the new nullability locations wouldn't affect those
warnings, so this is a bug at least for now.
Commit: 5e21fa23bb242d6e0575c1ca630e4d293413aed6
https://github.com/llvm/llvm-project/commit/5e21fa23bb242d6e0575c1ca630e4d293413aed6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/runtime/edit-output.cpp
Log Message:
-----------
[flang][runtime] Fix off-by-one error in EX0.0 output editing (#85428)
The maximum number of significant hexadecimal digits in EX0.0 REAL
output editing is 29, not 28. Fix by computing it at build time from the
precision of REAL(16).
Commit: 60fa2b0670b874b702ddb9f81d098af692ea6875
https://github.com/llvm/llvm-project/commit/60fa2b0670b874b702ddb9f81d098af692ea6875
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/misc-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Parser/cuf-sanity-tree.CUF
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang] Parse !$CUF KERNEL DO <<< (*) (#85338)
Accept and represent asterisks within the parenthesized grid and block
specification lists.
Commit: 0481f049c37029d829dbc0c0cc5d1ee71c6d1c9a
https://github.com/llvm/llvm-project/commit/0481f049c37029d829dbc0c0cc5d1ee71c6d1c9a
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
A clang/docs/PointerAuthentication.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticGroups.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/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/module.modulemap
A clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/Preprocessor/ptrauth_feature.c
A clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/Sema/ptrauth.c
M llvm/docs/PointerAuth.md
Log Message:
-----------
[AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (#65996)
This defines the basic set of pointer authentication clang builtins
(provided in a new header, ptrauth.h), with diagnostics and IRGen
support. The availability of the builtins is gated on a new flag,
`-fptrauth-intrinsics`.
Note that this only includes the basic intrinsics, and notably excludes
`ptrauth_sign_constant`, `ptrauth_type_discriminator`, and
`ptrauth_string_discriminator`, which need extra logic to be fully
supported.
This also introduces clang/docs/PointerAuthentication.rst, which
describes the ptrauth model in general, in addition to these builtins.
Co-Authored-By: Akira Hatanaka <ahatanaka at apple.com>
Co-Authored-By: John McCall <rjmccall at apple.com>
Commit: 71e0261fb0c6c382f68eedddf6bbcf637e6709f2
https://github.com/llvm/llvm-project/commit/71e0261fb0c6c382f68eedddf6bbcf637e6709f2
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
A flang/include/flang/Common/optional.h
M flang/include/flang/Runtime/type-code.h
M flang/runtime/connection.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/extrema.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.h
M flang/runtime/io-api.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/misc-intrinsic.cpp
M flang/runtime/namelist.cpp
M flang/runtime/random-templates.h
M flang/runtime/random.cpp
M flang/runtime/tools.h
M flang/runtime/type-code.cpp
M flang/runtime/type-info.cpp
M flang/runtime/type-info.h
M flang/runtime/unit-map.cpp
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
Log Message:
-----------
[flang][runtime] Added Fortran::common::optional for use on device.
This is a simplified implementation of std::optional that can be used
in the offload builds for the device code. The methods are properly
marked with RT_API_ATTRS so that the device compilation succedes.
Reviewers: klausler, jeanPerier
Reviewed By: jeanPerier
Pull Request: https://github.com/llvm/llvm-project/pull/85177
Commit: 888c12f4aa3a060739981a5dab3bfef3b341dd87
https://github.com/llvm/llvm-project/commit/888c12f4aa3a060739981a5dab3bfef3b341dd87
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-debug-names.test
M bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-df-debug-names.test
M bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
M bolt/test/X86/dwarf5-df-one-cu-debug-names.test
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
M bolt/test/X86/dwarf5-one-cu-debug-names.test
M bolt/test/X86/dwarf5-types-debug-names.test
M bolt/test/X86/dwarf5-types-one-cu-debug-names.test
M bolt/test/X86/reader-stale-yaml.test
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang/docs/LanguageExtensions.rst
A clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/DiagnosticGroups.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/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Program.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChain.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/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/module.modulemap
A clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/c23.c
M clang/test/AST/Interp/complex.c
M clang/test/AST/Interp/complex.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/cxx98.cpp
M clang/test/AST/Interp/if.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/Interp/ms.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/Analysis/loop-unrolling.cpp
M clang/test/CodeGen/builtins-arm64.c
A clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/Driver/apple-kext-mkernel.c
M clang/test/Driver/clang-g-opts.c
M clang/test/Driver/loongarch-munaligned-access.c
M clang/test/Driver/munaligned-access-unused.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/tls-dialect.c
M clang/test/InstallAPI/basic.test
A clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/Preprocessor/bpf-predefined-macros.c
A clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/PR84368.cpp
M clang/test/Sema/builtins-arm64.c
A clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/Sema/ptrauth.c
M clang/test/SemaCXX/decomposed-condition.cpp
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_heap_allocation.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
R compiler-rt/test/asan/TestCases/Windows/interface_symbols_windows.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
M compiler-rt/test/asan/TestCases/calloc-overflow.cpp
M compiler-rt/test/asan/TestCases/deep_stack_uaf.cpp
M compiler-rt/test/asan/TestCases/double-free.cpp
M compiler-rt/test/asan/TestCases/malloc-size-too-big.cpp
M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
M compiler-rt/test/asan/TestCases/use-after-free-right.cpp
M compiler-rt/test/asan/TestCases/use-after-free.cpp
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
M compiler-rt/test/tsan/signal_errno.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio2022.py
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/list-debuggers/list-debuggers.test
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/ClauseT.h
A flang/lib/Lower/OpenMP/Clauses.cpp
A flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/misc-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_builtins.f90
M flang/runtime/edit-output.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/pointer.cpp
A flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/modulo.f90
A flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Parser/cuf-sanity-tree.CUF
A flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/cuf09.cuf
M flang/tools/f18/CMakeLists.txt
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/fullbuild_mode.rst
M libc/docs/math/index.rst
M libc/include/llvm-libc-macros/stdio-macros.h
M libc/spec/stdc.td
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/UInt.h
M libc/src/__support/blockstore.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nanf128.cpp
A libc/src/math/generic/nextdown.cpp
A libc/src/math/generic/nextdownf.cpp
A libc/src/math/generic/nextdownf128.cpp
A libc/src/math/generic/nextup.cpp
A libc/src/math/generic/nextupf.cpp
A libc/src/math/generic/nextupf128.cpp
A libc/src/math/nanf128.h
A libc/src/math/nextdown.h
A libc/src/math/nextdownf.h
A libc/src/math/nextdownf128.h
A libc/src/math/nextup.h
A libc/src/math/nextupf.h
A libc/src/math/nextupf128.h
M libc/src/stdlib/atexit.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/blockstore_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/NextDownTest.h
A libc/test/src/math/smoke/NextUpTest.h
A libc/test/src/math/smoke/nanf128_test.cpp
A libc/test/src/math/smoke/nextdown_test.cpp
A libc/test/src/math/smoke/nextdownf128_test.cpp
A libc/test/src/math/smoke/nextdownf_test.cpp
A libc/test/src/math/smoke/nextup_test.cpp
A libc/test/src/math/smoke/nextupf128_test.cpp
A libc/test/src/math/smoke/nextupf_test.cpp
M libclc/CMakeLists.txt
M libclc/generic/lib/gen_convert.py
M libcxx/docs/Modules.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__format/concepts.h
M libcxx/include/__functional/hash.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/conjunction.h
M libcxx/include/array
M libcxx/include/chrono
M libcxx/include/coroutine
M libcxx/include/experimental/memory
M libcxx/include/fstream
M libcxx/include/limits
M libcxx/include/optional
M libcxx/include/tuple
M libcxx/include/variant
M libcxx/include/vector
M libcxx/modules/CMakeLists.txt.in
A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.verify.cpp
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/run-buildbot-container
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/Options.td
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/incompatible-section-types2.s
M lld/test/ELF/linkerscript/custom-section-type.s
M lld/test/ELF/linkerscript/discard-section.s
A lld/test/ELF/unknown-section.test
M lldb/cmake/caches/Apple-lldb-Linux.cmake
A lldb/include/lldb/Host/Alarm.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/Alarm.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
A lldb/test/API/macosx/tbi-honored/Makefile
A lldb/test/API/macosx/tbi-honored/TestTBIHonored.py
A lldb/test/API/macosx/tbi-honored/main.c
A lldb/unittests/Host/AlarmTest.cpp
M lldb/unittests/Host/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/PointerAuth.md
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/UserGuides.rst
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVELFReader.cpp
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
M llvm/lib/Target/BPF/BPFInstrFormats.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXIL.td
A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVScheduleZb.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Bitcode/dbg-record-roundtrip.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-addo-zero.mir
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
A llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/overflow.ll
A llvm/test/CodeGen/AArch64/sme-machine-licm-vg.mir
M llvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll
M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
A llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
A llvm/test/CodeGen/AMDGPU/itofp.i128.ll
A llvm/test/CodeGen/AVR/bug-81911.ll
M llvm/test/CodeGen/BPF/addr-space-globals.ll
M llvm/test/CodeGen/BPF/addr-space-globals2.ll
A llvm/test/CodeGen/DirectX/any.ll
A llvm/test/CodeGen/DirectX/exp-vec.ll
A llvm/test/CodeGen/DirectX/exp.ll
A llvm/test/CodeGen/DirectX/lerp.ll
A llvm/test/CodeGen/DirectX/rcp.ll
A llvm/test/CodeGen/DirectX/rsqrt.ll
A llvm/test/CodeGen/DirectX/rsqrt_error.ll
M llvm/test/CodeGen/Generic/ForceStackAlign.ll
A llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
A llvm/test/CodeGen/NVPTX/common-linkage.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/weak-global.ll
A llvm/test/CodeGen/PowerPC/aix-codemodel-attr.ll
M llvm/test/CodeGen/PowerPC/ctrloop-constrained-fp.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-load.ll
M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-store.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-args-rev.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-args.ll
A llvm/test/CodeGen/X86/asm-dialect-module.ll
M llvm/test/CodeGen/X86/bitcast-and-setcc-256.ll
M llvm/test/CodeGen/X86/combine-sra.ll
A llvm/test/CodeGen/X86/tls-desc.ll
A llvm/test/CodeGen/X86/vpdpwssd.ll
A llvm/test/DebugInfo/ARM/hardware-loop-phi-insertion.ll
M llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
M llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll
M llvm/test/Instrumentation/ThreadSanitizer/atomic.ll
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
R llvm/test/LTO/AArch64/link-sign-return-address.ll
M llvm/test/Linker/link-arm-and-thumb.ll
M llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
A llvm/test/MC/AMDGPU/mcexpr_amd.s
A llvm/test/MC/AMDGPU/mcexpr_amd_err.s
M llvm/test/MC/BPF/insn-unit.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
M llvm/test/TableGen/MacroFusion.td
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
A llvm/test/Transforms/InstCombine/extract-select-agg.ll
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/pr63791.ll
M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll
M llvm/test/Transforms/NewGVN/2007-07-25-DominatedLoop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-InfiniteLoop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-Loop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-NestedLoop.ll
M llvm/test/Transforms/NewGVN/2007-07-25-SinglePredecessor.ll
M llvm/test/Transforms/NewGVN/2007-07-26-NonRedundant.ll
M llvm/test/Transforms/NewGVN/2007-07-26-PhiErasure.ll
M llvm/test/Transforms/NewGVN/2007-07-30-PredIDom.ll
M llvm/test/Transforms/NewGVN/2007-07-31-RedundantPhi.ll
M llvm/test/Transforms/NewGVN/2008-02-13-NewPHI.ll
M llvm/test/Transforms/NewGVN/2008-07-02-Unreachable.ll
M llvm/test/Transforms/NewGVN/2008-12-09-SelfRemove.ll
M llvm/test/Transforms/NewGVN/2008-12-12-RLE-Crash.ll
M llvm/test/Transforms/NewGVN/2008-12-14-rle-reanalyze.ll
M llvm/test/Transforms/NewGVN/2008-12-15-CacheVisited.ll
M llvm/test/Transforms/NewGVN/2009-01-21-SortInvalidation.ll
M llvm/test/Transforms/NewGVN/2009-01-22-SortInvalidation.ll
M llvm/test/Transforms/NewGVN/2009-03-10-PREOnVoid.ll
M llvm/test/Transforms/NewGVN/2009-07-13-MemDepSortFail.ll
M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
M llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
M llvm/test/Transforms/NewGVN/2010-11-13-Simplify.ll
M llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
M llvm/test/Transforms/NewGVN/2011-07-07-MatchIntrinsicExtract.ll
M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
M llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
M llvm/test/Transforms/NewGVN/2016-08-30-MaskedScatterGather-xfail-inseltpoison.ll
M llvm/test/Transforms/NewGVN/MemdepMiscompile.ll
M llvm/test/Transforms/NewGVN/addrspacecast.ll
M llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
M llvm/test/Transforms/NewGVN/basic-undef-test.ll
M llvm/test/Transforms/NewGVN/br-identical.ll
M llvm/test/Transforms/NewGVN/calloc-load-removal.ll
M llvm/test/Transforms/NewGVN/calls-readonly.ll
M llvm/test/Transforms/NewGVN/completeness.ll
M llvm/test/Transforms/NewGVN/cond_br.ll
M llvm/test/Transforms/NewGVN/condprop.ll
M llvm/test/Transforms/NewGVN/crash-no-aa.ll
M llvm/test/Transforms/NewGVN/crash-usecounts.ll
M llvm/test/Transforms/NewGVN/crash.ll
M llvm/test/Transforms/NewGVN/cyclic-phi-handling.ll
M llvm/test/Transforms/NewGVN/dbg-redundant-load.ll
M llvm/test/Transforms/NewGVN/edge.ll
M llvm/test/Transforms/NewGVN/eliminate-callsite-inline.ll
M llvm/test/Transforms/NewGVN/equivalent-phi.ll
M llvm/test/Transforms/NewGVN/fold-const-expr.ll
M llvm/test/Transforms/NewGVN/fpmath.ll
M llvm/test/Transforms/NewGVN/funclet.ll
M llvm/test/Transforms/NewGVN/int_sideeffect.ll
M llvm/test/Transforms/NewGVN/invariant.group.ll
M llvm/test/Transforms/NewGVN/invariant.start.ll
M llvm/test/Transforms/NewGVN/lifetime-simple.ll
M llvm/test/Transforms/NewGVN/load-constant-mem.ll
M llvm/test/Transforms/NewGVN/load-from-unreachable-predecessor.ll
M llvm/test/Transforms/NewGVN/loadforward.ll
M llvm/test/Transforms/NewGVN/malloc-load-removal.ll
M llvm/test/Transforms/NewGVN/memory-handling.ll
M llvm/test/Transforms/NewGVN/metadata-nonnull.ll
M llvm/test/Transforms/NewGVN/metadata-simplify.ll
M llvm/test/Transforms/NewGVN/noalias.ll
M llvm/test/Transforms/NewGVN/nomemlocation.ll
M llvm/test/Transforms/NewGVN/non-integral-pointers.ll
M llvm/test/Transforms/NewGVN/null-aliases-nothing.ll
M llvm/test/Transforms/NewGVN/phi-edge-handling.ll
M llvm/test/Transforms/NewGVN/phi-of-ops-simplified-to-existing-value-then-changes-again.ll
M llvm/test/Transforms/NewGVN/phi-translate-partial-alias.ll
M llvm/test/Transforms/NewGVN/pr17732.ll
M llvm/test/Transforms/NewGVN/pr17852.ll
M llvm/test/Transforms/NewGVN/pr24397.ll
M llvm/test/Transforms/NewGVN/pr24426.ll
M llvm/test/Transforms/NewGVN/pr25440.ll
M llvm/test/Transforms/NewGVN/pr28562.ll
M llvm/test/Transforms/NewGVN/pr31472.ll
M llvm/test/Transforms/NewGVN/pr31483.ll
M llvm/test/Transforms/NewGVN/pr31491.ll
M llvm/test/Transforms/NewGVN/pr31501.ll
M llvm/test/Transforms/NewGVN/pr31573.ll
M llvm/test/Transforms/NewGVN/pr31594.ll
M llvm/test/Transforms/NewGVN/pr31613.ll
M llvm/test/Transforms/NewGVN/pr31682.ll
M llvm/test/Transforms/NewGVN/pr31758.ll
M llvm/test/Transforms/NewGVN/pr32607.ll
M llvm/test/Transforms/NewGVN/pr32836.ll
M llvm/test/Transforms/NewGVN/pr32838.ll
M llvm/test/Transforms/NewGVN/pr32845.ll
M llvm/test/Transforms/NewGVN/pr32852.ll
M llvm/test/Transforms/NewGVN/pr32897.ll
M llvm/test/Transforms/NewGVN/pr32934.ll
M llvm/test/Transforms/NewGVN/pr32945.ll
M llvm/test/Transforms/NewGVN/pr32952.ll
M llvm/test/Transforms/NewGVN/pr33014.ll
M llvm/test/Transforms/NewGVN/pr33086.ll
M llvm/test/Transforms/NewGVN/pr33116.ll
M llvm/test/Transforms/NewGVN/pr33187.ll
M llvm/test/Transforms/NewGVN/pr33196.ll
M llvm/test/Transforms/NewGVN/pr33204.ll
M llvm/test/Transforms/NewGVN/pr33305.ll
M llvm/test/Transforms/NewGVN/pr33367.ll
M llvm/test/Transforms/NewGVN/pr34452.ll
M llvm/test/Transforms/NewGVN/pr42422-phi-of-ops.ll
M llvm/test/Transforms/NewGVN/pr43441.ll
M llvm/test/Transforms/NewGVN/pre-compare.ll
M llvm/test/Transforms/NewGVN/preserve-metadata-for-predicate-replacements.ll
M llvm/test/Transforms/NewGVN/readattrs.ll
M llvm/test/Transforms/NewGVN/rle-nonlocal.ll
M llvm/test/Transforms/NewGVN/rle.ll
M llvm/test/Transforms/NewGVN/simp-to-self.ll
M llvm/test/Transforms/NewGVN/stale-loop-info.ll
M llvm/test/Transforms/NewGVN/tbaa.ll
M llvm/test/Transforms/NewGVN/unreachable_block_infinite_loop.ll
M llvm/test/Transforms/NewGVN/verify-memoryphi.ll
M llvm/test/Transforms/NewGVN/volatile-nonvolatile.ll
M llvm/test/Transforms/SCCP/add-nuw-nsw-flags.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-compare-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-print-basic-details.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-select-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/02-wasm-logical-lines.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/03-wasm-incorrect-lexical-scope-typedef.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/04-wasm-missing-nested-enumerators.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/05-wasm-incorrect-lexical-scope-variable.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/06-wasm-full-logical-view.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/definitions.h
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/hello-world-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/hello-world.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-43860-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-43860.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-46466-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-46466.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test-clang.s
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/README.txt
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
A llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
A llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
A llvm/test/tools/llvm-profgen/coff-profile.test
M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/MachOPlatformTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/include/mlir/Support/ToolUtilities.h
M mlir/include/mlir/Target/Cpp/CppEmitter.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
M mlir/lib/Support/ToolUtilities.cpp
M mlir/lib/Target/Cpp/CMakeLists.txt
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
A mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Target/Cpp/invalid.mlir
A mlir/test/Target/Cpp/subscript.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
A mlir/test/Transforms/buffer-results-to-out-params-add-result-attr.mlir
R mlir/test/mlir-opt/nearmiss.mlir
A mlir/test/mlir-opt/split-markers.mlir
A mlir/test/mlir-pdll/split-markers.pdll
A mlir/test/mlir-translate/split-markers.mlir
M mlir/tools/mlir-pdll/mlir-pdll.cpp
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/aarch64/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/ppc64/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/ppc64le/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/s390x/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/x86_64/CMakeLists.txt
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
M openmp/libomptarget/test/jit/empty_kernel_lvl1.c
M openmp/libomptarget/test/jit/empty_kernel_lvl2.c
M openmp/libomptarget/test/jit/type_punning.c
M openmp/libomptarget/test/mapping/auto_zero_copy.cpp
M openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
M openmp/libomptarget/test/offloading/barrier_fence.c
M openmp/libomptarget/test/offloading/bug49334.cpp
M openmp/libomptarget/test/offloading/default_thread_limit.c
M openmp/libomptarget/test/offloading/ompx_bare.c
M openmp/libomptarget/test/offloading/ompx_coords.c
M openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
M openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
M openmp/libomptarget/test/offloading/small_trip_count.c
M openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
M openmp/libomptarget/test/offloading/spmdization.c
M openmp/libomptarget/test/offloading/target_critical_region.cpp
M openmp/libomptarget/test/offloading/thread_limit.c
M openmp/libomptarget/test/ompt/target_memcpy.c
M openmp/libomptarget/test/ompt/target_memcpy_emi.c
M openmp/libomptarget/test/ompt/veccopy.c
M openmp/libomptarget/test/ompt/veccopy_data.c
M openmp/libomptarget/test/ompt/veccopy_disallow_both.c
M openmp/libomptarget/test/ompt/veccopy_emi.c
M openmp/libomptarget/test/ompt/veccopy_emi_map.c
M openmp/libomptarget/test/ompt/veccopy_map.c
M openmp/runtime/src/z_Linux_util.cpp
A utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/36bd4023272f...888c12f4aa3a
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