[all-commits] [llvm/llvm-project] 670c25: [DAG] Use DAGCombiner::SimplifyDemandedBits wrappe...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Thu Feb 8 04:20:29 PST 2024
Branch: refs/heads/users/fhahn/vplan-uniform-scalar-lanes
Home: https://github.com/llvm/llvm-project
Commit: 670c2529bb97f53a5b73e1eedb736ac6e070e1d9
https://github.com/llvm/llvm-project/commit/670c2529bb97f53a5b73e1eedb736ac6e070e1d9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Use DAGCombiner::SimplifyDemandedBits wrappers with default (all) DemandedElts. NFC.
Don't call TLI.SimplifyDemandedVectorElts directly from every SimplifyDemandedBits call, use the more expressive wrappers instead first.
This reduces the number of places we call TLI.SimplifyDemandedVectorElts and CommitTargetLoweringOpt to make it easier to track.
Part of the work to process DAG nodes in topological order.
Commit: c2a91d4a33af49cd77c6d6ec731ae25538f746b8
https://github.com/llvm/llvm-project/commit/c2a91d4a33af49cd77c6d6ec731ae25538f746b8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
Log Message:
-----------
[X86] combine-movmsk-avx.ll - add full AVX1/AVX2 VTEST/MOVMSK test coverage
Test all combos of avx1/avx2 and prefer-movmsk-over-vtest
Commit: 89ad31fd9356e2f999eb63fbac88d1338b8b3592
https://github.com/llvm/llvm-project/commit/89ad31fd9356e2f999eb63fbac88d1338b8b3592
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Assembler/DIDefaultTemplateParam.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Perform some pre-turn-on test maintenence (#80885)
As we'll hopefully move away from using intrinsics for debug-info
shortly, this commit stabilizes a few tests to avoid spurious changes in
the process. Briefly, there are differences in output when we don't use
intrinsics that we're going to suppress in case we have to revert, these
are:
* The attributor test gets different attributes for the dbg.value
intrinsic because it's not present during optimisation. This has no
functional effect and there's no need to test for it.
* The Scalarizer test exposes a "debug-info affects codegen" problem,
but fixing it is fiddly (updating 20 IRBuilder object calls). Pin this
test to not change with RemoveDIs, we can relax it later and get the
correct behaviour.
* DIDefaultTemplateParam.ll tests for explicit metadata node numbers
which is generally bad. Add explicit node-number capturing CHECK lines.
Commit: fb581adbdd2264b3ab28394b5e8539d4d2c05fbd
https://github.com/llvm/llvm-project/commit/fb581adbdd2264b3ab28394b5e8539d4d2c05fbd
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Transforms/SROA/select-gep.ll
Log Message:
-----------
[SROA] Add tests with gep of index select (NFC)
Commit: af6656c375b8aa9c9156575f7c0ac678a57070d5
https://github.com/llvm/llvm-project/commit/af6656c375b8aa9c9156575f7c0ac678a57070d5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix moveArrayTy byte offset
We need to account for the InitMapPtr here. This is NFC right now since
no test is affected by it.
Commit: df856e49773d0569741117cfd856818b7644ea85
https://github.com/llvm/llvm-project/commit/df856e49773d0569741117cfd856818b7644ea85
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
Log Message:
-----------
[SLP]Add GEP cost estimation for gathered loads.
When doing estimation for vectorization of gathered loads, need to
estimate the cost of the pointer (vectorization), as it is done for the
actual vectorized loads. Otherwise may be too optimistic about the cost
of the gathered loads.
Reviewers: preames
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/80867
Commit: 61c7a69fa0c020e92b1b10882d5d2957f3b8da21
https://github.com/llvm/llvm-project/commit/61c7a69fa0c020e92b1b10882d5d2957f3b8da21
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix sizeof of reference types
Commit: a97ff2d35af0a5c640c20abf4215c08e0e69aa41
https://github.com/llvm/llvm-project/commit/a97ff2d35af0a5c640c20abf4215c08e0e69aa41
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Add missing static_assert message
This breaks builders:
https://lab.llvm.org/buildbot/#/builders/139/builds/58960
Commit: d109f94f29e2bc2fc31c8870b1e41759f524fe77
https://github.com/llvm/llvm-project/commit/d109f94f29e2bc2fc31c8870b1e41759f524fe77
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
M llvm/test/DebugInfo/X86/debug_value_list_selectiondag.ll
M llvm/test/Transforms/IROutliner/legal-debug.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/debuginfo_add.ll
M llvm/test/Transforms/InstCombine/sink-instruction-introduces-unnecessary-poison-value.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Re-enable some test coverage
We disabled these extra-special RUNlines due to unexpected interactions
between the various things we've been fixing. Re-enable them (they'll run
on the llvm-new-debug-iterators buildbot) as they all now pass.
Commit: f37d81f8a3e1475f30bec63bfc0b703fc9509d7c
https://github.com/llvm/llvm-project/commit/f37d81f8a3e1475f30bec63bfc0b703fc9509d7c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstSimplify/cast-unsigned-icmp-cmp-0.ll
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Add a matching helper `m_ElementWiseBitCast`. NFC. (#80764)
This patch introduces a matching helper `m_ElementWiseBitCast`, which is
used for matching element-wise int <-> fp casts.
The motivation of this patch is to avoid duplicating checks in
https://github.com/llvm/llvm-project/pull/80740 and
https://github.com/llvm/llvm-project/pull/80414.
Commit: 6cb66ee5f8827040c5178fc2a479c138f4838eca
https://github.com/llvm/llvm-project/commit/6cb66ee5f8827040c5178fc2a479c138f4838eca
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[RemoveDIs][DebugInfo] Handle RAUW from dead constants (#80837)
Ensure that when a constant value dies, all ValueAsMetadata uses of that
constant in a DebugValueUser will be replaced with a PoisonValue instead
of a nullptr. This has little visible effect currently, as any nullptr metadata
uses in a DebugValueUser would be converted to an empty MDNode in
the end anyway, but this patch adds an assert that would be triggered by
two existing tests without the functional component of this patch:
llvm/test/Transforms/Inline/delete-function-with-metadata-use.ll
llvm/test/DebugInfo/X86/array2.ll
Commit: accbcb9578959b86cadc901a57ffa4a0c3f23ead
https://github.com/llvm/llvm-project/commit/accbcb9578959b86cadc901a57ffa4a0c3f23ead
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/prefix-symbols-remove.test
Log Message:
-----------
[llvm-objcopy][test] Use actual temporary file names in the test for --remove-symbol-prefix
Commit: b0c6fc81fe132f20eed38bd836620dfcb5ac17e9
https://github.com/llvm/llvm-project/commit/b0c6fc81fe132f20eed38bd836620dfcb5ac17e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/SemaCXX/cxx20-using-enum.cpp
Log Message:
-----------
[clang][Interp] Ignore UsingEnumDecls
We previously aborted compilation when seeing one of them. Ignore
them instead, they have no effect on the generated bytecode.
Commit: 7ab0a871431375cb966b0653b9f5caaba15cb6d9
https://github.com/llvm/llvm-project/commit/7ab0a871431375cb966b0653b9f5caaba15cb6d9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Try to freely invert phi nodes (#80804)
This patch tries to invert phi nodes if all incoming values are either
constants or nots.
Commit: 0aacd44a4698da012ee0704815123b28f2a06d0f
https://github.com/llvm/llvm-project/commit/0aacd44a4698da012ee0704815123b28f2a06d0f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Hoist DPValues in SpeculativeExecution (#80886)
This patch modifies `SpeculativeExecutionPass::considerHoistingFromTo`
to treat DPValues the same way that it treats debug intrinsics, which is
to hoist them iff all of their instruction operands within the FromBlock
are also being hoisted. This is probably not the ideal behaviour, which
would be to not hoist debug info at all in this case, but this patch
simply ensures that DPValue behaviour is consistent with debug intrinsic
behaviour rather than trying to create new functional changes.
Commit: de7beb06e7b3864feec165f84f02e24f6c18870a
https://github.com/llvm/llvm-project/commit/de7beb06e7b3864feec165f84f02e24f6c18870a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[DAG] ExpandShiftWithKnownAmountBit - reduce number of repeated getOpcode / getOperand calls. NFC.
Commit: 50d38cf934861205768de9e3cf32827e73764001
https://github.com/llvm/llvm-project/commit/50d38cf934861205768de9e3cf32827e73764001
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants.cpp - update comment to describe all the constant load ops performed by the pass
Commit: 4e58f03f298eb5c74877942c1c68911341c678bd
https://github.com/llvm/llvm-project/commit/4e58f03f298eb5c74877942c1c68911341c678bd
Author: Shourya Goel <114918019+Sh0g0-1758 at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/test/Frontend/verify.c
Log Message:
-----------
[Clang] Fix : More Detailed "No expected directives found" (#78338)
Updated the error message to use the proper prefix when
no expected directives are found by changing the hard coded expected in
the message to a dynamic value in two error messages.
Fixes #58290
Commit: c76b0eb898d1e5edc416b658a6902163d64db1ce
https://github.com/llvm/llvm-project/commit/c76b0eb898d1e5edc416b658a6902163d64db1ce
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
Revert "[RemoveDIs][DebugInfo] Hoist DPValues in SpeculativeExecution (#80886)"
Reverted due to buildbot failures resulting from failed compile due to a
missing brace error that got into the original commit.
This reverts commit 0aacd44a4698da012ee0704815123b28f2a06d0f.
Commit: 52bf531630d19e115d30b4ca46f1ef03b9a724c6
https://github.com/llvm/llvm-project/commit/52bf531630d19e115d30b4ca46f1ef03b9a724c6
Author: Sirraide <74590115+Sirraide at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang][Sema] Fix out-of-bounds access (#80978)
Trying to compile a C-style variadic member function with an explicit
object parameter was crashing in Sema because of an out-of-bounds
access.
This fixes #80971.
Commit: 5c84054223102b00cc0dd343a4023e3c6cba42b2
https://github.com/llvm/llvm-project/commit/5c84054223102b00cc0dd343a4023e3c6cba42b2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/OffloadingDesign.rst
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M llvm/include/llvm/Frontend/Offloading/OffloadWrapper.h
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[LinkerWrapper] Support relocatable linking for offloading (#80066)
Summary:
The standard GPU compilation process embeds each intermediate object
file into the host file at the `.llvm.offloading` section so it can be
linked later. We also use a special section called something like
`omp_offloading_entries` to store all the globals that need to be
registered by the runtime. The linker-wrapper's job is to link the
embedded device code stored at this section and then emit code to
register the linked image and the kernels and globals in the offloading
entry section.
One downside to RDC linking is that it can become quite big for very
large projects that wish to make use of static linking. This patch
changes the support for relocatable linking via `-r` to support a kind
of "partial" RDC compilation for offloading languages.
This primarily requires manually editing the embedded data in the
output object file for the relocatable link. We need to rename the
output section to make it distinct from the input sections that will be
merged. We then delete the old embedded object code so it won't be
linked further. We then need to rename the old offloading section so
that it is private to the module. A runtime solution could also be done
to defer entries that don't belong to the given GPU executable, but this
is easier. Note that this does not work with COFF linking, only the ELF
method for handling offloading entries, that could be made to work
similarly.
Given this support, the following compilation path should produce two
distinct images for OpenMP offloading.
```
$ clang foo.c -fopenmp --offload-arch=native -c
$ clang foo.c -lomptarget.devicertl --offload-link -r -o merged.o
$ clang main.c merged.o -fopenmp --offload-arch=native
$ ./a.out
```
Or similarly for HIP to effectively perform non-RDC mode compilation for
a subset of files.
```
$ clang -x hip foo.c --offload-arch=native --offload-new-driver -fgpu-rdc -c
$ clang -x hip foo.c -lomptarget.devicertl --offload-link -r -o merged.o
$ clang -x hip main.c merged.o --offload-arch=native --offload-new-driver -fgpu-rdc
$ ./a.out
```
One question is whether or not this should be the default behavior of
`-r` when run through the linker-wrapper or a special option. Standard
`-r` behavior is still possible if used without invoking the
linker-wrapper and it guaranteed to be correct.
Commit: 5d8a7318b2192ce8e396ec420f3f4d8f1a07cc10
https://github.com/llvm/llvm-project/commit/5d8a7318b2192ce8e396ec420f3f4d8f1a07cc10
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Support __builtin_eh_return_data_regno
Commit: 66d4fe97d8d46195672117797b663c21cf576f33
https://github.com/llvm/llvm-project/commit/66d4fe97d8d46195672117797b663c21cf576f33
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Final final test-maintenence patch (#80988)
This should be the final portion of shaping-up the test suite to be
ready for turning on non-intrinsic debug-info:
* Pin CostModel tests that expect to see intrinsics in their -debug
output to not use RemoveDIs. This is a spurious test output difference.
* Add 'tail' to a bunch of intrinsics in UpdateTestChecks. We're
cannonicalising intrinsics to be printed with "tail" in RemoveDI
conversion as dbg.values usually pick that up while being optimised.
This is another spurious output difference.
* The "DebugInfoDrop" pass used in the debugify unit-tests happens to
operate inside the pass manager, thus it sees non-intrinsic debug-info.
Update it to correctly drop it.
Commit: d42f3957cea0a8f45d5f3c11db229e2ea1e6d614
https://github.com/llvm/llvm-project/commit/d42f3957cea0a8f45d5f3c11db229e2ea1e6d614
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/test/AST/Interp/switch.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test to verify=expected,both style
Commit: 7718ac38a0c23597d7d02f0022eb89afe6d1b35f
https://github.com/llvm/llvm-project/commit/7718ac38a0c23597d7d02f0022eb89afe6d1b35f
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
Log Message:
-----------
[MLIR] NFC. Fix remaining clang-tidy warnings in AffineExpr.cpp (#80933)
NFC. Fix remaining clang-tidy warnings in AffineExpr.cpp.
Commit: d4a2c7f95297d1865a457955dcf7b679dabb5e0e
https://github.com/llvm/llvm-project/commit/d4a2c7f95297d1865a457955dcf7b679dabb5e0e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/SemaCXX/cxx1z-copy-omission.cpp
Log Message:
-----------
[clang][Interp] Fix record initialization from temporary in initlist
Commit: 7a71ac2b00cd6ec06c113f8813f085d5ed346ad9
https://github.com/llvm/llvm-project/commit/7a71ac2b00cd6ec06c113f8813f085d5ed346ad9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-fcmp.ll
A llvm/test/Transforms/InstCombine/canonicalize-fcmp-inf.ll
M llvm/test/Transforms/InstCombine/create-class-from-logic-fcmp.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
Log Message:
-----------
[InstCombine] Canonicalize fcmp with inf (#80986)
This patch canonicalizes floating-point comparisons with inf:
```
fcmp olt X, +inf -> fcmp one X, +inf
fcmp ole X, +inf -> fcmp ord X, 0
fcmp ogt X, +inf -> false
fcmp oge X, +inf -> fcmp oeq X, +inf
fcmp ult X, +inf -> fcmp une X, +inf
fcmp ule X, +inf -> true
fcmp ugt X, +inf -> fcmp uno X, 0
fcmp uge X, +inf -> fcmp ueq X, +inf
fcmp olt X, -inf -> false
fcmp ole X, -inf -> fcmp oeq X, -inf
fcmp ogt X, -inf -> fcmp one X, -inf
fcmp oge X, -inf -> fcmp ord X, 0
fcmp ult X, -inf -> fcmp uno X, 0
fcmp ule X, -inf -> fcmp ueq X, -inf
fcmp ugt X, -inf -> fcmp une X, -inf
fcmp uge X, -inf -> true
```
Alive2: https://alive2.llvm.org/ce/z/FRqqDg
The motivation of this patch is to fix the regression found in
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/199#discussion_r1480974120.
Commit: aeb58844dd6673417ebd7fb83f3acdf7282397fb
https://github.com/llvm/llvm-project/commit/aeb58844dd6673417ebd7fb83f3acdf7282397fb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/ThinLTO/X86/crash_debuginfo.ll
Log Message:
-----------
[RemoveDIs] Don't convert debug-info in bitcode-loading just now (#80865)
We've been building and testing this no-debug-intrinsic work inside of
the pass manager for a while, so that optimisation passes get exercised
and tested when we turn it on. However, by converting to the
non-intrinsic form in the bitcode loader, we accidentally caused all
parts of LLVM to potentially see non-intrinsic debug-info.
Seeing how we're trying to turn things on incrementally, it was a
mistake to go this far this fast: we can instead just focus on enabling
during optimisations for the moment, then all the other parts of LLVM
later.
Commit: c954986fec97ab22a9658b496731d0c280938a64
https://github.com/llvm/llvm-project/commit/c954986fec97ab22a9658b496731d0c280938a64
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
Log Message:
-----------
[GISel] Add support for scalable vectors in getGCDType (#80307)
This function can be called from buildCopyToRegs where at least one of
the types is a scalable vector type. This function crashed because it
did not know how to handle scalable vector types.
This patch extends the functionality of getGCDType to handle when at
least one of the types is a scalable vector. getGCDType between a fixed
and scalable vector is not implemented since the docstring of the
function explains that getGCDType is used to build MERGE/UNMERGE
instructions and we will never build a MERGE/UNMERGE between fixed and
scalable vectors.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 4d12292c2ac5caf93cd325a1516cbeacfc87b2e9
https://github.com/llvm/llvm-project/commit/4d12292c2ac5caf93cd325a1516cbeacfc87b2e9
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Clean up and share SOP Real instruction definitions (#80990)
The aim is to share definitions for all architectures that have the same
instruction (ignoring renaming) with the same opcode. Overall this saves
about 60 lines of tablegen.
Commit: 4f381afa09c2e60f48a65b10074f8b862a0b6738
https://github.com/llvm/llvm-project/commit/4f381afa09c2e60f48a65b10074f8b862a0b6738
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Add additional multi-use test for and/or replacement (NFC)
Commit: 934ba0d59e650644fe69462935982318b265ad2c
https://github.com/llvm/llvm-project/commit/934ba0d59e650644fe69462935982318b265ad2c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Handle missing cases in `visitFCmpInst`
Fiix buildbot failures.
Commit: 8c37e3e64bb1432f771ec4d191837e6b3be5bf0c
https://github.com/llvm/llvm-project/commit/8c37e3e64bb1432f771ec4d191837e6b3be5bf0c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_align_rvc.s
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_boundary.s
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s
Log Message:
-----------
[RISCV] Only set Zca flag for EF_RISCV_RVC in ELFObjectFileBase::getRISCVFeatures(). (#80928)
This code appears to be a hack to set the features to include compressed
instructions if the ELF EFLAGS flags bit is present, but the ELF
attribute for the ISA string is no present or not accurate.
We can't remove the hack because llvm-mc doesn't create ELF attributes
by default so a lot of tests fail to disassembler properly. Using clang
as the assembler does set the attributes.
This patch changes the hack to only set Zca since that is the minimum
implied by the flag. Setting anything else potentially conflicts with
the ISA string containing Zcmp or Zcmt.
JITLink also needs to be updated to recognize Zca in addition to C.
Commit: 79fec2f8ba8ea0b0b1c2f13fb6355cb395e1d3af
https://github.com/llvm/llvm-project/commit/79fec2f8ba8ea0b0b1c2f13fb6355cb395e1d3af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
Log Message:
-----------
[AtomicExpand][RISCV] Call shouldExpandAtomicRMWInIR before widenPartwordAtomicRMW (#80947)
This gives the target a chance to keep an atomicrmw op that is smaller
than the minimum cmpxchg size. This is needed to support the Zabha
extension for RISC-V which provides i8/i16 atomicrmw operations, but
does not provide an i8/i16 cmpxchg or LR/SC instructions.
This moves the widening until after the target requests
LLSC/CmpXChg/MaskedIntrinsic expansion. Once we widen, we call
shouldExpandAtomicRMWInIR again to give the target another chance to
make a decision about the widened operation.
I considered making the targets return AtomicExpansionKind::Expand or a
new expansion kind for And/Or/Xor, but that required the targets to
special case And/Or/Xor which they weren't currently doing.
Commit: 7212b4ae09abe5ba0f9a6ea608ebb6dbfad48b73
https://github.com/llvm/llvm-project/commit/7212b4ae09abe5ba0f9a6ea608ebb6dbfad48b73
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[RemoveDIs] Remove unused debug-printing facility for DPMarkers
We originally thought that printing the DPMarker pointer after each
instruction was going to be useful, but it turns out it only serves to
generate spurious test output differences now. As it stands, the cannonical
way to debug RemoveDIs metadata is "dumpDbgValues".
Commit: 7e4ac8541dcc389ca8f0d11614e19ea7bae07af7
https://github.com/llvm/llvm-project/commit/7e4ac8541dcc389ca8f0d11614e19ea7bae07af7
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[Flang] Use specific symbol rather than generic symbol as procInterface to declare procedure pointer. (#80738)
Flang crashes when lowering the type of `p1` with the following code.
The problem is when it sets up the `procInterface`, it uses the generic
symbol `int`, not the specific `int`. This PR is to correct that.
```
INTERFACE Int
integer FUNCTION Int(arg)
integer :: arg
END FUNCTION
END INTERFACE
integer :: res
procedure(int), pointer :: p1
p1 => int
res = p1(4)
end
```
Commit: ab92f6274b7c3a4b4445d47017bc481aa919545f
https://github.com/llvm/llvm-project/commit/ab92f6274b7c3a4b4445d47017bc481aa919545f
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[workflows] Fix libclc CI tests (#80942)
This was broken by 1a6426067fb33a8a789978f6e229108787a041be.
Commit: 65bf93dd7b4cfe96b549fd8248455ba4869ba27c
https://github.com/llvm/llvm-project/commit/65bf93dd7b4cfe96b549fd8248455ba4869ba27c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Clean up bitwise folds without one-use check (#80587)
This patch removes some bitwise folds that fail to check the one-use
constraint on the operands.
See also the comments
https://github.com/llvm/llvm-project/pull/77231#issuecomment-1904090035.
Commit: bb531c9a0068a078c5bbe95298769b235aa1ad75
https://github.com/llvm/llvm-project/commit/bb531c9a0068a078c5bbe95298769b235aa1ad75
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/tools/llc/NewPMDriver.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[NewPM/Codegen] Move MachineModuleInfo ownership outside of analysis (#80937)
With the legacy pass manager, MachineModuleInfoWrapperPass owned the
MachineModuleInfo used in the codegen pipeline. It can do this since
it's an ImmutablePass that doesn't get invalidated.
However, with the new pass manager, it is legal for the
ModuleAnalysisManager to clear all of its analyses, regardless of if the
analysis does not want to be invalidated. So we must move ownership of
the MachineModuleInfo outside of the analysis (this is similar to
PassInstrumentation). For now, make the PassBuilder user register a
MachineModuleAnalysis that returns a reference to a MachineModuleInfo
that the user owns. Perhaps we can find a better place to own the
MachineModuleInfo to make using the codegen pass manager less cumbersome
in the future.
Commit: 5a83bccb35d6b0e6914b52af6db067aa01dd3efb
https://github.com/llvm/llvm-project/commit/5a83bccb35d6b0e6914b52af6db067aa01dd3efb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/tls-models.ll
Log Message:
-----------
[X86] Fix lowering TLS under darwin large code model (#80907)
OpFlag and WrapperKind should be chosen consistently with each other in
regards to PIC, otherwise we hit asserts later on.
Broken by c04a05d8.
Fixes #80831.
Commit: eaab6abd79bf1a377bf034e1cf652a93d10b45fb
https://github.com/llvm/llvm-project/commit/eaab6abd79bf1a377bf034e1cf652a93d10b45fb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
A llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[llc] Respect --print-pipeline-passes when using -passes (#80940)
Commit: c1f7f4df01f48e771e501ea14fbef80a23c0e700
https://github.com/llvm/llvm-project/commit/c1f7f4df01f48e771e501ea14fbef80a23c0e700
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
R libc/src/__support/FPUtil/XFloat.h
Log Message:
-----------
[libc][NFC] Remove dead code (#81005)
Commit: e71a5f54d86be3ddf66d4a4e53d5083ef7f7a118
https://github.com/llvm/llvm-project/commit/e71a5f54d86be3ddf66d4a4e53d5083ef7f7a118
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
Log Message:
-----------
[NFC] Typo in Register.h
Commit: 34f61cfa6656acffc1a969a21c934c24ad0073c3
https://github.com/llvm/llvm-project/commit/34f61cfa6656acffc1a969a21c934c24ad0073c3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/mergefunc-preserve-debug-info.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Instrument MergeFunctions for DPValues (#80974)
The MergeFunctions pass has a "preserve some debug-info" mode that tries
to preserve parameter values. This patch generalises its decision-making
so that it applies to both debug-info stored in intrinsics, and
debug-info stored in DPValue objects. For the most part this involves
using a generic lambda and applying it to each type of object.
(Normally we avoid debug-info affecting the code generated, but this is
hidden behind a command line switch, so won't usually be encountered by
users).
Note that this diff is messy, but that's because I'm hoisting some code
into lambdas. The actual decision making processes here are identical.
Commit: e28ca2dd46c137fd33dd327aed1afb1e66a32908
https://github.com/llvm/llvm-project/commit/e28ca2dd46c137fd33dd327aed1afb1e66a32908
Author: Artem Tyurin <artem.tyurin at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Support C23 'b' (binary) modifier in printf (#80851)
Reference: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2612.pdf.
Fixes https://github.com/llvm/llvm-project/issues/80727.
Commit: bcc1635c7f8cf25c05ca9ef1f4995ad3e01ddda4
https://github.com/llvm/llvm-project/commit/bcc1635c7f8cf25c05ca9ef1f4995ad3e01ddda4
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/docs/math/index.rst
Log Message:
-----------
[libc] Enable float128 entrypoints on aarch64 and riscv64. (#80682)
Commit: 9eed89908cc906850ef9c6a97ed7a5642ecd6599
https://github.com/llvm/llvm-project/commit/9eed89908cc906850ef9c6a97ed7a5642ecd6599
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-import-fix.ll
Log Message:
-----------
[MemProf] Handle empty stack context during ThinLTO cloning (#81008)
Fix for assert after PR#78264.
Handle the case where the MIB context is empty after skipping the
callsite context, because the callsite context is actually longer than
the MIB context. Presumably this happened as a result of inlining, but
in theory the metadata should have been replaced with an attribute in
that case. Need to investigate why this is occuring, but for now handle
this gracefully to fix the build regression.
Commit: 7c16cb6b3361ff4217004d0cc43f158dea221620
https://github.com/llvm/llvm-project/commit/7c16cb6b3361ff4217004d0cc43f158dea221620
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir-opt][nfc] Remove dead function decls
This removes 3 dead function decls from mlir-opt:
- registerTestLowerToNVVM - recently removed in #75775 when NVVM was
productized.
- registerTestPreparationPassWithAllowedMemrefResults - removed in
D90778 (f7bc56826616).
- registerTestGenericIRVisitorsInterruptPass - added in D116230
(8067ced144a2) but never existed. Pass is registered by
registerTestGenericIRVisitorsPass.
Commit: b0b0bf6d579f26962ac29592feaacd54ae04b60d
https://github.com/llvm/llvm-project/commit/b0b0bf6d579f26962ac29592feaacd54ae04b60d
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Log Message:
-----------
WebAssemblyTargetMachine.cpp: fix a typo in a message (#80958)
Commit: 347ab99a5c6d096beb7378794c6255dca2a866e6
https://github.com/llvm/llvm-project/commit/347ab99a5c6d096beb7378794c6255dca2a866e6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/OffloadingDesign.rst
Log Message:
-----------
[Clang][Docs] Fix trailing whitespace warnings
Commit: 7880b2c8586eade00a4aa5ac11007317a61e376c
https://github.com/llvm/llvm-project/commit/7880b2c8586eade00a4aa5ac11007317a61e376c
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir] Add direct vectorization lowering for `tensor.pack` ops (#78660)
This PR adds a direct vectorization lowering of `tensor.pack` into
`mask(vector.transfer_read)`->`vector.shape_cast`->`vector.transpose`->`vector.transfer_write`.
Commit: 3115ad8980e7d36adca95b5449db8ebf9bd94bf2
https://github.com/llvm/llvm-project/commit/3115ad8980e7d36adca95b5449db8ebf9bd94bf2
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
Log Message:
-----------
[AMDGPU] Accept arbitrary sized sources in CalculateByteProvider (#70240)
Reland the original patch with additional commit containing fix for two
issues:
1. Attempting to bitcast using MVTs with no corresponding LLVM type.
getDWordFromOffset now works directly with the original vector to get
the corresponding elements given the DWordOffset.
2. Improper bit tracking in CalculateByteProvider for vector types using
certain ops. Previously, bit tracking for certain ops (e.g.
ISD::TRUNCATE) assumed operands were scalar types, which is not correct
since these ops have different semantics depending on vector / scalar.
CalculateByteProvider / CalculateSrcByte now exit on vector types,
handling which is a TODO.
Commit: b89eb9790a8962ca634965d05491a93c58773faf
https://github.com/llvm/llvm-project/commit/b89eb9790a8962ca634965d05491a93c58773faf
Author: Shourya Goel <114918019+Sh0g0-1758 at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/bug69085.c
Log Message:
-----------
[Clang][OpenMP] Fix `!isNull() && "Cannot retrieve a NULL type pointer"' fail. (#81015)
Fixes : #69085 , #69200
**PR SUMMARY**: "Added Null check for negative sized array and a test
for the same"
Commit: 9c75a981554d5de4b909e6493f2c3dda03395aa2
https://github.com/llvm/llvm-project/commit/9c75a981554d5de4b909e6493f2c3dda03395aa2
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/asm-01.ll
Log Message:
-----------
[SystemZ] Implement A, O and R inline assembly format flags (#80685)
Implement the following assembly format flags, which are already
supported by GCC:
'A': On z14 or higher: If operand is a mem print the alignment
hint usable with vl/vst prefixed by a comma.
'O': print only the displacement of a memory reference or address.
'R': print only the base register of a memory reference or address.
Implement 'A' conservatively, since the memory operand alignment
information is not available for INLINEASM at the moment.
Commit: 2ecf608829252d7d5b530a03b87817cd948a3386
https://github.com/llvm/llvm-project/commit/2ecf608829252d7d5b530a03b87817cd948a3386
Author: lonely eagle <2020382038 at qq.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir]Fix compose subview (#80551)
I found a bug in `test-compose-subview`,You can see the example I gave.
```
#map = affine_map<() -> ()>
module {
func.func private @fun(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%c0 = arith.constant 0 : index
%c5 = arith.constant 5 : index
%c1 = arith.constant 1 : index
%subview = memref.subview %arg0[0, 0] [5, 5] [1, 1] : memref<10x10xf32> to memref<5x5xf32, strided<[10, 1]>>
%alloc = memref.alloc() : memref<5x5xf32>
scf.for %arg2 = %c0 to %c5 step %c1 {
scf.for %arg3 = %c0 to %c5 step %c1 {
%subview_0 = memref.subview %subview[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32, strided<[10, 1]>> to memref<f32, strided<[], offset: ?>>
%subview_1 = memref.subview %arg1[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
%alloc_2 = memref.alloc() : memref<f32>
linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = []} ins(%subview_0, %subview_1 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_2 : memref<f32>) {
^bb0(%in: f32, %in_4: f32, %out: f32):
%0 = arith.addf %in, %in_4 : f32
linalg.yield %0 : f32
}
%subview_3 = memref.subview %alloc[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
memref.copy %alloc_2, %subview_3 : memref<f32> to memref<f32, strided<[], offset: ?>>
}
}
return %alloc : memref<5x5xf32>
}
func.func @test(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%0 = call @fun(%arg0, %arg1) : (memref<10x10xf32>, memref<5x5xf32>) -> memref<5x5xf32>
return %0 : memref<5x5xf32>
}
}
```
When I run `mlir-opt test.mlir ---test-compose-subview`.
```
test.mlir:14:9: error: 'linalg.generic' op expected operand rank (2) to match the result rank of indexing_map #0 (0)
linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = []} ins(%subview_0, %subview_1 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_2 : memref<f32>) {
^
test1.mlir:14:9: note: see current operation:
"linalg.generic"(%4, %5, %6) <{indexing_maps = [affine_map<() -> ()>, affine_map<() -> ()>, affine_map<() -> ()>], iterator_types = [], operandSegmentSizes = array<i32: 2, 1>}> ({
^bb0(%arg4: f32, %arg5: f32, %arg6: f32):
%8 = "arith.addf"(%arg4, %arg5) <{fastmath = #arith.fastmath<none>}> : (f32, f32) -> f32
"linalg.yield"(%8) : (f32) -> ()
}) : (memref<1x1xf32, strided<[10, 1], offset: ?>>, memref<f32, strided<[], offset: ?>>, memref<f32>) -> ()
```
This PR fixes that.In the meantime I've extended this PR to handle cases
where stride is greater than 1.
```
func.func private @Unknown0(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%c0 = arith.constant 0 : index
%c5 = arith.constant 5 : index
%c1 = arith.constant 1 : index
%subview = memref.subview %arg0[0, 0] [5, 5] [2, 2] : memref<10x10xf32> to memref<5x5xf32, strided<[20, 2]>>
%alloc = memref.alloc() : memref<5x5xf32>
scf.for %arg2 = %c0 to %c5 step %c1 {
scf.for %arg3 = %c0 to %c5 step %c1 {
%subview_0 = memref.subview %subview[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32, strided<[20, 2]>> to memref<f32, strided<[], offset: ?>>
%subview_1 = memref.subview %arg1[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
%alloc_2 = memref.alloc() : memref<f32>
linalg.generic {indexing_maps = [affine_map<() -> ()>, affine_map<() -> ()>, affine_map<() -> ()>], iterator_types = []} ins(%subview_0, %subview_1 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_2 : memref<f32>) {
^bb0(%in: f32, %in_4: f32, %out: f32):
%0 = arith.addf %in, %in_4 : f32
linalg.yield %0 : f32
}
%subview_3 = memref.subview %alloc[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
memref.copy %alloc_2, %subview_3 : memref<f32> to memref<f32, strided<[], offset: ?>>
}
}
return %alloc : memref<5x5xf32>
}
$ mlir-opt test.mlir -test-compose-subview
#map = affine_map<()[s0] -> (s0 * 2)>
#map1 = affine_map<() -> ()>
module {
func.func private @Unknown0(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%c0 = arith.constant 0 : index
%c5 = arith.constant 5 : index
%c1 = arith.constant 1 : index
%alloc = memref.alloc() : memref<5x5xf32>
scf.for %arg2 = %c0 to %c5 step %c1 {
scf.for %arg3 = %c0 to %c5 step %c1 {
%0 = affine.apply #map()[%arg2]
%1 = affine.apply #map()[%arg3]
%subview = memref.subview %arg0[%0, %1] [1, 1] [2, 2] : memref<10x10xf32> to memref<f32, strided<[], offset: ?>>
%subview_0 = memref.subview %arg1[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
%alloc_1 = memref.alloc() : memref<f32>
linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = []} ins(%subview, %subview_0 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_1 : memref<f32>) {
^bb0(%in: f32, %in_3: f32, %out: f32):
%2 = arith.addf %in, %in_3 : f32
linalg.yield %2 : f32
}
%subview_2 = memref.subview %alloc[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
memref.copy %alloc_1, %subview_2 : memref<f32> to memref<f32, strided<[], offset: ?>>
}
}
return %alloc : memref<5x5xf32>
}
}
```
Commit: 8b0f47bfa4b6aa1bafa10261444c93aba5a2d31d
https://github.com/llvm/llvm-project/commit/8b0f47bfa4b6aa1bafa10261444c93aba5a2d31d
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lld/test/wasm/build-id.test
M lld/test/wasm/merge-string-debug.s
M lld/test/wasm/startstop.ll
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/test/tools/llvm-objdump/wasm/executable-without-symbols-debugnames.test
M llvm/test/tools/llvm-objdump/wasm/executable-without-symbols.test
M llvm/test/tools/llvm-objdump/wasm/no-codesec.test
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[Object][Wasm] Use file offset for section addresses in linked wasm files (#80529)
Wasm has no unified virtual memory space as other object formats and
architectures do, so previously WasmObjectFile reported 0 for all
section addresses, and until 428cf71ff used section offsets for function
symbols. Now we use file offsets for function symbols, and this change
switches section addresses to do the same (in linked files). The main
result of this is that objdump now reports VMAs in section listings, and
also uses file offets rather than section offsets when disassembling
linked binaries (matching the behavior of other disassemblers and stack
traces produced by browwsers). To make this work, this PR also updates
objdump's generation of synthetics fallback symbols to match lib/Object
and also correctly plumbs symbol types for regular and dummy symbols
through to the backend to avoid needing special knowledge of address 0.
This also paves the way for generating symbols from name sections rather
than symbol tables or imports (see #76107) by allowing the
disassembler's synthetic fallback symbols match the name-section
generated symbols (in a followup PR).
Commit: caf537ea493a7583bbc369c6a692842819daee74
https://github.com/llvm/llvm-project/commit/caf537ea493a7583bbc369c6a692842819daee74
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
Reapply "[RemoveDIs][DebugInfo] Hoist DPValues in SpeculativeExecution (#80886)"
Reapply the original commit, 0aacd44, which had a missing brace resulting in
an error in compilation.
This reverts commit c76b0eb898d1e5edc416b658a6902163d64db1ce.
Commit: 9f6c00565a82fc375d415804d54da1113f719b17
https://github.com/llvm/llvm-project/commit/9f6c00565a82fc375d415804d54da1113f719b17
Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/VCIXDialect.h
A mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/IR/VCIXDialect.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/VCIX/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp
A mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
A mlir/test/Target/LLVMIR/vcix-rv32.mlir
A mlir/test/Target/LLVMIR/vcix-rv64.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
A mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][VCIX] Support VCIX intrinsics in LLVMIR dialect (#75875)
The changeset extends LLVMIR intrinsics with VCIX intrinsics.
The VCIX intrinsics allow MLIR users to interact with RISC-V
co-processors that are compatible with `XSfvcp` extension
Source:
https://www.sifive.com/document-file/sifive-vector-coprocessor-interface-vcix-software
Commit: 7a9b0e4acb3b5ee15f8eb138aad937cfa4763fb8
https://github.com/llvm/llvm-project/commit/7a9b0e4acb3b5ee15f8eb138aad937cfa4763fb8
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/test/tasking/bug_nested_proxy_task.c
M openmp/runtime/test/tasking/bug_proxy_task_dep_waiting.c
M openmp/runtime/test/tasking/hidden_helper_task/common.h
Log Message:
-----------
[OpenMP][test]Flip bit-fields in 'struct flags' for big-endian in test cases (#79895)
This patch flips bit-fields in `struct flags` for big-endian in test
cases to be consistent with the definition of the structure in libomp
`kmp.h`.
Commit: 369b82218419a0218400e7483255523b8dfd6cf0
https://github.com/llvm/llvm-project/commit/369b82218419a0218400e7483255523b8dfd6cf0
Author: Vijay Kandiah <vkandiah at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/tools/bbc/bbc.cpp
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Introducing a method to dynamically and conditionally register dialect interfaces. (#80881)
This change introduces the `addFIRExtensions` method to dynamically and
conditionally register dialect interfaces. As a use case of
`addFIRExtensions`, this change moves the static registration of
`FIRInlinerInterface` out of the constructor of `FIROpsDialect` to be
dynamically registered while loading the necessary MLIR dialects
required by Flang. This registration of `FIRInlinerInterface` is also
guarded by a boolean `addFIRInlinerInterface` which defaults to true.
---------
Co-authored-by: Vijay Kandiah <vkandiah at nvidia.com>
Commit: c95693c74601521463e12ff358fed6fb9ee736b9
https://github.com/llvm/llvm-project/commit/c95693c74601521463e12ff358fed6fb9ee736b9
Author: Pranav Kant <prka at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] Fix unused-variable warning (#81040)
This is only used in assert statement.
Commit: bb3ea6c810ccdffd176589e608bfa79dd25268ff
https://github.com/llvm/llvm-project/commit/bb3ea6c810ccdffd176589e608bfa79dd25268ff
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[MemProf] Switch to DenseMap for performance (NFC) (#81035)
Some profiling showed that the accesses to this map during bitcode
reading was incurring over 10% of the time in a large thin link. There
is no need for it to be std::map, and I measured around 8.5% time
reduction in the same thin link from switching to DenseMap.
Commit: b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab
https://github.com/llvm/llvm-project/commit/b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab
Author: Arnold Schwaighofer <aschwaighofer at apple.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
A llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
[Coro] [async] Disable inlining in async coroutine splitting (#80904)
The call to the inlining utility does not update the call graph. Leading
to assertion failures when calling the call graph utility to update the
call graph.
Instead rely on an inline pass to run after coro splitting and use
alwaysinline annotations.
github.com/apple/swift/issues/68708
Commit: d05bd34a1814f7b60265207b1b805572f79aca6d
https://github.com/llvm/llvm-project/commit/d05bd34a1814f7b60265207b1b805572f79aca6d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
Log Message:
-----------
[NFC][NewPM/Codegen] Remove unused parameter from verifyMachineFunction
The MachineFunctionAnalysisManager forward declaration is messing with upcoming changes.
Commit: 50ffc53e4708f3484939ef82e7b0309600a8e19f
https://github.com/llvm/llvm-project/commit/50ffc53e4708f3484939ef82e7b0309600a8e19f
Author: jimingham <jingham at apple.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
Log Message:
-----------
Don't search for separate debug files for mach-o object files (#81041)
mach-o object files never have separate debug info, and in a big app
there can be quite a large number of object files, so even a few stats
per object file can slow launches considerably.
This patch avoids this search for Mach-o symbol files of object type.
I don't have a way to test this, the only effect is that you didn't do a
bunch of stats that weren't going to do any good anyway.
Commit: 514686acfda66401869f9599954d731619c12c99
https://github.com/llvm/llvm-project/commit/514686acfda66401869f9599954d731619c12c99
Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
A llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
Log Message:
-----------
[RISCV] Add correct Uses, Defs, isReturn to Zcmp (#81039)
* they all do stack adjustments, so they all use and def x2.
* popret and popretz also return
* popretz also defines x10
This adds that to the TD file and updates the PushPopOptimizer to
preserve the extra implicit operands added during frame lowering when
converting to popret(z).
Commit: d6c2cbbc6513bd412b34f3bf70e21b5a363b2fd9
https://github.com/llvm/llvm-project/commit/d6c2cbbc6513bd412b34f3bf70e21b5a363b2fd9
Author: Yi Kong <yikong at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
Fix test failure if CLANG_VENDOR contains spaces (#81017)
Commit: ff8c865838b46d0202963b816fbed50aaf96a7f4
https://github.com/llvm/llvm-project/commit/ff8c865838b46d0202963b816fbed50aaf96a7f4
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fbasic-block-sections.c
Log Message:
-----------
[Driver] Allow -fbasic-block-sections for AArch64 ELF (#80916)
Basic block sections "all" doesn't work on AArch64 since branch
relaxation may create new basic blocks. However, the other basic
block section modes should work out of the box since machine function
splitting already uses the basic block sections pass.
Commit: 43badc0a9644d032fe0176410fabda6ac1fddf19
https://github.com/llvm/llvm-project/commit/43badc0a9644d032fe0176410fabda6ac1fddf19
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
Log Message:
-----------
[NewPM/CodeGen] Move MachineModuleInfo::invalidate() to MachineModuleAnalysis::Result
Missed in #80937 since it's not currently being used.
Commit: 78b9dd6b206a151fe09b56fcb157f38321b84340
https://github.com/llvm/llvm-project/commit/78b9dd6b206a151fe09b56fcb157f38321b84340
Author: quanwanandy <150498259+quanwanandy at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix Bazel build (#81064)
Commit: 4520b478d2512b0f39764e0464dcb4cb961845b5
https://github.com/llvm/llvm-project/commit/4520b478d2512b0f39764e0464dcb4cb961845b5
Author: YunQiang Su <syq at debian.org>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libunwind/CMakeLists.txt
Log Message:
-----------
MIPS/libunwind: Use -mfp64 if compiler is FPXX (#68521)
Libunwind supports FP64 and FP32 modes, but not FPXX. The reason is
that, FP64 and FP32 have different way to save/restore FPRs. If
libunwind is built as FPXX, we have no idea which one should we use.
It's not due to the code bug, but rather the nature of FPXX.
FPXX is an ABI which uses only a common subset of FR=1(FP64) and FR=0
(FP32).
So that FPXX binaries can link with both FP64 and FP32 ones, aka.
FPXX + FP32 -> FP32
FPXX + FP64 -> FP64
While for libunwind, we should save/restore all of FPRs. If we use FPXX,
we can only save/restore a common subset of FPRs, instead of superset.
If libunwind is built as FP64, it will interoperatable with FPXX/FP64
APPs, and if it is built as FP32, it will interoperatable with
FP32/FPXX. Currently most of O32 APPs are FPXX or FP64, while few are
FP32.
So if the compiler is FPXX, which is the default value of most
toolchain, let's switch it to FP64.
Co-authored-by: YunQiang Su <yunqiang.su at cipunited.com>
Commit: 0d7f232baf6103529844c8977324bd45b21ad923
https://github.com/llvm/llvm-project/commit/0d7f232baf6103529844c8977324bd45b21ad923
Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M openmp/libomptarget/include/OpenMP/OMPT/Interface.h
M openmp/libomptarget/src/LegacyAPI.cpp
M openmp/libomptarget/src/OpenMP/API.cpp
M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/test/ompt/callbacks.h
A openmp/libomptarget/test/ompt/target_memcpy.c
M openmp/libomptarget/test/ompt/veccopy.c
M openmp/libomptarget/test/ompt/veccopy_data.c
M openmp/libomptarget/test/ompt/veccopy_emi.c
Log Message:
-----------
[libomptarget] [OMPT] Fixed return address computation for OMPT events. (#80498)
Currently, __builtin_return_address is used to generate the return
address when the callback invoker is created. However, this may result
in the return address pointing to an internal runtime function. This is
not what a tool would typically want. A tool would want to know the
corresponding user code from where the runtime entry point is invoked.
This change adds a thread local variable that is assigned the return
address at the OpenMP runtime entry points. An RAII is used to manage
the modifications to the thread local variable. Whenever the return
address is required for OMPT events, it is read from the thread local
variable.
Commit: ece66dbc60971cf43a96f63e05c5a507feae3854
https://github.com/llvm/llvm-project/commit/ece66dbc60971cf43a96f63e05c5a507feae3854
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
Log Message:
-----------
[SelectionDAG] Add computeKnownBits support for ISD::STEP_VECTOR (#80452)
This handles two cases where we can work out some known-zero bits for
ISD::STEP_VECTOR.
The first case handles when we know the low bits are zero because the
step
amount is a power of two. This is taken from
https://reviews.llvm.org/D128159,
and even though the original patch didn't end up landing this case due
to it
not having any test difference, I've included it here for completeness's
sake.
The second case handles the case when we have an upper bound on
vscale_range.
We can use this to work out the upper bound on the number of elements,
and thus
what the maximum step will be. From the maximum step we then know which
hi bits
are zero.
On its own, computing the known hi bits results in some small
improvements for
RVV with -mrvv-vector-bits=zvl across the llvm-test-suite. However I'm
hoping
to be able to use this later to reduce the LMUL in index calculations
for
vrgather/indexed accesses.
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: 2df42fe0efd92a89ae191a598e2727c7b63de80b
https://github.com/llvm/llvm-project/commit/2df42fe0efd92a89ae191a598e2727c7b63de80b
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lldb/docs/lldb-gdb-remote.txt
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] [NFC] Remove min pkt size for compression setting (#81075)
debugserver will not compress small packets; the overhead of the
compression header makes this useful for larger packets. I default to
384 bytes in debugserver, and added an option for lldb to request a
different cutoff. This option has never been used in lldb in the past
nine years, so I don't think there's any point to keeping it around.
Commit: 7da1dda01eff708decbbb0b4cd52b2b95d89ea2a
https://github.com/llvm/llvm-project/commit/7da1dda01eff708decbbb0b4cd52b2b95d89ea2a
Author: David Green <david.green at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/arm64-fminv.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
Log Message:
-----------
[AArch64][GlobalISel] Update GISel check line and regenerate tests. NFC
Commit: 567d304e5344dfb408f2453390886fc229c09481
https://github.com/llvm/llvm-project/commit/567d304e5344dfb408f2453390886fc229c09481
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Replace hardcoded opcode numbering. (#81065)
This patch uses the recently introduced CodeGenTarget::getInstrIntValue
to replace hardcoded opcode enum value numbering in a few places.
Commit: 5c4a630ab70f98138d6f95d19712bb114d92323d
https://github.com/llvm/llvm-project/commit/5c4a630ab70f98138d6f95d19712bb114d92323d
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
Log Message:
-----------
[LLD][ELF] Silence warning when building with latest MSVC
This fixes:
```
[193/3517] Building CXX object
tools\lld\ELF\CMakeFiles\lldELF.dir\Arch\LoongArch.cpp.obj
C:\git\llvm-project\lld\ELF\Arch\LoongArch.cpp(683): warning C4334:
'<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit
shift intended?
```
Commit: d01864eb2f21d56cf432da7d80c505f510533c46
https://github.com/llvm/llvm-project/commit/d01864eb2f21d56cf432da7d80c505f510533c46
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
Log Message:
-----------
[TableGen] Remove map CodeGenTarget::InstrToIntMap. (#81079)
This patch removes CodeGenTarget::InstrToIntMap, using instead a new
member CodeGenInstruction::EnumVal to store each enum value. This value
is computed and set by CodeGenTarget::computeInstrsByEnum and queried by
CodeGenTarget::getInstrIntValue.
Commit: 05091aa3ac53a13d08c78882c0c2035e58a1b4c4
https://github.com/llvm/llvm-project/commit/05091aa3ac53a13d08c78882c0c2035e58a1b4c4
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[NFC][InstrProf]Generalize getParsedIRPGOFuncName to getParsedIRPGOName (#81054)
- Function getParsedIRPGOFuncName splits name by delimiter. The `[filename;]mangled-name` format could be generalized for non-function global values (e.g., vtables for type profiling). So rename the
function.
- Use kGlobalIdentifierDelimiter rather than semicolon directly for defragmentation.
Commit: d033799050b7bda70d80a933d5d99b7088a72a95
https://github.com/llvm/llvm-project/commit/d033799050b7bda70d80a933d5d99b7088a72a95
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add Leave to AlwaysBreakTemplateDeclarations (#80569)
Closes #78067.
Commit: 351f94d981f363909ae6e76ed57cd0a75c3f5688
https://github.com/llvm/llvm-project/commit/351f94d981f363909ae6e76ed57cd0a75c3f5688
Author: Rageking8 <106309953+Rageking8 at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][NFC] resolve redundant predicates (#79701)
Fixes #79686
Commit: 8f6e13e6da84510c8321717860fd506e12118514
https://github.com/llvm/llvm-project/commit/8f6e13e6da84510c8321717860fd506e12118514
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/test/Format/dump-config-objc-stdin.m
M clang/test/Format/verbose.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Fix a regression in dumping the config (#80628)
Commit d813af73f70f addressed a regression introduced by commit
3791b3fca6ea
but caused `clang-format -dump-config` to "hang".
This patch reverts changes to ClangFormat.cpp by both commits and
reworks the cleanup.
Fixes #80621.
Commit: c8ca98a2a9796797f2eab00cc6516610c133633a
https://github.com/llvm/llvm-project/commit/c8ca98a2a9796797f2eab00cc6516610c133633a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
Log Message:
-----------
[InstCombine] Handle IsInf/IsZero idioms (#80607)
This patch does the following folds:
```
icmp eq/ne (bitcast X to int), (bitcast +/-inf to int) -> llvm.is.fpclass(X, (~)fcPosInf/fcNegInf)
icmp eq/ne (bitcast X to int), (bitcast +0/-0 to int) -> llvm.is.fpclass(X, (~)fcPosZero/fcNegZero)
```
Alive2: https://alive2.llvm.org/ce/z/JJmEE9
Commit: e17dded8d712fb13c30fd88f7810edaa0ee3e60d
https://github.com/llvm/llvm-project/commit/e17dded8d712fb13c30fd88f7810edaa0ee3e60d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/create-class-from-logic-fcmp.ll
M llvm/test/Transforms/InstSimplify/logic-of-fcmps.ll
Log Message:
-----------
[InstSimplify] Generalize `simplifyAndOrOfFCmps` (#81027)
This patch generalizes `simplifyAndOrOfFCmps` to simplify patterns like:
```
define i1 @src(float %x, float %y) {
%or.cond.i = fcmp ord float %x, 0.000000e+00
%cmp.i.i34 = fcmp olt float %x, %y
%cmp.i2.sink.i = and i1 %or.cond.i, %cmp.i.i34
ret i1 %cmp.i2.sink.i
}
define i1 @tgt(float %x, float %y) {
%cmp.i.i34 = fcmp olt float %x, %y
ret i1 %cmp.i.i34
}
```
Alive2: https://alive2.llvm.org/ce/z/9rydcx
This patch and #80986 will fix the regression introduced by #80941.
See also the IR diff
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/199#discussion_r1480974120.
Commit: 9ff3b82948c90c54f2f6ec20798c529cb93fab3b
https://github.com/llvm/llvm-project/commit/9ff3b82948c90c54f2f6ec20798c529cb93fab3b
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
Log Message:
-----------
[AMDGPU] Revert Metadata Version Upgrade (#80995)
Metadata is still 1.2, not 1.3 after V6.
I thought that amdhsa.version mapped to the COV version but it's
separate, and there are no MD changes in V6, hence it doesn't need to be
updated.
Commit: a446c9bf69b4797da329977366ca62e55a429a90
https://github.com/llvm/llvm-project/commit/a446c9bf69b4797da329977366ca62e55a429a90
Author: martinboehme <mboehme at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Add support for `CXXRewrittenBinaryOperator`. (#81086)
This occurs in rewritten candidates for binary operators (a C++20
feature).
The patch modifies UncheckedOptionalAccessModelTest to run in C++20 mode
(as
well as C++17 mode, as before) and to use rewritten candidates. The
modified
test fails without the newly added support for
`CXXRewrittenBinaryOperator`.
Commit: a24b0c351a75a87410203dd3777c0d8ee87f65c1
https://github.com/llvm/llvm-project/commit/a24b0c351a75a87410203dd3777c0d8ee87f65c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
Log Message:
-----------
clang/AMDGPU: Regenerate test checks in hip header tests
Commit: decbd29f9e9be50756a083cd677f7fea22cd3c91
https://github.com/llvm/llvm-project/commit/decbd29f9e9be50756a083cd677f7fea22cd3c91
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
Reapply "InstCombine: Introduce SimplifyDemandedUseFPClass"" (#74056)
This reverts commit ef388334ee5a3584255b9ef5b3fefdb244fa3fd7.
The referenced issue violates the spec for finite-only math only by
using a return value for a constant infinity. If the interpretation
is results and arguments cannot violate nofpclass, then any
std::numeric_limits<T>::infinity() result is invalid under
-ffinite-math-only. Without this interpretation the utility of
nofpclass is slashed.
Commit: 35d6ae8110e082e9a4704416dfbe83d5a3b16ed1
https://github.com/llvm/llvm-project/commit/35d6ae8110e082e9a4704416dfbe83d5a3b16ed1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Handle multi-use in simplifyAndOrWithOpReplaced() (#81006)
Slightly generalize simplifyAndOrWithOpReplaced() by allowing it to
perform simplifications (without creating new instructions) in multi-use
cases. This way we can remove existing patterns without worrying about
multi-use edge cases.
I've opted to change the general way the implementation works to be more
similar to the standard simplifyWithOpReplaced(). We perform the operand
replacement generically, and then try to simplify the result or create a
new instruction if we're allowed to do so.
Commit: 7c0d52ca91d32e693ca245fb82f2402a34212fc3
https://github.com/llvm/llvm-project/commit/7c0d52ca91d32e693ca245fb82f2402a34212fc3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
Log Message:
-----------
[ValueTracking] Support dominating known bits condition in and/or (#74728)
This extends computeKnownBits() support for dominating conditions to
also handle and/or conditions. We'll look through either and or or
depending on which edge we're considering.
This change is mainly for the sake of completeness, so we don't start
missing optimizations if SimplifyCFG decides to merge some branches.
Commit: 7ec6e7351458924946e9afaadf9788cb233095b9
https://github.com/llvm/llvm-project/commit/7ec6e7351458924946e9afaadf9788cb233095b9
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
Log Message:
-----------
[DAG] Fix typos in comments; NFC
Commit: dd9511d3e46094ec15282bce6eba163fed2226a4
https://github.com/llvm/llvm-project/commit/dd9511d3e46094ec15282bce6eba163fed2226a4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test case to verify=expected,both style
Commit: ef05b4b520ee342db6a3d6c5607f8e8729246316
https://github.com/llvm/llvm-project/commit/ef05b4b520ee342db6a3d6c5607f8e8729246316
Author: David Green <david.green at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] More vscale tests. NFC
This time with i8 geps and scale intrinsics, along with mutiple vscale
intrinsics that can be treated as identical.
Commit: 9ac82f0d3ecf6c13669b0c7940920460c037a292
https://github.com/llvm/llvm-project/commit/9ac82f0d3ecf6c13669b0c7940920460c037a292
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M openmp/cmake/OpenMPTesting.cmake
Log Message:
-----------
[OpenMP] [cmake] In standalone mode, make Python3_EXECUTABLE available (#80828)
When running the tests, we try to invoke them as
"${Python3_EXECUTABLE} ${OPENMP_LLVM_LIT_EXECUTABLE}", but when running
"find_package(Python3)" within the function
"find_standalone_test_dependencies", the variable "Python3_EXECUTABLE"
only gets set within the function scope.
Tests have worked regardless of this in many cases, where executing the
python script directly succeeds. But for consistency, and for working in
cases when the python script can't be executed as such, make the
Python3_EXECUTABLE variable available as intended.
Commit: 49ee2ffc65b7660bfe84cd842e083d6c0ee3e991
https://github.com/llvm/llvm-project/commit/49ee2ffc65b7660bfe84cd842e083d6c0ee3e991
Author: Evgeniy <evgeniy.tyurin at intel.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
R llvm/test/CodeGen/X86/GlobalISel/br.ll
R llvm/test/CodeGen/X86/GlobalISel/brcond.ll
R llvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
R llvm/test/CodeGen/X86/fast-isel-cmp-branch3.ll
A llvm/test/CodeGen/X86/isel-br.ll
A llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
A llvm/test/CodeGen/X86/isel-brcond-icmp.ll
Log Message:
-----------
[X86][GlobalISel] Reorganize br/brcond tests (NFC) (#80204)
Removing duplicating tests under GlobalISel, consolidating to perform
checks with all three selectors.
Commit: b85fe40cb88a6b4f640c2b757bd0d254ff1d032c
https://github.com/llvm/llvm-project/commit/b85fe40cb88a6b4f640c2b757bd0d254ff1d032c
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/Inputs/std-c-library-functions-POSIX.h
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add missing stream related functions to StdLibraryFunctionsChecker. (#76979)
Some stream functions were recently added to `StreamChecker` that were
not modeled by `StdCLibraryFunctionsChecker`. To ensure consistency
these functions are added to the other checker too.
Some of the related tests are re-organized.
Commit: 8f2378d7fcf19ea00fbd3366c2125569ef084f93
https://github.com/llvm/llvm-project/commit/8f2378d7fcf19ea00fbd3366c2125569ef084f93
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][EmitC] Add builders for call_opaque op (#80879)
This allows to omit the default valued attributes and therefore write
more compact code.
Commit: 1a42b3804f0ed1c4958c4f17216543a1623e3452
https://github.com/llvm/llvm-project/commit/1a42b3804f0ed1c4958c4f17216543a1623e3452
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Erase ranges of instructions individually (#81007)
The BasicBlock::erase method simply removes a range of instructions from
the instlist by unlinking them. However, now that we're attaching
debug-info directly to instructions, some cleanup is required, so use
eraseFromParent on each instruction instead.
This is less efficient, but rare, and seemingly only WASM EH Prepare
uses this method of BasicBlock. Detected via a memory leak check in
asan.
(asan is always the final boss for whatever I do).
Commit: faa2f9658a0cd276f3415fad2676f8d90df51268
https://github.com/llvm/llvm-project/commit/faa2f9658a0cd276f3415fad2676f8d90df51268
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
A llvm/test/DebugInfo/X86/dont-drop-dbg-assigns-in-isels.ll
Log Message:
-----------
[DebugInfo] Handle dbg.assigns in FastISel (#80734)
There are some rare circumstances where dbg.assign intrinsics can reach
FastISel. They are a more specialised kind of dbg.value intrinsic with
more information about the originating alloca. They only occur during
optimisation, but might reach FastISel through always_inlining an
optimised function into an optnone function.
This is a slight problem as it's not safe (for debug-info accuracy) to
ignore any intrinsics, and for RemoveDIs (the intrinsic-replacement
project) it causes a crash through an unhandled switch case. To get
around this, we can just treat the dbg.assign as a dbg.value (it's an
actual subclass) and use the variable location information from the
dbg.value fields. This loses a small amount of debug-info about stack
locations, but is more accurate than just ignoring the intrinsic.
(This has popped up deep in an LTO build of a large codebase while
testing RemoveDIs, I figured it'd be good to fix it for the
intrinsic-form at the same time, just to demonstrate the correct
behaviour).
Commit: 878234b3202c9fe343cd59c71b50c4c4c5dc1b8c
https://github.com/llvm/llvm-project/commit/878234b3202c9fe343cd59c71b50c4c4c5dc1b8c
Author: David Green <david.green at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Scalable offset with scalable typesize. (#80818)
This patch adds a simple alias analysis check for accesses that are scalable
with a offset between them that is also trivially scalable (there are no other
constant/variable offsets). We essentially divide each side by vscale and are
left needing to check that the offset >= typesize.
Commit: 455c3966cd7305b40d6941b544a16c22120b4512
https://github.com/llvm/llvm-project/commit/455c3966cd7305b40d6941b544a16c22120b4512
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV][test] Add test coverage for RISCVInstrInfo::isCopyInstrImpl
Commit: d7fb94b6daa643a764e9a756bc544f26c248dafd
https://github.com/llvm/llvm-project/commit/d7fb94b6daa643a764e9a756bc544f26c248dafd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/ValueObjectSyntheticFilter.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb][TypeSynthetic][NFC] Make SyntheticChildrenFrontend::Update() return an enum (#80167)
This patch changes the return value of
`SyntheticChildrenFrontend::Update` to a scoped enum that aims to
describe what the return value means.
Commit: b35c5197629494cb675948fe33d2fdcd75b5aafa
https://github.com/llvm/llvm-project/commit/b35c5197629494cb675948fe33d2fdcd75b5aafa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] tryToFoldExtendOfConstant - share the same SDLoc argument instead of recreating it over and over again.
Commit: a643ab852a63a14dba86e031247734c5e3d5adb9
https://github.com/llvm/llvm-project/commit/a643ab852a63a14dba86e031247734c5e3d5adb9
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/codegenprepare/sunk-addr.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Final omnibus test fixing for RemoveDIs (#81125)
With this, I get a clean test suite running under RemoveDIs, the
non-intrinsic representation of debug-info, including under asan. We've
previously established that we generate identical binaries for some
large projects, so this i just edge-case cleanup. The changes:
* CodeGenPrepare fixups need to apply to dbg.assigns as well as
dbg.values (a dbg.assign is a dbg.value).
* Pin a test for constant-deletion to intrinsic debug-info: this very
rare scenario uses a different kill-location sigil in dbg.value mode to
RemoveDIs mode, which generates spurious test differences.
* Suppress a memory leak in a unit test: the code for dealing with
trailing debug-info in a block is necessarily fiddly, leading to this
leak when testing it. Developer-facing interfaces for moving
instructions around always deal with this behind the scenes.
* SROA, when replacing some vector-loads, needs to insert the
replacement loads ahead of any debug-info records so that their values
remain dominated by a definition. Set the head-bit indicating our
insertion should come before debug-info.
Commit: a166da58cb12bb822978044be74f7de4ebe01912
https://github.com/llvm/llvm-project/commit/a166da58cb12bb822978044be74f7de4ebe01912
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/OffloadingDesign.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Format/Format.h
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/switch.cpp
M clang/test/Analysis/Inputs/std-c-library-functions-POSIX.h
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
M clang/test/Driver/fbasic-block-sections.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Format/dump-config-objc-stdin.m
M clang/test/Format/verbose.cpp
M clang/test/Frontend/verify.c
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
A clang/test/OpenMP/bug69085.c
M clang/test/SemaCXX/cxx1z-copy-omission.cpp
M clang/test/SemaCXX/cxx20-using-enum.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/tools/bbc/bbc.cpp
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/tco.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/docs/math/index.rst
M libc/src/__support/FPUtil/CMakeLists.txt
R libc/src/__support/FPUtil/XFloat.h
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libunwind/CMakeLists.txt
M lld/ELF/Arch/LoongArch.cpp
M lld/test/wasm/build-id.test
M lld/test/wasm/merge-string-debug.s
M lld/test/wasm/startstop.ll
M lldb/docs/lldb-gdb-remote.txt
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/ValueObjectSyntheticFilter.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
M lldb/tools/debugserver/source/RNBRemote.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/Frontend/Offloading/OffloadWrapper.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/BasicAA/vscale.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Assembler/DIDefaultTemplateParam.ll
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/arm64-fminv.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
A llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
M llvm/test/CodeGen/SystemZ/asm-01.ll
R llvm/test/CodeGen/X86/GlobalISel/br.ll
R llvm/test/CodeGen/X86/GlobalISel/brcond.ll
M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
R llvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
R llvm/test/CodeGen/X86/fast-isel-cmp-branch3.ll
A llvm/test/CodeGen/X86/isel-br.ll
A llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
A llvm/test/CodeGen/X86/isel-brcond-icmp.ll
M llvm/test/CodeGen/X86/tls-models.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/codegenprepare/sunk-addr.ll
M llvm/test/DebugInfo/X86/debug_value_list_selectiondag.ll
A llvm/test/DebugInfo/X86/dont-drop-dbg-assigns-in-isels.ll
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_align_rvc.s
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_boundary.s
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s
M llvm/test/ThinLTO/X86/crash_debuginfo.ll
A llvm/test/ThinLTO/X86/memprof-import-fix.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
A llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
M llvm/test/Transforms/IROutliner/legal-debug.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
A llvm/test/Transforms/InstCombine/canonicalize-fcmp-inf.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/create-class-from-logic-fcmp.ll
M llvm/test/Transforms/InstCombine/debuginfo_add.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/sink-instruction-introduces-unnecessary-poison-value.ll
M llvm/test/Transforms/InstSimplify/cast-unsigned-icmp-cmp-0.ll
M llvm/test/Transforms/InstSimplify/logic-of-fcmps.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/MergeFunc/mergefunc-preserve-debug-info.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SROA/select-gep.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
A llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llvm-objcopy/ELF/prefix-symbols-remove.test
M llvm/test/tools/llvm-objdump/wasm/executable-without-symbols-debugnames.test
M llvm/test/tools/llvm-objdump/wasm/executable-without-symbols.test
M llvm/test/tools/llvm-objdump/wasm/no-codesec.test
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/VCIXDialect.h
A mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/IR/VCIXDialect.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/VCIX/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp
A mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
A mlir/test/Target/LLVMIR/vcix-rv32.mlir
A mlir/test/Target/LLVMIR/vcix-rv64.mlir
M mlir/test/Transforms/compose-subview.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
A mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M openmp/cmake/OpenMPTesting.cmake
M openmp/libomptarget/include/OpenMP/OMPT/Interface.h
M openmp/libomptarget/src/LegacyAPI.cpp
M openmp/libomptarget/src/OpenMP/API.cpp
M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/test/ompt/callbacks.h
A openmp/libomptarget/test/ompt/target_memcpy.c
M openmp/libomptarget/test/ompt/veccopy.c
M openmp/libomptarget/test/ompt/veccopy_data.c
M openmp/libomptarget/test/ompt/veccopy_emi.c
M openmp/runtime/src/kmp.h
M openmp/runtime/test/tasking/bug_nested_proxy_task.c
M openmp/runtime/test/tasking/bug_proxy_task_dep_waiting.c
M openmp/runtime/test/tasking/hidden_helper_task/common.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/fhahn/vplan-uniform-scalar-lanes
Compare: https://github.com/llvm/llvm-project/compare/53f293752add...a166da58cb12
More information about the All-commits
mailing list