[all-commits] [llvm/llvm-project] bce9da: [MLIR][XeGPU] Adding XeGPU 2d block operators (#84...
Chao Chen via All-commits
all-commits at lists.llvm.org
Mon Mar 25 14:43:10 PDT 2024
Branch: refs/heads/users/chencha3/xegpu_scatter_ops_upstream
Home: https://github.com/llvm/llvm-project
Commit: bce9dace38f6a02247a8879685c8bf17b78a4b5a
https://github.com/llvm/llvm-project/commit/bce9dace38f6a02247a8879685c8bf17b78a4b5a
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
A mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
[MLIR][XeGPU] Adding XeGPU 2d block operators (#84692)
This PR adds XeGPU 2D block operators. It contains:
1. `TensorDescType` and `TensorDescAttr` definitions
2. `MemoryScopeAttr` and `CacheHintAttr` definitions which are used by
`TensorDescAttr`.
3. `CreateNdDescOp`, `PrefetchNdOp`, `LoadNdOp`, and `StoreNdOp`
definitions, and their corresponding testcases for illustration.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: c70f140046cfce06d73021441a2edb9fad72f3f1
https://github.com/llvm/llvm-project/commit/c70f140046cfce06d73021441a2edb9fad72f3f1
Author: Bhuminjay Soni <Soni5Happy at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/warn-bitwise-and-bool.c
M clang/test/Sema/warn-bitwise-or-bool.c
Log Message:
-----------
fix unnecessary warning when using bitand with boolean operators (#81976)
This pull request fixes #77601 where using the `bitand` operator with
boolean operands should not trigger the warning, as it would indicate an
intentional use of bitwise AND rather than a typo or error.
Fixes #77601
Commit: 9ee82ce895c9b37d4233b2529aae1a463b0d1afa
https://github.com/llvm/llvm-project/commit/9ee82ce895c9b37d4233b2529aae1a463b0d1afa
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for daebe5c4f27ba140ac8d13abf41e3fe4db72b91a
Commit: 0633f5c8407fbb06cacb3b6b18da57f3f8150e18
https://github.com/llvm/llvm-project/commit/0633f5c8407fbb06cacb3b6b18da57f3f8150e18
Author: martinboehme <mboehme at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix `getResultObjectLocation()` on `CXXDefaultArgExpr`. (#85072)
This patch includes a test that causes an assertion failure without the
other
changes in this patch.
Commit: c13d8efa8b19830eb31dd5513b8d27985eea4f6e
https://github.com/llvm/llvm-project/commit/c13d8efa8b19830eb31dd5513b8d27985eea4f6e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/include/__type_traits/remove_reference.h
M libcxx/include/cwchar
M libcxx/include/execution
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Simplify the implementation of remove_reference (#85207)
GCC 13 introduced the type trait `__remove_reference`. We can simplify
the implementation of `remove_reference` a bit by using it.
Commit: 9bb0781c3ff395123f0608eb46bf2dea9049b403
https://github.com/llvm/llvm-project/commit/9bb0781c3ff395123f0608eb46bf2dea9049b403
Author: zicwangupa <87221359+ZiCong-Wang at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SelectionDAG] Add m_Neg and m_Not pattern matcher and update DAGCombiner (#85365)
Resolves #85065
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: f00e8629e72524991dfae572ed4f77a99c533d1b
https://github.com/llvm/llvm-project/commit/f00e8629e72524991dfae572ed4f77a99c533d1b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__iterator/reverse_iterator.h
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/not-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/assign.LWG3435.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.default.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.explicit.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.conv/base.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/arrow.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/bracket.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/dereference.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/decrement-assign.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/increment-assign.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/minus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/plus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postdecrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postincrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/predecrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/preincrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nonmember/minus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/types.compile.pass.cpp
Log Message:
-----------
[libc++] Remove __unconstrained_reverse_iterator (#85582)
`__unconstrained_reverse_iterator` has outlived its usefullness, since
the standard and subsequently the compilers have been fixed.
Commit: 9d22602f081ea05a8ddbac770ee8c5d021b60c71
https://github.com/llvm/llvm-project/commit/9d22602f081ea05a8ddbac770ee8c5d021b60c71
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262)
The clang-tidy selection in CMake was refactored in
https://github.com/llvm/llvm-project/pull/81362. During review it was
suggested to remove this CMake option.
Commit: b98c030043423a77b70dc5acd210bb38de2cd351
https://github.com/llvm/llvm-project/commit/b98c030043423a77b70dc5acd210bb38de2cd351
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Disable CFStringMakeConstantString test on AIX
It's not only the fist CFSTR call that's broken on AIX.
See https://github.com/llvm/llvm-project/commit/0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89#commitcomment-139910542
Commit: 5618a7a528dd977e753f5b6fc84dfc7041ba9c99
https://github.com/llvm/llvm-project/commit/5618a7a528dd977e753f5b6fc84dfc7041ba9c99
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/Interp/c.c
M clang/test/Sema/const-eval.c
A clang/test/Sema/constexpr-void-cast.c
Log Message:
-----------
[clang][ExprConst] Can't be past an invalid LValue designator (#84293)
For the test case in C, both `LV.getLValueOffset()` and
`Ctx.getTypeSizeInChars(Ty)` are zero, so we return `true` from
`isOnePastTheEndOfCompleteObject()` and ultimately diagnose this as
being one past the end, but the diagnostic doesn't make sense.
Commit: 9678f675a4eff24f0f95dbb16ac6c57a5bbe3967
https://github.com/llvm/llvm-project/commit/9678f675a4eff24f0f95dbb16ac6c57a5bbe3967
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[C API] Add accessors for function prefix and prologue data (#82193)
A test is added to echo.ll, and the echo.cpp part of llvm-c-test is
updated to clone a function's prefix and prologue.
Commit: 13d7a80cea5532572373f3e495ba7f3a3d093617
https://github.com/llvm/llvm-project/commit/13d7a80cea5532572373f3e495ba7f3a3d093617
Author: Miguel Raz Guzmán Macedo <miguelraz at ciencias.unam.mx>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/intrinsic-cmp.ll
Log Message:
-----------
[LangRef][IR] Add 3-way compare intrinsics llvm.scmp/llvm.ucmp (#83227)
This PR adds the `[us]cmp` intrinsics to the LangRef, `Intrinsics.td`
and some tests to the IRVerifier.
RFC: https://discourse.llvm.org/t/rfc-add-3-way-comparison-intrinsics/76685
Commit: 54ea7fae96eec89ee14c474f1fc99e80e55f2613
https://github.com/llvm/llvm-project/commit/54ea7fae96eec89ee14c474f1fc99e80e55f2613
Author: ykiko <ykikoykikoykiko at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
Log Message:
-----------
Add some missing Kinds to libclang python bindings (#85571)
Add some Kinds existing in Index.h but missing in cindex.py.
Commit: 404cfcf45ea6008248fa3a84fceb7eefc105743b
https://github.com/llvm/llvm-project/commit/404cfcf45ea6008248fa3a84fceb7eefc105743b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix unused variable error in builds with asserts enabled.
Commit: a5f29717c0fa900dbe3e361fa449b899440dfa18
https://github.com/llvm/llvm-project/commit/a5f29717c0fa900dbe3e361fa449b899440dfa18
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Support match unary and binary recipes in pattern matcher (NFC).
Generalize pattern matchers to take recipe types to match as template
arguments and use it to provide matchers for unary and binary recipes
with specific opcodes and a list of recipe types (VPWidenRecipe,
VPReplicateRecipe, VPWidenCastRecipe, VPInstruction)
The new matchers are used to simplify and generalize the code in
simplifyRecipes.
Commit: 3784fc55eacd3397e8049b0764a66374a2c48285
https://github.com/llvm/llvm-project/commit/3784fc55eacd3397e8049b0764a66374a2c48285
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Remove unneeded addr mode predicates on FLAT Real instructions (#85641)
These predicates should be copied from the corresponding Pseudo
instruction. Previously that did not work because of a problem with
setting the right predicates on the Pseudos, but #85442 fixed that.
Commit: 7327c4a11bfea4ffea9970835993b1e1f67ee0d8
https://github.com/llvm/llvm-project/commit/7327c4a11bfea4ffea9970835993b1e1f67ee0d8
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll
M llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll
Log Message:
-----------
[PowerPC] Update chain uses when emitting lxsizx (#84892)
Commit: 9e63358f8eea37e9e5a45ac05fed3ea068d9341d
https://github.com/llvm/llvm-project/commit/9e63358f8eea37e9e5a45ac05fed3ea068d9341d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/release/export.sh
Log Message:
-----------
[release] Fix version extraction in export.sh (#85328)
The LLVM_VERSION_* variables were moved to a new file in
81e20472a0c5a4a8edc5ec38dc345d580681af81.
Commit: 823bcde608e994081dc4a464b9274d91b1d2b879
https://github.com/llvm/llvm-project/commit/823bcde608e994081dc4a464b9274d91b1d2b879
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/Sema/constexpr-void-cast.c
Log Message:
-----------
[clang][test] Try to fix constexpr-void-cast test
The test currenlty fails:
https://lab.llvm.org/buildbot/#/builders/139/builds/61628
because it emits a C11 warning when compiling as C. Try to fix that
be defining the C standard to use.
Commit: 7bd21bcbf671f16f5622313b1f60cf89ee7e5a9d
https://github.com/llvm/llvm-project/commit/7bd21bcbf671f16f5622313b1f60cf89ee7e5a9d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/check_external_calls.sh
M libclc/cmake/CMakeLLAsmInformation.cmake
Log Message:
-----------
[libclc] Convert tabs to spaces in CMake (#85634)
Having a mix of tabs and spaces makes the diff of any changes to the
build system noisier than necessary. This commit unifies them to two
spaces.
This includes some minor cosmetic changes such as with joining things on
one line where appropriate.
There are other files in libclc which have tabs but those haven't been
touched at this time. Those could come at another time if desired,
though they might be more contentious as the project isn't
clang-formatted at all and so that might invite larger discussions
around formatting.
Commit: 391e5bc63092d4ed47a3e4e38944e7aea5cd82ce
https://github.com/llvm/llvm-project/commit/391e5bc63092d4ed47a3e4e38944e7aea5cd82ce
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/CodeGen/MachineFrameInfo.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/avoid-zero-copy.mir
M llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
M llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
M llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
M llvm/test/CodeGen/MIR/AMDGPU/stack-id-assert.mir
M llvm/test/CodeGen/Mips/avoid-zero-copy.mir
M llvm/test/CodeGen/Mips/msa/emergency-spill.mir
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
M llvm/test/CodeGen/SystemZ/cond-move-04.mir
M llvm/test/CodeGen/SystemZ/cond-move-08.mir
M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
M llvm/test/CodeGen/SystemZ/frame-28.mir
M llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir
M llvm/test/CodeGen/X86/heap-alloc-markers.mir
M llvm/test/CodeGen/X86/instr-symbols.mir
M llvm/test/CodeGen/X86/statepoint-fixup-undef.mir
M llvm/test/CodeGen/X86/statepoint-vreg.mir
M llvm/test/DebugInfo/MIR/X86/debug-loc-0.mir
M llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
M llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
M llvm/test/DebugInfo/X86/prolog-params.mir
Log Message:
-----------
[MachineFrameInfo] Refactoring around computeMaxcallFrameSize() (NFC) (#78001)
- Use computeMaxCallFrameSize() in PEI::calculateCallFrameInfo() instead of duplicating the code.
- Set AdjustsStack in FinalizeISel instead of in computeMaxCallFrameSize().
Commit: 5a72c7c9cf2d1f8fc3128018c761b6ac4950169d
https://github.com/llvm/llvm-project/commit/5a72c7c9cf2d1f8fc3128018c761b6ac4950169d
Author: Martin Wehking <martin.wehking at codeplay.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
Silence potential overflow warning (#83272)
Cast Offset variable to int64_t type directly inside a multiplication
and function call to utilize 64-bit arithmetic.
Ensure that the multiplication will not overflow.
A static analyzer warned about this since the function expects a 64-bit
argument, but the multiplication is evaluated inside a 32-bit context.
Commit: 96120512fbbf5c8f198ab44e554639335404532e
https://github.com/llvm/llvm-project/commit/96120512fbbf5c8f198ab44e554639335404532e
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/test/DebugInfo/print-non-instruction-debug-info.ll
Log Message:
-----------
[RemoveDIs][AsmWriter] Add empty-metadata operands to the SlotTracker (#85636)
Commit: d4a3bfe920e837113f75f42792264c8406687482
https://github.com/llvm/llvm-project/commit/d4a3bfe920e837113f75f42792264c8406687482
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/doconcurrent08.f90
Log Message:
-----------
[flang] Diagnose the impure procedure reference in finalization according to the rank of the entity (#85475)
Use the rank of the array section to determine which final procedure
would be called in diagnosing whether that procedure is impure or not.
Commit: 1287434c9a735196e2e68ecb6e2b817b3c2df457
https://github.com/llvm/llvm-project/commit/1287434c9a735196e2e68ecb6e2b817b3c2df457
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Fix _Complex comma operators
Handle them before shelling out to visitComplexBinOp().
Commit: 5053dc648f590dde47c2b3a54ba0fef6b64b4590
https://github.com/llvm/llvm-project/commit/5053dc648f590dde47c2b3a54ba0fef6b64b4590
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
Log Message:
-----------
[CodeGen] Fix -Wunused-variable in PrologEpilogInserter.cpp (NFC)
llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp:369:12:
error: unused variable 'MaxCFSIn' [-Werror,-Wunused-variable]
uint32_t MaxCFSIn =
^
1 error generated.
Commit: 2e1758a02222f014d3acbedc3b08c907cb4a661e
https://github.com/llvm/llvm-project/commit/2e1758a02222f014d3acbedc3b08c907cb4a661e
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 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/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add Options to break inside the TableGen DAGArg. (#83149)
Add two options to control the line break inside TableGen DAGArg.
- TableGenBreakInsideDAGArg
- TableGenBreakingDAGArgOperators
Commit: cdb1dca7bbfce713b3aed6d0dee737e467e1eaf3
https://github.com/llvm/llvm-project/commit/cdb1dca7bbfce713b3aed6d0dee737e467e1eaf3
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/spec/posix.td
M libc/src/__support/CPP/string_view.h
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/shm_common.h
A libc/src/sys/mman/linux/shm_open.cpp
A libc/src/sys/mman/linux/shm_unlink.cpp
A libc/src/sys/mman/shm_open.h
A libc/src/sys/mman/shm_unlink.h
M libc/test/src/__support/CPP/stringview_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/shm_test.cpp
Log Message:
-----------
[libc] Add `shm_open/shm_unlink` (#84974)
Commit: f59ad6b007c648b6aebe6b2133721695bb2d1c33
https://github.com/llvm/llvm-project/commit/f59ad6b007c648b6aebe6b2133721695bb2d1c33
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Remove unnecessary nullptr check on cast subexpr (#85473)
The value of SubExpr is not null since getSubExpr would assert in that
case. Remove the nullptr check. This avoids confusion since SubExpr is
used without check later in the function.
Commit: 7636be1ef5307109b7cbddb3dbc125d027b469f1
https://github.com/llvm/llvm-project/commit/7636be1ef5307109b7cbddb3dbc125d027b469f1
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp
Log Message:
-----------
[clang-tidy]bugprone-unused-return-value ignore `++` and `--` operator overloading (#84922)
Fixes: #84705
Further fix for #84489
Commit: d729ccf46e1591604deb574994de2e2261e6c6e5
https://github.com/llvm/llvm-project/commit/d729ccf46e1591604deb574994de2e2261e6c6e5
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[mlir][OpInterfacesGen][NFC] Add newline after traits declaration (#85633)
Slightly improve the readability of the tablegen-generated code.
Co-authored-by: Orest Chura <orest.chura at intel.com>
Commit: 4c9c0dc540441208ff00e81e7c7124576c0293c6
https://github.com/llvm/llvm-project/commit/4c9c0dc540441208ff00e81e7c7124576c0293c6
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
Revert "[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262)"
This reverts commit 4109b18ee5de1346c2b89a5c89b86bae5c8631d3.
It looks like the automatic detection has false positives. This broke
the following build https://github.com/llvm/llvm-project/pull/85262
Commit: ad09c803807c7df42ea974bfa2109d63b674fa70
https://github.com/llvm/llvm-project/commit/ad09c803807c7df42ea974bfa2109d63b674fa70
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/stdio/CMakeLists.txt
A libc/src/stdio/fileno.h
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fileno.cpp
M libc/test/src/stdio/fileop_test.cpp
Log Message:
-----------
[libc] Implement fileno (#85628)
fixes: #85150
Commit: 74c58cdda223321ff18fde0e92a45beec43560af
https://github.com/llvm/llvm-project/commit/74c58cdda223321ff18fde0e92a45beec43560af
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
R mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
Revert "[MLIR][XeGPU] Adding XeGPU 2d block operators (#84692)" (#85653)
This reverts commit daebe5c4f27ba140ac8d13abf41e3fe4db72b91a.
This commit causes the following asan issue:
```
<snip>/llvm-project/build/bin/mlir-opt <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir | <snip>/llvm-project/build/bin/FileCheck <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir
# executed command: <snip>/llvm-project/build/bin/mlir-opt <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir
# .---command stderr------------
# | =================================================================
# | ==2772558==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fd2c2c42b90 at pc 0x55e406d54614 bp 0x7ffc810e4070 sp 0x7ffc810e4068
# | READ of size 8 at 0x7fd2c2c42b90 thread T0
# | #0 0x55e406d54613 in operator()<long int const*> /usr/include/c++/13/bits/predefined_ops.h:318
# | #1 0x55e406d54613 in __count_if<long int const*, __gnu_cxx::__ops::_Iter_pred<mlir::verifyListOfOperandsOrIntegers(Operation*, llvm::StringRef, unsigned int, llvm::ArrayRef<long int>, ValueRange)::<lambda(int64_t)> > > /usr/include/c++/13/bits/stl_algobase.h:2125
# | #2 0x55e406d54613 in count_if<long int const*, mlir::verifyListOfOperandsOrIntegers(Operation*,
...
```
Commit: e19ffec91ae1a6c86eb4eef6f630db5fe53cc389
https://github.com/llvm/llvm-project/commit/e19ffec91ae1a6c86eb4eef6f630db5fe53cc389
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Add tests for selects with same conditions (NFC)
Commit: 08f26ddab3697ebfc4782bfad7f7b9dcc3cd6d21
https://github.com/llvm/llvm-project/commit/08f26ddab3697ebfc4782bfad7f7b9dcc3cd6d21
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/test/Analysis/block-in-critical-section.cpp
Log Message:
-----------
[clang][analyzer] Improve BlockInCriticalSectionsChecker (#80029)
* Add support for multiple, potentially overlapping critical sections:
The checker can now simultaneously handle several mutex's critical
sections without confusing them.
* Implement the handling of recursive mutexes:
By identifying the lock events, recursive mutexes are now supported.
A lock event is a pair of a lock expression, and the SVal of the mutex
that it locks, so even multiple locks of the same mutex (and even by
the same expression) is now supported.
* Refine the note tags generated by the checker:
The note tags now correctly show just for mutexes that are
active at the point of error, and multiple acquisitions of the same mutex
are also noted.
Commit: 03485be2ce82573826115e0bf308e3465509b41d
https://github.com/llvm/llvm-project/commit/03485be2ce82573826115e0bf308e3465509b41d
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/itofp.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize small G_TRUNC (#85625)
This is an alternative to #85610, that moreElement's small G_TRUNC
vectors to widen the vectors. It needs to disable one of the existing
Unmerge(Trunc(..)) combines, and some of the code is not as optimal as
it could be. I believe with some extra optimizations it could look
better (I was thinking combining trunc(buildvector) -> buildvector and
possibly improving buildvector lowering by generating
insert_vector_element earlier).
Commit: 89a84a39d478dd82837d17455b6b7936b10a218b
https://github.com/llvm/llvm-project/commit/89a84a39d478dd82837d17455b6b7936b10a218b
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
A lld/test/MachO/objc-category-merging-complete-test.s
A lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Implement ObjC category merging (-objc_category_merging) (#82928)
This change adds a flag to lld to enable category merging for MachoO +
ObjC.
It adds the '-objc_category_merging' flag for enabling this option and
uses the existing '-no_objc_category_merging' flag for disabling it.
In ld64, this optimization is enabled by default, but in lld, for now,
we require explicitly passing the '-objc_category_merging' flag in order
to enable it.
Behavior: if in the same link unit, multiple categories are extending
the same class, then they get merged into a single category.
Ex: `Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2,
property1) = Cat1_2(method1+method2+method3+method4,
protocol1+protocol2, property1)`
Notes on implementation decisions made in this diff:
1. There is a possibility to further improve the current implementation
by directly merging the category data into the base class (if the base
class is present in the link unit) - this improvement may be done as a
follow-up. This improved functionality is already present in ld64.
2. We do the merging on the raw inputSections - after dead-stripping
(categories can't be dead stripped anyway).
3. The changes are mostly self-contained to ObjC.cpp, except for adding
a new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece
to mark that this data has been optimized away. Another way to do it
would have been to just mark the pieces as not 'live' but this would
cause the old symbols to show up in the linker map as being
dead-stripped - even if dead-stripping is disabled. This flag allows us
to match the ld64 behavior.
---------
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: e30abe7673239611cfbf146aa52bbe877207767a
https://github.com/llvm/llvm-project/commit/e30abe7673239611cfbf146aa52bbe877207767a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang] Fix preprocessing device only in HIP mode
Summary:
A recent change made the HIP compilation bundle by default. However we
don't want to do this for `-E`, which silently broke some handling.
Commit: 8f0371bbe0a75d48ab0f187e479195242db2180b
https://github.com/llvm/llvm-project/commit/8f0371bbe0a75d48ab0f187e479195242db2180b
Author: Alex Richardson <alexrichardson at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
Log Message:
-----------
Reland "[compiler-rt] Avoid generating coredumps when piped to a tool"
Updated the corelimit.cpp test to handle buildbots with RLIMIT_CORE
rlim_max already set to zero.
Original commit message:
I was trying to debug why `ninja check-compiler-rt` was taking so long
to run on my system and after some debugging it turned out that most of
the time was being spent generating core dumps.
On many current Linux systems, coredumps are no longer dumped in the CWD
but instead piped to a utility such as systemd-coredumpd that stores
them in a deterministic location. This can be done by setting the
kernel.core_pattern sysctl to start with a '|'. However, when using such
a setup the kernel ignores a coredump limit of 0 (since there is no file
being written) and we can end up piping many gigabytes of data to
systemd-coredumpd which causes the test suite to freeze for a long time.
While most piped coredump handlers do respect the crashing processes'
RLIMIT_CORE, this is notable not the case for Debian's systemd-coredump
due to a local patch that changes sysctl.d/50-coredump.conf to ignore
the specified limit and instead use RLIM_INFINITY
(https://salsa.debian.org/systemd-team/systemd/-/commit/64599ffe44f0d).
Fortunately there is a workaround: the kernel recognizes the magic value
of 1 for RLIMIT_CORE to disable coredumps when piping. One byte is also
too small to generate any coredump, so it effectively behaves as if we
had set the value to zero.
The alternative to using RLIMIT_CORE=1 would be to use prctl() with the
PR_SET_DUMPABLE flag, however that also prevents ptrace(), so makes it
impossible to attach a debugger.
Fixes: https://github.com/llvm/llvm-project/issues/45797
This reverts commit 0b9f19a9880eb786871194af116f223d2ad30c52.
Commit: c123e591d5b308f1fa8bb8222a5191ce9493555c
https://github.com/llvm/llvm-project/commit/c123e591d5b308f1fa8bb8222a5191ce9493555c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[IR][NFC] Suppress warnings in ternary operators
Just doing this the same way as in AMDGPUPromoteAlloca.cpp
Commit: f75e1bfbd574b19e47d30a0bf5c0821693ba7a8e
https://github.com/llvm/llvm-project/commit/f75e1bfbd574b19e47d30a0bf5c0821693ba7a8e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
Log Message:
-----------
[SLP][NFC]Add a test with minbitwidth operand, but not a user.
Commit: 711eaa3a06b7a59cd2a0fa7fe95f12904b594430
https://github.com/llvm/llvm-project/commit/711eaa3a06b7a59cd2a0fa7fe95f12904b594430
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fileop_test.cpp
Log Message:
-----------
[libc] fix up fileno tests (#85660)
Fixes #85628
Commit: c66e9d267adf73929129ee71a5cfe3d97ad27a6d
https://github.com/llvm/llvm-project/commit/c66e9d267adf73929129ee71a5cfe3d97ad27a6d
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
Log Message:
-----------
[RISCV] Add SiFiveP600Model SchedModel that is used by sifive-p670 (#84962)
This PR includes an initial scheduler model shows improvement on
multiple workloads over NoSchedModel and SiFive7Model for sifive-p670.
We plan on making significant changes to this model in the future so
that it is more accurate. This patch would close
https://github.com/llvm/llvm-project/pull/80612.
Commit: 80081091174f54c264020e5d4a9d96d634096027
https://github.com/llvm/llvm-project/commit/80081091174f54c264020e5d4a9d96d634096027
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
Log Message:
-----------
[RISCV] Add IMinMax sched resources to P600SchedModel
CI checks were passing in #84962 (c48d8182f172ac24244d5fb038b7ab983f67def4) but
that commit caused failures once merged due to ships passing since the
PR was not rebased on #85131. This commit fixes this problem by adding
sched resources for integer min max instructions from Zbb in P600 model.
Commit: 37bc7c51523b5f770d45434e2cdb7313de8fe9f5
https://github.com/llvm/llvm-project/commit/37bc7c51523b5f770d45434e2cdb7313de8fe9f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang][NFC] Fix include style (#85655)
Commit: 28cd5933dd3e2266c4e67707ae062cc2010a682b
https://github.com/llvm/llvm-project/commit/28cd5933dd3e2266c4e67707ae062cc2010a682b
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[cmake] Disable FatLTO in clang build for Fuchsia (#85677)
We're seeing an issue on Macs, which shouldn't be using this config, so
we will temporarily disable this while we investigate.
Commit: 3abded54f9be203176ceabe4802473465372e256
https://github.com/llvm/llvm-project/commit/3abded54f9be203176ceabe4802473465372e256
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/expr-reassociate-int.ll
Log Message:
-----------
[LICM] Drop nsw/nuw flags on affected instructions in hoistMulAddAssociation. (#85486)
Since we are introducing new multiplies earlier in the arithmetic, the
nsw/nuw flags on later instructions are no longer accurate.
Fixes #85457.
Commit: 063abbf0862f464297df21f00bae26341c454402
https://github.com/llvm/llvm-project/commit/063abbf0862f464297df21f00bae26341c454402
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
A mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x128_stride_noswizzle.mlir
Log Message:
-----------
[mlir][nvgpu] Support strided memref when creating TMA descriptor (#85652)
Commit: 1da47332f94c003992b38c9f8d440a2edc084b9f
https://github.com/llvm/llvm-project/commit/1da47332f94c003992b38c9f8d440a2edc084b9f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld] Fix warnings
This patch fixes:
lld/MachO/ObjC.cpp:633:12: error: unused variable 'expectedListSize'
[-Werror,-Wunused-variable]
lld/MachO/ObjC.cpp:1034:12: error: unused variable 'newCatDef'
[-Werror,-Wunused-variable]
Commit: 12c7e6f29c04229c7c0203f41da984f7fd57cc80
https://github.com/llvm/llvm-project/commit/12c7e6f29c04229c7c0203f41da984f7fd57cc80
Author: nicebert <110385235+nicebert at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/include/OpenMP/Mapping.h
M openmp/libomptarget/include/Shared/Debug.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/OpenMP/API.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/exports
A openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
M openmp/runtime/src/include/omp.h.var
Log Message:
-----------
[OpenMP] Add OpenMP extension API to dump mapping tables (#85381)
This adds an API call ompx_dump_mapping_tables.
This allows users to debug the mapping tables and can be especially
useful for unified shared memory applications to check if the code
behaves in the way it should. The implementation reuses code already
present to dump mapping tables (in a debug setting).
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 26505a84ea843a2b16d1cb98995b09476d20cd8a
https://github.com/llvm/llvm-project/commit/26505a84ea843a2b16d1cb98995b09476d20cd8a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Store VPlan directly in VPRecipeBuilder (NFCI).
Instead of passing VPlan in a number of places, just store it directly
in VPRecipeBuilder. A single instance is only used for a single VPlan.
This simplifies the code and was suggested by @nikolaypanchenko in
https://github.com/llvm/llvm-project/pull/84464.
Commit: 4aa736d7594b913047316c4e3fc37420dba5204e
https://github.com/llvm/llvm-project/commit/4aa736d7594b913047316c4e3fc37420dba5204e
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
Revert "[RemoveDIs] Enable direct-to-bitcode writing by default"
This reverts commit e419084da7a00b269368aeb95698e0d36b24e8ec.
Likely cause of buildbot failure:
https://lab.llvm.org/buildbot/#/builders/179/builds/9629
Commit: b987c335af59c50bdb8c25fc48a84f42f5db2574
https://github.com/llvm/llvm-project/commit/b987c335af59c50bdb8c25fc48a84f42f5db2574
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
Log Message:
-----------
[libc] Remove fileno from GPU entrypoints
Commit: a08565892ac1a343407879b9a1edee188a1960ad
https://github.com/llvm/llvm-project/commit/a08565892ac1a343407879b9a1edee188a1960ad
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/www/get_started.html
M openmp/docs/SupportAndFAQ.rst
Log Message:
-----------
[docs] Prefer --gcc-install-dir= to deprecated GCC_INSTALL_PREFIX (#85458)
Setting GCC_INSTALL_PREFIX leads to a warning (#77537).
Link:
https://discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
https://discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833
Commit: 329b7e3150bd2f0ddd62f6b95686d90d64f03e58
https://github.com/llvm/llvm-project/commit/329b7e3150bd2f0ddd62f6b95686d90d64f03e58
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
M llvm/test/Transforms/IROutliner/outlining-no-return-functions.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected
Log Message:
-----------
[CodeExtractor] Terminate callsite blocks to new `noreturn` functions with `unreachable`
Since some of the users of `CodeExtractor` like `HotColdSplitting` run
late in the pipeline, returns are not cleaned to `unreachable`. So,
just emit `unreachable` directly if the function is `noreturn`.
Closes #84682
Commit: 33e2346cb37e34983e4994cfc43050a9bbf152d9
https://github.com/llvm/llvm-project/commit/33e2346cb37e34983e4994cfc43050a9bbf152d9
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Log Message:
-----------
[InstSimply] Add tests for simplify `(fmul -x, +/-0)`; NFC
Commit: 167025a462979564f47daf63436d00ee216dd59f
https://github.com/llvm/llvm-project/commit/167025a462979564f47daf63436d00ee216dd59f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Log Message:
-----------
[InstSimply] Simplify `(fmul -x, +/-0)` -> `-/+0`
We already handle the `+x` case, and noticed it was missing in the bug
affecting #82555
Proofs: https://alive2.llvm.org/ce/z/WUSvmV
Closes #85345
Commit: 3f783ee45af56864fc57962b4b9c9b2cab65fea2
https://github.com/llvm/llvm-project/commit/3f783ee45af56864fc57962b4b9c9b2cab65fea2
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] More uses of LocationSize::beforeOrAfterPointer().
As an extension to #84751, this adds some extra uses of beforeOrAfterPointer()
instead of UnknownSize.
Commit: f991e7e170249fe5654b80c4f5371e0e331fb220
https://github.com/llvm/llvm-project/commit/f991e7e170249fe5654b80c4f5371e0e331fb220
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/InputSection.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Change getSymbolIndex to use const reference. NFC
Commit: 7924d54ff4320bed0590e588cff942a410e000bc
https://github.com/llvm/llvm-project/commit/7924d54ff4320bed0590e588cff942a410e000bc
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Common/visit.h
Log Message:
-----------
[flang] Reduce recursion in common::visit (#85483)
This patch yields small speed-ups in compiler build and execution times,
but more importantly, reduces the stack depth needed in a build
environment where tail call optimization does not appear to occur.
Commit: 54b22df4a20f402d235b449bc5005823e358ccfe
https://github.com/llvm/llvm-project/commit/54b22df4a20f402d235b449bc5005823e358ccfe
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/real.h
M flang/test/Evaluate/fold-scale.f90
Log Message:
-----------
[flang] Fix SCALE() folding with big scale factors (#85576)
The folding of the SCALE() intrinsic function is implemented via
multiplication by a power of two; this simplifies handling of
exceptional cases. But sometimes scaling by a power of two requires an
exponent larger or smaller than a floating-point format can represent,
and two multiplications are required.
Commit: 219ccb6da2973a20115e4e30b7d1bdbedc8dad17
https://github.com/llvm/llvm-project/commit/219ccb6da2973a20115e4e30b7d1bdbedc8dad17
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/runtime/edit-input.cpp
M flang/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Round hex REAL input correctly with excess digits (#85587)
Excess hexadecimal digits were too significant for rounding purposes,
leading to inappropriate rounding away from zero for some modes.
Commit: bf525c356e4a63a17e5f20414812817f01502ff5
https://github.com/llvm/llvm-project/commit/bf525c356e4a63a17e5f20414812817f01502ff5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/declarations02.f90
Log Message:
-----------
[flang] Catch inappropriate attributes for PARAMETERs (#85588)
There's several symbol attributes that cannot be applied to named
constants, but that weren't being checked.
Commit: d4e69ff726a7499221b3a83133516ec7e5f9b82e
https://github.com/llvm/llvm-project/commit/d4e69ff726a7499221b3a83133516ec7e5f9b82e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Semantics/data-to-inits.cpp
Log Message:
-----------
[flang] Fix crash on erroneous program (#85615) (#85659)
Replace a pointer that should never be null with a reference argument so
that it's always defined.
Fixes https://github.com/llvm/llvm-project/issues/85615.
Commit: 1bc02b3eb8144950df5facb12d9f19b255f077ca
https://github.com/llvm/llvm-project/commit/1bc02b3eb8144950df5facb12d9f19b255f077ca
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/fuzzing/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/math/SingleInputSingleOutputDiff.h
M libc/fuzzing/math/TwoInputSingleOutputDiff.h
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/generic/math_utils.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/inv_trigf_utils_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[libc] Remove direct math.h includes (#85324)
Reland of #84991
A downstream overlay mode user ran into issues with the isnan macro not
working in our sources with a specific libc configuration. This patch
replaces the last direct includes of math.h with our internal
math_macros.h, along with the necessary build system changes.
Commit: 8c9332a2f7f33292582ea26e1409c5e11af3721c
https://github.com/llvm/llvm-project/commit/8c9332a2f7f33292582ea26e1409c5e11af3721c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZPatterns.td
M llvm/lib/Target/VE/VEInstrInfo.td
M llvm/test/CodeGen/SystemZ/atomic-load-06.ll
A llvm/test/CodeGen/SystemZ/atomic-memops-fp128.ll
A llvm/test/CodeGen/SystemZ/atomic-memops.ll
M llvm/test/CodeGen/SystemZ/atomic-store-06.ll
Log Message:
-----------
[SystemZ] Don't lower ATOMIC_LOAD/STORE to LOAD/STORE (#75879)
- Instead of lowering float/double ISD::ATOMIC_LOAD / ISD::ATOMIC_STORE
nodes to regular LOAD/STORE nodes, make them legal and select those nodes
properly instead. This avoids exposing them to the DAGCombiner.
- AtomicExpand pass no longer casts float/double atomic load/stores to integer
(FP128 is still casted).
Commit: 69bf7d85a7981bee8f7eacb1dae0aa42d348515f
https://github.com/llvm/llvm-project/commit/69bf7d85a7981bee8f7eacb1dae0aa42d348515f
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
[lldb][nfc] Factor out repeated code in DWIM Print (#85669)
The code that prints ValueObjects is duplicated across two different
cases of the dwim-print command, and a subsequent commit will add a
third case. As such, this commit factors out the common code into a
lambda. A free function was considered, but there is too much
function-local context required in that.
We also reword some of the comments so that they stop counting cases,
making it easier to add other cases later.
Commit: 9fa3fc11ccf9cebee437dcca6a34b76ac23c8441
https://github.com/llvm/llvm-project/commit/9fa3fc11ccf9cebee437dcca6a34b76ac23c8441
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/VTuneSharedStructs.h
Log Message:
-----------
Add missing includes (to fix the modules build)
Commit: f4a3e4e71623384d97332d951c93fdc96d684744
https://github.com/llvm/llvm-project/commit/f4a3e4e71623384d97332d951c93fdc96d684744
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/test/ELF/pack-dyn-relocs-arm2.s
M lld/test/ELF/pack-dyn-relocs.s
Log Message:
-----------
[ELF] Improve --pack-dyn-relocs tests for Android and RELR
Commit: 951587b9c7861c8b2318c905865c32ad448a6301
https://github.com/llvm/llvm-project/commit/951587b9c7861c8b2318c905865c32ad448a6301
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Interfaces/ViewLikeInterface.cpp
Log Message:
-----------
[MLIR] Remove unused implicit capture in the lambda (NFC)
This lambda does not capture anything, the `&` is just misleading.
Commit: d1407d468595745f9544de219ce86b17d1c709d4
https://github.com/llvm/llvm-project/commit/d1407d468595745f9544de219ce86b17d1c709d4
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-dw-at-specification.s
M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-debug-names.test
M bolt/test/X86/dwarf5-one-cu-debug-names.test
Log Message:
-----------
[BOLT][DWARF] Add support to debug_names for DW_AT_abstract_origin/DW_AT_specification (#85485)
According to the DWARF spec a DIE that has DW_AT_specification or
DW_AT_abstract_origin can be part of .debug_name if a DIE those
attribute points to has DW_AT_name or DW_AT_linkage_name.
Commit: 9b7b68dcf9494a94123a951a53ace6ecc1dea1bc
https://github.com/llvm/llvm-project/commit/9b7b68dcf9494a94123a951a53ace6ecc1dea1bc
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_checks.h
Log Message:
-----------
remove incorrect DCHECK
this DCHECK was not valid for hwasan_load1, and was not necessary for
the. the function is written without any assumptions of alignment of the
pointer.
Commit: 4d66bb81bdc3099d36511358f574b838efdf43dc
https://github.com/llvm/llvm-project/commit/4d66bb81bdc3099d36511358f574b838efdf43dc
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/spec/posix.td
Log Message:
-----------
[libc] Added tablegen definition for fileno (#85682)
This was missed in the previous PR. Updating tablegen definition with this PR.
Commit: 9ad3417fa8206d3a06ac7733b599aecd23402470
https://github.com/llvm/llvm-project/commit/9ad3417fa8206d3a06ac7733b599aecd23402470
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/runtime/freestanding-tools.h
M flang/runtime/numeric-templates.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
Log Message:
-----------
[flang][runtime] Get rid of warnings in F18 runtime CUDA build. (#85488)
Commit: 7b264da7997cec34ad63d0d89e406519a76cef15
https://github.com/llvm/llvm-project/commit/7b264da7997cec34ad63d0d89e406519a76cef15
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/test/asan_abi/CMakeLists.txt
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/memprof/CMakeLists.txt
M compiler-rt/test/msan/CMakeLists.txt
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/xray/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Don't check COMPILER_RT_STANDALONE_BUILD for test deps
With https://github.com/llvm/llvm-project/pull/83088, we now need the
runtimes to be built before running test if
COMPILER_RT_TEST_STANDALONE_BUILD_LIBS is true, since otherwise we
get failures running `ninja check-all` such as the following:
```
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.fuzzer-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-basic-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-fdr-x86_64.a: No such file or directory
```
This is a follow-up to 058e9b03 which started removing these checks
and it should make it easier to stop forcing COMPILER_RT_STANDALONE_BUILD
for runtimes builds in the future.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/83651
Commit: bd5ad0bcd0a5cd5996deaf9372dd4f6a1903ca36
https://github.com/llvm/llvm-project/commit/bd5ad0bcd0a5cd5996deaf9372dd4f6a1903ca36
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
Log Message:
-----------
[mlir][sparse] add example to new operation doc, and roundtrip test (#85711)
Commit: bbc545924fb5f3ba0fbcd817b221ca2219cae9ee
https://github.com/llvm/llvm-project/commit/bbc545924fb5f3ba0fbcd817b221ca2219cae9ee
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
Log Message:
-----------
[mlir][sparse] deallocate temporary transposed tensor (#85720)
Last resort resolution of cycles introduced a sparse conversion without
explicit sparse deallocation (which is not inserted by any automatic
means). This fixes 2 out of 5 remaining asan detected leaks in sparse
integration tests.
Commit: a966f9168cba3093ec5f577a53e50764cdc5e4fe
https://github.com/llvm/llvm-project/commit/a966f9168cba3093ec5f577a53e50764cdc5e4fe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-module-use.cuf
Log Message:
-----------
[flang][cuda] Add proper TODO for cuda fortran assignment (#85705)
Data transfer between host and device can be done with assignment
statements in CUDA Fortran. This is currently not lowered so adding a
proper TODO.
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-data-trans-assgn-statemts
Commit: 70bba714d82659d64606d39dcfb2c4307e3e2f89
https://github.com/llvm/llvm-project/commit/70bba714d82659d64606d39dcfb2c4307e3e2f89
Author: Kyungwoo Lee <kyulee at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
Revert "[lld] Fix warnings"
This reverts commit 6800f422c22ffd672b1e31f0d0a3fa29d19b7a13 as the part of revert https://github.com/llvm/llvm-project/pull/82928.
buildbot failures: https://lab.llvm.org/buildbot/#/builders/168/builds/19302/steps/10/logs/stdio
Commit: 253e22f98a8945622a28cfa3a994e2a182954d01
https://github.com/llvm/llvm-project/commit/253e22f98a8945622a28cfa3a994e2a182954d01
Author: Kyungwoo Lee <kyulee at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
R lld/test/MachO/objc-category-merging-complete-test.s
R lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
Revert "[lld-macho] Implement ObjC category merging (-objc_category_merging) (#82928)"
This reverts commit ece2903ce730392e5236d27f1f387fa8067fcb1b, https://github.com/llvm/llvm-project/pull/82928.
https://github.com/llvm/llvm-project/pull/82928
Commit: 417df3daa74f34d4b5fb684b488e75b9a9730326
https://github.com/llvm/llvm-project/commit/417df3daa74f34d4b5fb684b488e75b9a9730326
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
M clang/test/Driver/wasm-toolchain.c
Log Message:
-----------
[WebAssembly] Change the default linker for `wasm32-wasip2` (#84569)
This commit changes the default linker in the WebAssembly toolchain for
the `wasm32-wasip2` target. This target is being added to the
WebAssembly/wasi-sdk and WebAssembly/wasi-libc projects to target the
Component Model by default, in contrast with the preexisting
`wasm32-wasi` target (in the process of being renamed to
`wasm32-wasip1`) which outputs a core WebAssembly module by default.
The `wasm-component-ld` project currently lives in my GitHub account at
https://github.com/alexcrichton/wasm-component-ld and isn't necessarily
"official" yet, but it's expected to continue to evolve as the
`wasm32-wasip2` target continues to shape up and evolve.
Commit: dbfefe6456856bed380c1ccf6934123a85062cf2
https://github.com/llvm/llvm-project/commit/dbfefe6456856bed380c1ccf6934123a85062cf2
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/exhaustive/atanf_test.cpp
R libc/test/src/math/inv_trigf_utils_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Improve atanf performance. (#85463)
Simplify the range reduction logic and computations. Performance test
using `perf.sh` from CORE-MATH project on Ryzen 5900X:
Before:
```
$ ./perf.sh atanf --rdtsc --path1
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.369 + 0.556 clc/call; Median-Min = 0.613 clc/call; Max = 15.061 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 26.180 + 0.015 clc/call; Median-Min = 0.014 clc/call; Max = 26.260 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 21.237 + 0.022 clc/call; Median-Min = 0.020 clc/call; Max = 21.272 clc/call;
$ ./perf.sh atanf --rdtsc --path1 --latency
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH latency --
[####################] 100 %
Ntrial = 20 ; Min = 50.505 + 0.045 clc/call; Median-Min = 0.037 clc/call; Max = 50.579 clc/call;
-- System LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 62.438 + 0.836 clc/call; Median-Min = 0.049 clc/call; Max = 64.498 clc/call;
-- LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 67.781 + 0.546 clc/call; Median-Min = 0.028 clc/call; Max = 68.844 clc/call;
```
After:
```
$ ./perf.sh atanf --rdtsc --path2
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.400 + 0.353 clc/call; Median-Min = 0.404 clc/call; Max = 14.863 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 25.247 + 0.783 clc/call; Median-Min = 0.714 clc/call; Max = 26.238 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 13.751 + 0.158 clc/call; Median-Min = 0.140 clc/call; Max = 14.006 clc/call;
$ ./perf.sh atanf --rdtsc --path2 --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH latency --
[####################] 100 %
Ntrial = 20 ; Min = 51.837 + 0.073 clc/call; Median-Min = 0.058 clc/call; Max = 52.000 clc/call;
-- System LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 62.487 + 1.878 clc/call; Median-Min = 1.965 clc/call; Max = 64.569 clc/call;
OK
-- LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 55.414 + 1.312 clc/call; Median-Min = 0.345 clc/call; Max = 58.362 clc/call;
```
Commit: 9ed9e6995f4c851ec9801779b9601026d1f0bbb8
https://github.com/llvm/llvm-project/commit/9ed9e6995f4c851ec9801779b9601026d1f0bbb8
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
A flang/test/Semantics/forall02.f90
Log Message:
-----------
[flang] Diagnose calling impure final procedure due to finalization in FORALL (#85685)
This patch checks the LHS of an assignment in a FORALL loop and
diagnoses if any impure final procedure is called.
Commit: 9c5ba6e0157af53d905781c502fcbde6b28a9d84
https://github.com/llvm/llvm-project/commit/9c5ba6e0157af53d905781c502fcbde6b28a9d84
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
Log Message:
-----------
[NFC] Disable llvm-objdump test on AIX
After commit 9d5edfde5c3dbc4eb559d316e82e664f291fc2bf the test is failing on the AIX bot. XFAIL for now to unblock the bot and give time to investigate.
Commit: e97e34d76c3ff12f7166c8d97627a0dfea2d9b54
https://github.com/llvm/llvm-project/commit/e97e34d76c3ff12f7166c8d97627a0dfea2d9b54
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Handle lowering of stars in cuf kernel launch parameters (#85695)
Parsing of the cuf kernel loop directive has been updated to handle
variants with the * syntax. This patch updates the lowering to make use
of them.
- If the grid or block syntax uses only stars then the operation
variadic operand remains empty.
- If there is values and stars, then stars are represented as a zero
constant value.
Commit: a0cff41c9bfe75fc67fcd1bfbcc8c385529dc65f
https://github.com/llvm/llvm-project/commit/a0cff41c9bfe75fc67fcd1bfbcc8c385529dc65f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Put erroneously removed braces back into a unit test
See https://github.com/llvm/llvm-project/pull/85470#discussion_r1528904789
Commit: 6cc7bfea2f80ef03ca8d20a219997270fc48338e
https://github.com/llvm/llvm-project/commit/6cc7bfea2f80ef03ca8d20a219997270fc48338e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/math/generic/inv_trigf_utils.h
Log Message:
-----------
[libc] Remove constexpr from atan_eval and asin_eval. (#85725)
Fix aarch64 and gcc full build bots:
https://lab.llvm.org/buildbot/#/builders/223/builds/38235/steps/4/logs/stdio
Commit: 8defa12af7251a4890a00ddfcd7d274fdaac2824
https://github.com/llvm/llvm-project/commit/8defa12af7251a4890a00ddfcd7d274fdaac2824
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge] Use vector::assign in place of fill+resize. NFC (#85723)
Noticed while reviewing the code.
If the resize causes a new allocation, this will fill the new allocation
with zeroes directly. Previously, we would fill the old allocation with
zeroes, then copy them to the new allocation before filling the
additional space with zeros.
Commit: 440435f2b3249b685c4fb9f30b2f459297aa1e2e
https://github.com/llvm/llvm-project/commit/440435f2b3249b685c4fb9f30b2f459297aa1e2e
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/debug-info.ll
A llvm/test/DebugInfo/AArch64/ptrauth.ll
M llvm/unittests/IR/MetadataTest.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
Log Message:
-----------
[Dwarf] Support `__ptrauth` qualifier in metadata nodes (#83862)
Reland #82363 after fixing build failure
https://lab.llvm.org/buildbot/#/builders/5/builds/41428.
Memory sanitizer detects usage of `RawData` union member which is not
filled directly. Instead, the code relies on filling `Data` union
member, which is a struct consisting of signing schema parameters.
According to https://en.cppreference.com/w/cpp/language/union, this is
UB:
"It is undefined behavior to read from the member of the union that
wasn't most recently written".
Instead of relying on compiler allowing us to do dirty things, do not
use union and only store `RawData`. Particular ptrauth parameters are
obtained on demand via bit operations.
Original PR description below.
Emit `__ptrauth`-qualified types as `DIDerivedType` metadata nodes in IR
with tag `DW_TAG_LLVM_ptrauth_type`, baseType referring to the type
which has the qualifier applied, and the following parameters
representing the signing schema:
- `ptrAuthKey` (integer)
- `ptrAuthIsAddressDiscriminated` (boolean)
- `ptrAuthExtraDiscriminator` (integer)
- `ptrAuthIsaPointer` (boolean)
- `ptrAuthAuthenticatesNullValues` (boolean)
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: f538778088b5f8117970fe3a5093f6f83d33a5c0
https://github.com/llvm/llvm-project/commit/f538778088b5f8117970fe3a5093f6f83d33a5c0
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassManager.h
Log Message:
-----------
Convert copy to r-value reference. (#85606)
That seems to be the intention based on calling code.
Commit: dd5e1a7064bddb90b2a4a69c61a1f213388ff997
https://github.com/llvm/llvm-project/commit/dd5e1a7064bddb90b2a4a69c61a1f213388ff997
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
Log Message:
-----------
[mlir][sparse] Fix memory leaks (part 4) (#85729)
This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.
Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).
This commit fixes the remaining memory leaks in the MLIR test suite.
`check-mlir` now passes when built with ASAN.
Commit: 43bbae237011b22b61dc6397f6921ec1aed0d9a8
https://github.com/llvm/llvm-project/commit/43bbae237011b22b61dc6397f6921ec1aed0d9a8
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
This reverts the changes from 91a384621e5b762d9c173ffd247cfeadd5f436a2
for Windows targets. The changes in that commit don't work as expected
for Windows targets (those parts of llvm_add_library don't quite behave
the same for Windows), while the previous status quo (producing a
library named "libLLVM-<major>.dll") is the defacto standard way of
doing versioned library names there, contrary to on Unix.
After that commit, the library always ended up named "libLLVM.dll",
executables linking against it would reference "libLLVM.dll", and
"libLLVM-<major>.dll" was provided as a symlink.
Thus revert this bit back to as it were, so that executables actually
link against a versioned libLLVM, and no separate symlink is needed.
The only thing that might be improved compared to the status quo as it
was before these changes, is that the import library is named
"lib/libLLVM-<major>.dll.a", while the common style would be to name it
plainly "lib/libLLVM.dll.a" (even while it produces references to
"libLLVM-<major>.dll", but none of these had that effect for Windows
targets.
(As a side note, the llvm-shlib library can be built for MinGW, but not
currently in MSVC configurations.)
Commit: fc5256c12f2fa62cfbf552ae18e2ac559cbc3925
https://github.com/llvm/llvm-project/commit/fc5256c12f2fa62cfbf552ae18e2ac559cbc3925
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
Log Message:
-----------
[llvm][NVPTX] Add missing feature guard.
Commit: 4366039e354565bddbed60fd09d101d1227ff24d
https://github.com/llvm/llvm-project/commit/4366039e354565bddbed60fd09d101d1227ff24d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Remove useless lambdas from unit test
Commit: ef3646baa32fdba657181ed262ba535fc7715997
https://github.com/llvm/llvm-project/commit/ef3646baa32fdba657181ed262ba535fc7715997
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/TableGen/MacroFusion.td
Log Message:
-----------
[MacroFusion] Complete tests and fix indents
Commit: 1aec40dd56c382a7cfaf47aa3ab7df20208a07a3
https://github.com/llvm/llvm-project/commit/1aec40dd56c382a7cfaf47aa3ab7df20208a07a3
Author: martinboehme <mboehme at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Logger.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Logger.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow][NFC] Rename `ControlFlowContext` to `AdornedCFG`. (#85640)
This expresses better what the class actually does, and it reduces the
number of
`Context`s that we have in the codebase.
A deprecated alias `ControlFlowContext` is available from the old
header.
Commit: 5a8e7f4ab5631a35519333705baa7c57e3b03c2b
https://github.com/llvm/llvm-project/commit/5a8e7f4ab5631a35519333705baa7c57e3b03c2b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 59ff3adcc131
Commit: 022011b7af0ae03a5300616cec5479d829dcdcd5
https://github.com/llvm/llvm-project/commit/022011b7af0ae03a5300616cec5479d829dcdcd5
Author: martinboehme <mboehme at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Model assignment to derived class from base. (#85064)
This is a relatively rare case, but
- It's still nice to get this right,
- We can remove the special case for this in
`VisitCXXOperatorCallExpr()` (that
simply bails out), and
- With this in place, I can avoid having to add a similar special case
in an
upcoming patch.
Commit: a6828f15d25bb5bb516e2058f7c80834abfea9d8
https://github.com/llvm/llvm-project/commit/a6828f15d25bb5bb516e2058f7c80834abfea9d8
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/Target.td
A llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/include/llvm/Target/TargetSchedule.td
Log Message:
-----------
[TableGen][NFC] Move MacroFusion classes to TargetMacroFusion.td
To make structure clear.
Reviewers: dtcxzyw, arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/85748
Commit: b80e263b8002a59c028d41e242b80bb2e5cc7d21
https://github.com/llvm/llvm-project/commit/b80e263b8002a59c028d41e242b80bb2e5cc7d21
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
[DAG] Matched FixedWidth pattern for ISD::AVGFLOORU (#84903)
Fixes: #84749
Commit: 6dc67e69dfa185d1f2eee8ac0a9bc0578a3ae47e
https://github.com/llvm/llvm-project/commit/6dc67e69dfa185d1f2eee8ac0a9bc0578a3ae47e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Sanitize collectBaseOffset parameters
Commit: cf25fb0192e6e356b523685fcd254448cd71d199
https://github.com/llvm/llvm-project/commit/cf25fb0192e6e356b523685fcd254448cd71d199
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[InstCombine] Fold `fpto{s|u}i non-norm` to zero (#85569)
This patch enables more optimization after canonicalizing `fmul X, 0.0`
into a copysign.
I decide to implement this fold in InstCombine because
`computeKnownFPClass` may be expensive.
Alive2: https://alive2.llvm.org/ce/z/ASM8tQ
Commit: c14b181509b543ca40d1373546b6da9b91a1c74e
https://github.com/llvm/llvm-project/commit/c14b181509b543ca40d1373546b6da9b91a1c74e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Fix bug with fcmp false to nan constant
If we had a comparison to a literal nan with a false predicate,
we were incorrectly treating it as an unordered compare. This was
correct for fcmp true, but not fcmp false. I noticed this in the
review for e44d3b3e503fa12fdaead2936b28844aa36237c1 but misdiagnosed
the reason. Also change the test for the fcmp true case to be more
useful, but it wasn't wrong previously.
Commit: 3451fa5a82bb283c63d8afa2765d94e68d3891db
https://github.com/llvm/llvm-project/commit/3451fa5a82bb283c63d8afa2765d94e68d3891db
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/InterpFrame.h
Log Message:
-----------
[clang][Interp][NFC] Add InterpFrame::dump()
Commit: fc0a8737d274ec336ea3bb17c4d75a0cedc3df26
https://github.com/llvm/llvm-project/commit/fc0a8737d274ec336ea3bb17c4d75a0cedc3df26
Author: nicebert <110385235+nicebert at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
Log Message:
-----------
[OpenMP] Fix ompx_dump_mapping_tables lit test (#85754)
Fixes ompx_dump_mapping_tables test by only using one device after
breaking built bots
Commit: 8a361b9f2e06dfcf7a1cd02237924fb2a61d37ad
https://github.com/llvm/llvm-project/commit/8a361b9f2e06dfcf7a1cd02237924fb2a61d37ad
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir][bufferization] Check OpFilter before casting to BufferizableOpInterface (#85690)
This doesn't change functionality, but lets us avoid attaching all the
interfaces after 513cdb82223a106f183b49a40d9acb1f7efbbe7e turned casting
without loading into an error.
Commit: f5b8e2b97ea06c8d4a71b4766e7e1c3cf376cbbe
https://github.com/llvm/llvm-project/commit/f5b8e2b97ea06c8d4a71b4766e7e1c3cf376cbbe
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Log Message:
-----------
[AMDGPU][PromoteAlloca] Drop bitcast handling (#85747)
This is no longer needed with opaque pointers.
Commit: 317d1398c3097946b8a3b3dec992dd0a8ceefac4
https://github.com/llvm/llvm-project/commit/317d1398c3097946b8a3b3dec992dd0a8ceefac4
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
A mlir/unittests/IR/AffineExprTest.cpp
M mlir/unittests/IR/CMakeLists.txt
Log Message:
-----------
[mlir] Don't assert when simplifying certain `AffineExpr`s (#78855)
Currently, `simplifyMul()` asserts that either `lhs` or `rhs` is
symbolic or constant. This method is called by the overloaded `*`
operator for `AffineExpr`s which leads to a crash when building a
multiplication expression where neither operand is symbolic or constant.
This patch returns a `nullptr` from `simplifyMul()` to signal that the
expression could not be simplified instead.
Fix https://github.com/llvm/llvm-project/issues/75770
Commit: 9154e7434c9a1931c38db8a685baf2a9d95923f4
https://github.com/llvm/llvm-project/commit/9154e7434c9a1931c38db8a685baf2a9d95923f4
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Driver/aarch64-mcpu.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs (#85401)
[AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs
Cortex-A520AE and Cortex-A720AE are Armv9.2 AArch64 CPUs.
Technical Reference Manual for Cortex-A520AE:
https://developer.arm.com/documentation/107726/latest/
Technical Reference Manual for Cortex-A720AE:
https://developer.arm.com/documentation/102828/latest/
Commit: c1112af2ef4fbb12c4420e771cc67050d416f0b7
https://github.com/llvm/llvm-project/commit/c1112af2ef4fbb12c4420e771cc67050d416f0b7
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format] Fixed the warning in building document for TableGenBreakingDAGArgOperators. (#85760)
Intend to fix the `Test documentation build `, degraded here
https://github.com/llvm/llvm-project/pull/83149 .
Commit: 8071fa8f8108887e0bc213f3f400305bee0f59c9
https://github.com/llvm/llvm-project/commit/8071fa8f8108887e0bc213f3f400305bee0f59c9
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/test/tsan/signal_thread.cpp
Log Message:
-----------
[tsan][test] Switch setitimer(ITIMER_REAL, ...) to setitimer(ITIMER_VIRTUAL, ...)
Followup to #85188.
Commit: 2147d2b8e5208d277a4f21cc012ff379923fd877
https://github.com/llvm/llvm-project/commit/2147d2b8e5208d277a4f21cc012ff379923fd877
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/int-usub-12.ll
M llvm/test/CodeGen/SystemZ/int-usub-13.ll
Log Message:
-----------
Fix overflow flag for i128 USUBO
We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement
USUBO/USUBO_CARRY for the i128 data type. However, these instructions
use an inverted sense of the borrow indication flag (a value of 1
indicates *no* borrow, while a value of 0 indicated borrow). This
does not match the semantics of the boolean "overflow" flag of the
USUBO/USUBO_CARRY ISD nodes.
Fix this by generating code to explicitly invert the flag. These
cancel out of the result of USUBO feeds into an USUBO_CARRY.
To avoid unnecessary zero-extend operations, also improve the
DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc)))
sequences where appropriate.
Fixes: https://github.com/llvm/llvm-project/issues/83268
Commit: 84c4c44e90ff28549dbd2a2fa6644cac43b601cc
https://github.com/llvm/llvm-project/commit/84c4c44e90ff28549dbd2a2fa6644cac43b601cc
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
Log Message:
-----------
[flang] Lower sequence associated argument passed by descriptor (#85696)
The current lowering did not handle sequence associated argument passed
by descriptor. This case is special because sequence association implies
that the actual and dummy argument need to to agree in rank and shape.
Usually, arguments that can be sequence associated are passed by raw
address, and the shape mistmatch is transparent. But there are three
cases of explicit and assumed-size arrays passed by descriptors:
- polymorphic arguments
- BIND(C) assumed-length arguments (F'2023 18.3.7 (5)).
- length parametrized derived types (TBD)
The callee side is expecting a descriptor containing the dummy rank and
shape. This was not the case. This patch fix that by evaluating the
dummy shape on the caller side using the interface (that has to be
available when arguments are passed by descriptors).
Commit: c479ee5c3a2c5923f11dc6bb8409d90e0273a159
https://github.com/llvm/llvm-project/commit/c479ee5c3a2c5923f11dc6bb8409d90e0273a159
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
Log Message:
-----------
[Flang][OpenMP] Complete and organize directive sets (#85219)
This patch adds a couple of new directive sets for composite constructs,
completes some of the existing ones with missing values, refactors all*
sets to always build on the corresponding top* set and reorders sets and
directives alphabetically.
No functional change intended.
Commit: c4b7cba8e68503b61990ac67bc9c02570093be12
https://github.com/llvm/llvm-project/commit/c4b7cba8e68503b61990ac67bc9c02570093be12
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
Log Message:
-----------
[mlir][bufferization] Fix OpFilter not to crash on unloaded dialects
Commit: 4ca47600907aecb24b73d2dd51b2ba2f386f5f05
https://github.com/llvm/llvm-project/commit/4ca47600907aecb24b73d2dd51b2ba2f386f5f05
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/int-usub-12.ll
M llvm/test/CodeGen/SystemZ/int-usub-13.ll
Log Message:
-----------
Revert "Fix overflow flag for i128 USUBO"
This reverts commit d9c31ee9568277e4303715736b40925e41503596.
Commit: 7d7e2556156ff15b51fa57920c15cd10eba2ca71
https://github.com/llvm/llvm-project/commit/7d7e2556156ff15b51fa57920c15cd10eba2ca71
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/test/Driver/driver-help-hidden.f90
R flang/test/Driver/flang-experimental-polymorphism-flag.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/dispatch.f90
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators-parameter-array-slice.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
M flang/test/Lower/HLFIR/intrinsic-assumed-type.f90
M flang/test/Lower/HLFIR/parent-component-ref.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/extends_type_of.f90
M flang/test/Lower/Intrinsics/same_type_as.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/spread.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/dispatch-table.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type-2.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/pass-null-for-class-arg.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-disassociate.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Enable polymorphic lowering by default (#83285)
Polymorphic entity lowering status is good. The main remaining TODO is
to allow lowering of vector subscripted polymorphic entity, but this
does not deserve blocking all application using polymorphism.
Remove experimental option and enable lowering of polymorphic entity by
default.
Commit: 5bddf15c40d7af71d641b1a9af5f423e80ab7b47
https://github.com/llvm/llvm-project/commit/5bddf15c40d7af71d641b1a9af5f423e80ab7b47
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[Flang][Lower] NFC: Replace SmallVector with more suitable alternatives (#85227)
In this patch some uses of `llvm::SmallVector` in Flang's lowering to
MLIR are replaced by other types (i.e. `llvm::ArrayRef` and
`llvm::SmallVectorImpl`) which are intended for these uses. This
generally prevents relying on always passing small vectors with a
particular number of elements in the stack.
Commit: 3c0002c70a3eda5628ec4f63ee56131eaf80400c
https://github.com/llvm/llvm-project/commit/3c0002c70a3eda5628ec4f63ee56131eaf80400c
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
Log Message:
-----------
Fix macro expansion for AMDHSA_BITS_SET (#85661)
Corrects the `AMDHSA_BITS_SET` macro.
Commit: 061730b697464c3d180ffae726ab6a8f9488e89a
https://github.com/llvm/llvm-project/commit/061730b697464c3d180ffae726ab6a8f9488e89a
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll
Log Message:
-----------
[AMDGPU][PromoteAlloca] Whole-function alloca promotion to vector (#84735)
Update PromoteAllocaToVector so it considers the whole function before promoting allocas.
Allocas are scored & sorted so the highest value ones are seen first. The budget is now per function instead of per alloca.
Passed internal performance testing.
Commit: f7a36a663c5656fade83e94744fcb03d9bb13784
https://github.com/llvm/llvm-project/commit/f7a36a663c5656fade83e94744fcb03d9bb13784
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
Log Message:
-----------
[mlir][complex] Make CPU runner test platform agnostic (#85607)
Commit: d4feb4470bb34982ac007ef3bc89cd38c0183a4c
https://github.com/llvm/llvm-project/commit/d4feb4470bb34982ac007ef3bc89cd38c0183a4c
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/test/tsan/signal_sync.cpp
Log Message:
-----------
[tsan][test] Switch setitimer(ITIMER_REAL, ...) to setitimer(ITIMER_VIRTUAL, ...)
Followup to #85188
Commit: 35d7a075f4ecbc0c091ee478bf4d041bd0fe8421
https://github.com/llvm/llvm-project/commit/35d7a075f4ecbc0c091ee478bf4d041bd0fe8421
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
Log Message:
-----------
[ConstantFold] Fix comparison between special pointer constants
This code was assuming that the LHS would always be one of
GlobalVariable, BlockAddress or ConstantExpr. However, it can
also be a special constant like dso_local_equivalent or no_cfi.
Make sure this is handled gracefully.
Commit: bd0e5fe6b08155a4887a4554f4847d40bddf1b6c
https://github.com/llvm/llvm-project/commit/bd0e5fe6b08155a4887a4554f4847d40bddf1b6c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
Log Message:
-----------
[lldb][DataFormatter] Fix format specifiers in LibCxxSliceArray summary provider (#85763)
This caused following warnings in an LLDB build:
```
[237/1072] Building CXX object tools/l...lusLanguage.dir/LibCxxSliceArray.cpp.o
/Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:53: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
38 | stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size);
| ~~~~~~~~~ ^~~~~~
/Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:61: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
38 | stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size);
| ~~~~~~~~~ ^~~~
2 warnings generated.
```
This patch simply changes the format specifiers to use the `%zu` for
`size_t`s.
Commit: 77831e32aa65f13672851a7250d580a5e855b356
https://github.com/llvm/llvm-project/commit/77831e32aa65f13672851a7250d580a5e855b356
Author: wanglei <wanglei at loongson.cn>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/MC/LoongArch/Macros/macros-li-bad.s
Log Message:
-----------
[LoongArch] Add diagnostics for PseudoLI_D instruction (#85742)
Simultaneously improved diagnostic testing for the `PseudoLI_W`
instruction.
Commit: 51c3f66f14091ee7885460557fafe8bc5493108f
https://github.com/llvm/llvm-project/commit/51c3f66f14091ee7885460557fafe8bc5493108f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)
This patch moves some code in PFT to MLIR OpenMP lowering to the
`ClauseProcessor` class. This is so that some behavior that is related
to certain clauses stays within the `ClauseProcessor` and it's not the
caller the one responsible for always doing this when the clause is
present.
Commit: cec17d7f24c2f6e38bb5653f501c6739d5981a37
https://github.com/llvm/llvm-project/commit/cec17d7f24c2f6e38bb5653f501c6739d5981a37
Author: martinboehme <mboehme at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Make optional checker work for types derived from optional. (#84138)
`llvm::MaybeAlign` does this, for example.
It's not an option to simply ignore these derived classes because they
get cast
back to the optional classes (for example, simply when calling the
optional
member functions), and our transfer functions will then run on those
optional
classes and therefore require them to be properly initialized.
Commit: 2d001e26afddcc6c646ae9fd20b3707a9d570dbe
https://github.com/llvm/llvm-project/commit/2d001e26afddcc6c646ae9fd20b3707a9d570dbe
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/test/TableGen/MacroFusion.td
Log Message:
-----------
[MacroFusion] Add SingleFusion that accepts a single instruction pair
We add a common class `SingleFusion` that accepts a single instruction
pair to simplify fusion definitions.
Pull Request: https://github.com/llvm/llvm-project/pull/85750
Commit: 6bb6504b89a97d5aa8f19435eeddef82aed068d5
https://github.com/llvm/llvm-project/commit/6bb6504b89a97d5aa8f19435eeddef82aed068d5
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/tools/llvm-dis/llvm-dis.cpp
Log Message:
-----------
[RemoveDIs] Add flag to control loading into new debug mode from bitcode (#85649)
--load-bitcode-into-experimental-debuginfo-iterators
false: Convert to the old debug mode after reading.
true: Upgrade to the new debug info format (*).
unset: Same as false (for now).
(*) As of this patch it actually just means "don't convert to either
mode after loading". Auto-upgrading will be implemented in an upcoming
patch.
With this flag we can incrementally add support for RemoveDIs by
overriding the "unset" behaviour in individual tools. The flag can be
removed once all tools support the new debug info mode.
Commit: 214149321ced26c296dbf0b2fb0ffb9927488f9a
https://github.com/llvm/llvm-project/commit/214149321ced26c296dbf0b2fb0ffb9927488f9a
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Split TransformDialect into a header-only lib in prep for PR85221
This lets users use TensorDialect without depending on all dialects
transitively. 513cdb82223a106f183b49a40d9acb1f7efbbe7e forces that
otherwise.
Commit: 9f9b9337472855c2d4fc970cc0a694a2f2a10242
https://github.com/llvm/llvm-project/commit/9f9b9337472855c2d4fc970cc0a694a2f2a10242
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
Log Message:
-----------
[AMDGPU][NFC] Test clean up. (#85775)
Added common check for DPP and Iterative strategies for uniform value
case since optimization applied is same.
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: d6501833fa7390330872eff42d1f086e07c9707f
https://github.com/llvm/llvm-project/commit/d6501833fa7390330872eff42d1f086e07c9707f
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin.h
A clang/lib/Headers/intrin0.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
A clang/lib/Headers/yvals_core.h
Log Message:
-----------
[clang] Add `intrin0.h` header to mimic `intrin0.h` used by MSVC STL for clang-cl (#75711)
Fixes https://github.com/llvm/llvm-project/issues/53520.
#### Description ####
Provide `intrin0.h` to be the minimal set of intrinsics that the MSVC
STL requires.
The `intrin0.h` header matches the latest header provided by MSVC 1939
which does include some extra intrinsics that the MSVC STL does not use.
Inside `BuiltinHeaders.def` I kept the header description as `intrin.h`.
If you want me to change those to `intrin0.h` for the moved intrinsics
let me know.
This should now allow `immintrin.h` to be used with function targets for
runtime cpu detection of simd instruction sets without worrying about
the compile-time overhead from MSVC STL including `intrin.h` on clang.
I still need to figure out how to best update MSVC STL to detect for the
presence of `intrin0.h` from clang and to use this header over
`intrin.h`.
#### Testing ####
Built clang locally and ran the test suite. I still need to do a pass
over the existing unit tests for the ms intrinsics to make sure there
aren't any gaps. Wanted to get this PR up for discussion first.
Modified latest MSVC STL from github to point to `intrin0.h` for clang.
Wrote some test files that included MSVC STL headers that rely on
intrinsics such as `atomic`, `bit` and `vector`. Built the unit tests
against x86, arm, aarch64, and x64.
#### Benchmarks ####
The following include times are based on the x64 target with the
modified headers in this PR.
These timings were done by using `clang-cl.exe -ftime-trace` and taking
the wall time for parsing `intrin.h` and `intrin0.h`.
`intrin.h` takes ~897ms to parse.
`intrin0.h` takes ~1ms to parse.
If there is anything required or a different approach is preferred let
me know. I would very much like to move this over the finish line so we
can use function targets with clang-cl.
Commit: 16fa8c7ab0ef5417774afcea0be66d7eccfb285b
https://github.com/llvm/llvm-project/commit/16fa8c7ab0ef5417774afcea0be66d7eccfb285b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port afec08ef9f10
Commit: 7a9d0006b9a05e3e754111169758537b9316fd24
https://github.com/llvm/llvm-project/commit/7a9d0006b9a05e3e754111169758537b9316fd24
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitEXTRACT_VECTOR_ELT - share the same SDLoc instead of recreating it. NFC.
Commit: e77c8a11868cd074e40905fce925fc4252bab11b
https://github.com/llvm/llvm-project/commit/e77c8a11868cd074e40905fce925fc4252bab11b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-pavg.ll
Log Message:
-----------
[X86] Add PAVG(0,x) test coverage for PR #85581
Commit: a1b42e3833160bab9ca3cbf99a7c58f4d3c70549
https://github.com/llvm/llvm-project/commit/a1b42e3833160bab9ca3cbf99a7c58f4d3c70549
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/ExecutionEngine/Float16bits.cpp
Log Message:
-----------
[mlir][sparse] Fix the calling convention of __truncsfbf2 on windows x64
It also wants us to return the value in XMM0.
Commit: 1b79f5c92c508545ffbb4dc7bdd1f286d5172dc5
https://github.com/llvm/llvm-project/commit/1b79f5c92c508545ffbb4dc7bdd1f286d5172dc5
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
Log Message:
-----------
Revert "[RISCV] Recursively split concat_vector into smaller LMULs (#83035)"
This reverts commit c59129a7c79448837d665de8f2743ad4b14666f6.
This causes regressions in some x264 workloads like pixel_var_8x8 due to it
interfering with the strided load combine. Reverting so I can try to rework
it as a lowering instead.
Commit: 5b936acfad08a6474c4a90f491c271912e9ccfa8
https://github.com/llvm/llvm-project/commit/5b936acfad08a6474c4a90f491c271912e9ccfa8
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
[DAG] Matched Fixedwidth Pattern for ISD::AVGCEILU (#85031)
Fixes: #84753
Commit: e88d7161e5240721930e9bfeeb110597ce69313d
https://github.com/llvm/llvm-project/commit/e88d7161e5240721930e9bfeeb110597ce69313d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Trim TransformDialectInterfaces to the bare minimum
Commit: 308efe8731563257dadb3ec8fcfa47c1610d77dd
https://github.com/llvm/llvm-project/commit/308efe8731563257dadb3ec8fcfa47c1610d77dd
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
A openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90
Log Message:
-----------
[OpenMP] Fix target data region codegen being omitted for device pass (#85218)
This patch enables the BodyCodeGen callback to still trigger for the
TargetData nested region during the device pass. There maybe Target code
nested within the TargetData region for which this is required.
Also add tests for the same.
Commit: 480ac15494e47f63105a788421386ef35ee88696
https://github.com/llvm/llvm-project/commit/480ac15494e47f63105a788421386ef35ee88696
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/int-usub-12.ll
M llvm/test/CodeGen/SystemZ/int-usub-13.ll
Log Message:
-----------
Reapply: [SystemZ] Fix overflow flag for i128 USUBO
We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement
USUBO/USUBO_CARRY for the i128 data type. However, these instructions
use an inverted sense of the borrow indication flag (a value of 1
indicates *no* borrow, while a value of 0 indicated borrow). This
does not match the semantics of the boolean "overflow" flag of the
USUBO/USUBO_CARRY ISD nodes.
Fix this by generating code to explicitly invert the flag. These
cancel out of the result of USUBO feeds into an USUBO_CARRY.
To avoid unnecessary zero-extend operations, also improve the
DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc)))
sequences where appropriate.
Fixes: https://github.com/llvm/llvm-project/issues/83268
Commit: 57824c0f63e7030b2ab9f4762aa7b3da6f9b3a65
https://github.com/llvm/llvm-project/commit/57824c0f63e7030b2ab9f4762aa7b3da6f9b3a65
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/taint-diagnostic-visitor.c
Log Message:
-----------
[analyzer] Mention possibility of underflow in array overflow errors (#84201)
The checker alpha.security.ArrayBoundV2 performs bounds checking in two
steps: first it checks for underflow, and if it isn't guaranteed then it
assumes that there is no underflow. After this, it checks for overflow,
and if that's guaranteed or the index is tainted then it reports it.
This meant that in situations where overflow and underflow are both
possible (but the index is either tainted or guaranteed to be invalid),
the checker was reporting just an overflow error.
This commit modifies the messages printed in these cases to mention the
possibility of an underflow.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 7ca0090f9a96f95fe7a1a640ec62025b1c722dfa
https://github.com/llvm/llvm-project/commit/7ca0090f9a96f95fe7a1a640ec62025b1c722dfa
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[compiler-rt] Fixing UB on Windows for trampoline allocations (#85639)
Fixing the type of the constant to avoid undefined behavior with respect
to overflow.
Commit: 9397aa2ed90121d5eb6cb1dc1f54830f740a4c6e
https://github.com/llvm/llvm-project/commit/9397aa2ed90121d5eb6cb1dc1f54830f740a4c6e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
Revert "[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)"
Reverting due to failing gfortran test.
This reverts commit 2f2f16f32bb2a6c250b19adbc229d9dc3b38640c.
Commit: 55f395a0a91ddcbd1b1119d9904ec8a4a6c0b67e
https://github.com/llvm/llvm-project/commit/55f395a0a91ddcbd1b1119d9904ec8a4a6c0b67e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Use IRBuilderBase where possible (NFC)
Instead of hardcoding a specific IRBuilder type, use the base
class.
Commit: 94161d31fdd858753431639de0232c3e33b1cec7
https://github.com/llvm/llvm-project/commit/94161d31fdd858753431639de0232c3e33b1cec7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Bitcode/DIExpression-aggresult.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
Log Message:
-----------
[RemoveDIs] Auto-upgrade debug intrinsics to DbgRecords (default false) (#85650)
If --load-bitcode-into-experimental-debuginfo-iterators is true then debug
intrinsics are auto-upgraded to DbgRecords (the new debug info format).
The upgrade is trivial because the two representations are semantically
identical. llvm.dbg.value with 4 operands and llvm.dbg.addr intrinsics are
upgraded in the same way as usual, but converted directly into DbgRecords
instead of debug intrinsics.
Commit: 0dc05280228e2886eebba7b4b605cc592b61b657
https://github.com/llvm/llvm-project/commit/0dc05280228e2886eebba7b4b605cc592b61b657
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[NFC][RemoveDIs] Switch constant-hoisting to insert with iterators (#84738)
Seeing how constant-hoisting also happens to store an insertion-point in
a DenseMap, this means we have to install DenseMapInfo for hashing
BasicBlock::iterators and comparing them. I'm not really sure where to
put the DenseMapInfo declarations as BasicBlock.h seems most logical,
but that then means including DenseMap.h into pretty much all of LLVM.
I've sent this up to the compile time tracker to see whether there's a
major cost from this.
---------
Merged by: Stephen Tozer <stephen.tozer at sony.com>
Commit: afea7efd9b16c8879827ef76c13393de132de6bc
https://github.com/llvm/llvm-project/commit/afea7efd9b16c8879827ef76c13393de132de6bc
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
Log Message:
-----------
[clang][dataflow] Refactor processing of terminator element (#84499)
This patch vastly simplifies the code handling terminators, without
changing any
behavior. Additionally, the simplification unblocks our ability to
address a
(simple) FIXME in the code to invoke `transferBranch`, even when builtin
options
are disabled.
Commit: 3be827dd372f6da6d47a83268225458e85b5cdd1
https://github.com/llvm/llvm-project/commit/3be827dd372f6da6d47a83268225458e85b5cdd1
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/workflows/llvm-tests.yml
Log Message:
-----------
workflows: Fix baseline version for llvm abi checks (#85166)
The baseline version calculations was assuming the minor release would
always be 0.
Commit: f1e174ab33c14e1d432ff108c14e702231dd370e
https://github.com/llvm/llvm-project/commit/f1e174ab33c14e1d432ff108c14e702231dd370e
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-soft-float-abi-errors.c
A clang/test/CodeGen/aarch64-soft-float-abi.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/target-avx-abi-diag.c
A clang/test/Driver/aarch64-soft-float-abi.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/arm-vector-types-support.c
A llvm/test/CodeGen/AArch64/soft-float-abi.ll
Log Message:
-----------
[AArch64] Add soft-float ABI (#84146)
This is re-working of #74460, which adds a soft-float ABI for AArch64.
That was reverted because it causes errors when building the linux and
fuchsia kernels.
The problem is that GCC's implementation of the ABI compatibility checks
when using the hard-float ABI on a target without FP registers does it's
checks after optimisation. The previous version of this patch reported
errors for all uses of floating-point types, which is stricter than what
GCC does in practice.
This changes two things compared to the first version:
* Only check the types of function arguments and returns, not the types
of other values. This is more relaxed than GCC, while still guaranteeing
ABI compatibility.
* Move the check from Sema to CodeGen, so that inline functions are only
checked if they are actually used. There are some cases in the linux
kernel which depend on this behaviour of GCC.
Commit: 682ad201078fea545e4d5949ca30e022f8b5f56f
https://github.com/llvm/llvm-project/commit/682ad201078fea545e4d5949ca30e022f8b5f56f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Make grab bag //libc:internal_includes textual, some of these don't even parse
Commit: 47ebe8deed5becba2626b21e1e090c4677d0f4b2
https://github.com/llvm/llvm-project/commit/47ebe8deed5becba2626b21e1e090c4677d0f4b2
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)
Because the RemoveDIs work is putting a debug-info bit into
BasicBlock::iterator and iterators are needed for insertion, the
getAsInstruction method declaration would need to use a fully defined
instruction-iterator, which leads to a complicated
header-inclusion-order problem. Much simpler to instead just not insert,
and make it the callers problem to insert.
This is proportionate because there are only four call-sites to
getAsInstruction -- it would suck if we did this everywhere.
---------
Merged by: Stephen Tozer <stephen.tozer at sony.com>
Commit: 7b90ffe5c9263974510e6623500fed59857dcee8
https://github.com/llvm/llvm-project/commit/7b90ffe5c9263974510e6623500fed59857dcee8
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
[flang] Fix cuda-option test on Darwin (#85687)
On Darwin, -isysroot is needed and is automatically appended to
%flang and %flang_fc1, so use %flang_fc1 instead to have both -fc1
and -isysroot in the expected positions and avoid errors.
Commit: a54e40039eedf59c31634fe2213e01777c07ee85
https://github.com/llvm/llvm-project/commit/a54e40039eedf59c31634fe2213e01777c07ee85
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Revert "[flang] Fix cuda-option test on Darwin (#85687)"
Reverted due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/139/builds/61717/
This reverts commit b4b7d988bdb48827a822d9c87fdc460dceae5cab.
Commit: 643dd1ec7435ee980685b7174ce2e012baf29b20
https://github.com/llvm/llvm-project/commit/643dd1ec7435ee980685b7174ce2e012baf29b20
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Reapply "[flang] Fix cuda-option test on Darwin (#85687)"
This commit was mistakenly reverted in place of the actual failing
commit prior; reapplying.
This reverts commit db4170a4f3a701a62f5c1ef2e6a30f490f107f7d.
Commit: c9b47cd9dc7271adf00510347d8834a18844e273
https://github.com/llvm/llvm-project/commit/c9b47cd9dc7271adf00510347d8834a18844e273
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
Revert "[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)"
Reverted due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/139/builds/61717/
This reverts commit 7ef433f62c199c414bffdcac1c8ee3159b29c5f5.
Commit: eec47e09969777c3953828c0ea8c464136adfa58
https://github.com/llvm/llvm-project/commit/eec47e09969777c3953828c0ea8c464136adfa58
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[llvm-objdump][macho] Fix relative method list dumping for little endian hosts (#85778)
`macho-relative-method-lists.test` is failing on little endian
platforms, when matching 'name'.
```
CHK32-NEXT: name 0x144 (0x{{[0-9a-f]*}}) instance_method_00
next:10'0 X error: no match found
18: name 0x144 (0x7ac)
```
This seems like the obvious fix.
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: f3694ac63c1cc0d36294be66d759f3fdcd72cc09
https://github.com/llvm/llvm-project/commit/f3694ac63c1cc0d36294be66d759f3fdcd72cc09
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Test isKnownNonZero() range metadata with vector (NFC)
Commit: cf03d3ef8d10751e59794609f2ba8339e94a6282
https://github.com/llvm/llvm-project/commit/cf03d3ef8d10751e59794609f2ba8339e94a6282
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Handle vector range metadata in isKnownNonZero()
Nowadays !range can be placed on instructions with vector of int
return value. Support this case in isKnownNonZero().
Commit: ca74580b95f905ca436de3f153e39c83199ce908
https://github.com/llvm/llvm-project/commit/ca74580b95f905ca436de3f153e39c83199ce908
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Analysis/eval-predefined-exprs.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang-cl] Fix value of __FUNCTION__ in MSVC mode. (#84014)
Predefined macro FUNCTION in clang is not returning the same string than
MS for templated functions.
See https://godbolt.org/z/q3EKn5zq4
For the same test case MSVC is returning:
function: TestClass::TestClass
function: TestStruct::TestStruct
function: TestEnum::TestEnum
The initial work for this was in the reverted patch
(https://github.com/llvm/llvm-project/pull/66120). This patch solves the
issues raised in the reverted patch.
Commit: 9e4052b2f0f42066edafe00730711ed3a6142a86
https://github.com/llvm/llvm-project/commit/9e4052b2f0f42066edafe00730711ed3a6142a86
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Fix release build
Move the declaration of the Ty variable outside the NDEBUG guard
and make use of it in the remainder of the function.
Commit: 6a011a5c817f865b282863d91979f97345d7e8e6
https://github.com/llvm/llvm-project/commit/6a011a5c817f865b282863d91979f97345d7e8e6
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/math/generic/atanf.cpp
Log Message:
-----------
[libc] Prevent constant propagation for atanf(+-Inf) in gcc. (#85733)
gcc bot failures with `atanf(+-Inf)`:
https://lab.llvm.org/buildbot/#/builders/250/builds/20331/steps/8/logs/stdio
Commit: 82b1034963e6e663e44e745267ac904ace0787c9
https://github.com/llvm/llvm-project/commit/82b1034963e6e663e44e745267ac904ace0787c9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Move MD_range handling to isKnownNonZeroFromOperator()
All the isKnownNonZero() handling for instructions should be inside
this function. This makes the structure more similar to
computeKnownBitsFromOperator() as well.
This may not be entirely NFC due to different depth handling.
Commit: 2f0798b072bf03acdd848cab5a10a4bec8511c86
https://github.com/llvm/llvm-project/commit/2f0798b072bf03acdd848cab5a10a4bec8511c86
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis.
This improves overall analysis for minbitwidth in SLP. It allows to
analyze the trees with store/insertelement root nodes. Also, instead of
using single minbitwidth, detected from the very first analysis stage,
it tries to detect the best one for each trunc/ext subtree in the graph
and use it for the subtree.
Results in better code and less vector register pressure.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant.test 92549.00 92609.00 0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 663381.00 663493.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 663381.00 663493.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 307182.00 307214.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1394420.00 1394484.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1394420.00 1394484.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2040257.00 2040273.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12396098.00 12395858.00 -0.0%
test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test 909944.00 909768.00 -0.0%
SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant - 4 scalar
instructions remain scalar (good).
Spec2017/x264 - the whole function idct4x4dc is vectorized using <16
x i16> instead of <16 x i32>, also zext/trunc are removed. In other
places last vector zext/sext removed and replaced by
extractelement + scalar zext/sext pair.
MultiSource/Benchmarks/Bullet/bullet - reduce or <4 x i32> replaced by
reduce or <4 x i8>
Spec2017/imagick - Removed extra zext from 2 packs of the operations.
Spec2017/parest - Removed extra zext, replaced by extractelement+scalar
zext
Spec2017/blender - the whole bunch of vector zext/sext replaced by
extractelement+scalar zext/sext, some extra code vectorized in smaller
types.
Spec2006/gobmk - fixed cost estimation, some small code remains scalar.
Original Pull Request: https://github.com/llvm/llvm-project/pull/84334
The patch has the same functionality (no test changes, no changes in
benchmarks) as the original patch, just has some compile time
improvements + fixes for xxhash unittest, discovered earlier in the
previous version of the patch.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/84536
Commit: 021f5f7a9c9be176ae686826b2beab1964ca4254
https://github.com/llvm/llvm-project/commit/021f5f7a9c9be176ae686826b2beab1964ca4254
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
R llvm/test/tools/dsymutil/ARM/obfuscated.test
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
R llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.map
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/dsymutil/MachOUtils.h
M llvm/tools/dsymutil/Options.td
R llvm/tools/dsymutil/SymbolMap.cpp
R llvm/tools/dsymutil/SymbolMap.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
[dsymutil] Remove support for obfuscated bitcode (#85713)
Remove support for obfuscated bitcode in dsymutil and the DWARF linker.
We no longer support bitcode submissions and the obfuscation support has
been removed from the rest of the compiler.
rdar://123863918
Commit: cfeaaa9a673291fbcdbd8fe319c49e06c4d28b94
https://github.com/llvm/llvm-project/commit/cfeaaa9a673291fbcdbd8fe319c49e06c4d28b94
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/avgceils.ll
A llvm/test/CodeGen/X86/avgceilu.ll
A llvm/test/CodeGen/X86/avgfloors.ll
A llvm/test/CodeGen/X86/avgflooru.ll
Log Message:
-----------
[X86] Add test coverage for vector avgceils/avgceilu/avgfloors/avgflooru test patterns
SSE only has AVGCEILU vXi8/vXi16 support - but for other types we should be trying to use the fixed width expansion instead of extensions
Commit: d607328895851b09fbde0da628751dea170a1296
https://github.com/llvm/llvm-project/commit/d607328895851b09fbde0da628751dea170a1296
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [hwasan] also be more consistent when getting pointer types (#84399)
Commit: c913ee91a96da342a123361c0a56c8b2ad2928cb
https://github.com/llvm/llvm-project/commit/c913ee91a96da342a123361c0a56c8b2ad2928cb
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/MC/MCInstrAnalysis.h
Log Message:
-----------
Trim trailing whitespaces in MCInstrAnalysis.h. NFC. (#85805)
Commit: cf85a91facf420e2e1703000dfbfefb25d05f8cd
https://github.com/llvm/llvm-project/commit/cf85a91facf420e2e1703000dfbfefb25d05f8cd
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
Reapply "[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)"
Fixes a build error caused by an unupdated getAsInstruction callsite in clang.
This reverts commit ab851f7fe946e7eed700ef9d82082eb721860189.
Commit: 6094c7a3508ad929435e19aa86ff6667930889ed
https://github.com/llvm/llvm-project/commit/6094c7a3508ad929435e19aa86ff6667930889ed
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
Log Message:
-----------
[MLIR][NVVM] Add barrier.arrive (#85412)
PR adds `nvvm.barrier.arrive` Op. It is useful op for producer consumer
modeling.
Commit: 0b1f2dfa148ad632c75e251314a3ef26800b0a2d
https://github.com/llvm/llvm-project/commit/0b1f2dfa148ad632c75e251314a3ef26800b0a2d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add more mess
Commit: aceb11f34e52cd3ecb2559412ac209c67304f0b6
https://github.com/llvm/llvm-project/commit/aceb11f34e52cd3ecb2559412ac209c67304f0b6
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add a mask for SK_Broadcast shuffle costing (#85808)
This is part of a series of small patches to compute shuffle masks for
the couple of cases where we call getShuffleCost without one. My goal is
to add an invariant that all calls to getShuffleCost for fixed length
vectors have a mask.
Note that this code appears to be reachable with scalable vectors, and
thus we have to only pass a non-empty mask when the number of elements
is precisely known.
Commit: dd472100328821407ccda078d66fa617f7fd967d
https://github.com/llvm/llvm-project/commit/dd472100328821407ccda078d66fa617f7fd967d
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/idot.ll
Log Message:
-----------
[DXIL] implement dot intrinsic lowering for integers (#85662)
this implements part 1 of 2 for #83626
- `CGBuiltin.cpp` - modified to have seperate cases for signed and
unsigned integers.
- `SemaChecking.cpp` - modified to prevent the generation of a double
dot product intrinsic if the builtin were to be called directly.
- `IntrinsicsDirectX.td` creation of the signed and unsigned dot
intrinsics needed for instruction expansion.
- `DXILIntrinsicExpansion.cpp` - handle instruction expansion cases for
integer dot product.
Commit: 1aeec25ccfc60c2a86c4d29cc2a656b21b35c747
https://github.com/llvm/llvm-project/commit/1aeec25ccfc60c2a86c4d29cc2a656b21b35c747
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
Log Message:
-----------
[MLIR][LLVM][SROA] Avoid splitting dynamically indexed allocas (#85758)
This commit ensures that SROA does no longer attempt to split allocas
that are indexed into dynamically. Dynamic indices into arrays are
allowed to be negative or out-of-bounds, when the alloca containing the
array has memory backing these produced indices.
Commit: d7ffc0513fa41ac3cd13e83ef639accde5cef7dd
https://github.com/llvm/llvm-project/commit/d7ffc0513fa41ac3cd13e83ef639accde5cef7dd
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CPP/array.h
A libc/src/__support/CPP/iterator.h
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/array_test.cpp
Log Message:
-----------
[libc][cpp] reverse_iterator support (#85702)
Towards the goal of implementing __cxa_finalize (#85651) I'd like to be able to
reverse iterate over cpp::arrays such as the one used in FixedVector.
Implement the enough iterator support to be able to iterate a cpp::array in
reverse, and add tests.
Of note, reverse iterator's begin() refers to forward iterator's end() (and
vice versa). When dereferenced (operator*), the reverse iterator returns a copy
that's been pre-decremented (the underlying forward iterator is advanced).
Commit: 9da10033b4cd65c4899a1bf2575f4304c56ae736
https://github.com/llvm/llvm-project/commit/9da10033b4cd65c4899a1bf2575f4304c56ae736
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/PHITransAddr.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/IntrinsicLowering.cpp
M llvm/lib/CodeGen/JMCInstrumenter.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFPreserveDIType.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
[NFC][RemoveDIs] Use iterators for insertion at various call-sites (#84736)
These are the last remaining "trivial" changes to passes that use
Instruction pointers for insertion. All of this should be NFC, it's just
changing the spelling of how we identify a position.
In one or two locations, I'm also switching uses of getNextNode etc to
using std::next with iterators. This too should be NFC.
---------
Merged by: Stephen Tozer <stephen.tozer at sony.com>
Commit: 78d7683482393b0969e14216ba8c5913de9326d3
https://github.com/llvm/llvm-project/commit/78d7683482393b0969e14216ba8c5913de9326d3
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
Log Message:
-----------
[RISCV] Add test for strided load combine regression. NFC
This adds a reduced test case for the regression seen in x264 with #83035.
If the intermediate concatenating shuffles are large enough then the
splitting combine will prevent the strided load combine which is
preferable.
Commit: c2b28f8c8f96bf6113c8335f446c33f0c33c182a
https://github.com/llvm/llvm-project/commit/c2b28f8c8f96bf6113c8335f446c33f0c33c182a
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/test/ELF/aarch64-tlsdesc-zrel.s
M lld/test/ELF/pack-dyn-relocs.s
M llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
M llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
M llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
M llvm/test/tools/llvm-readobj/ELF/hex-dump-multi.s
M llvm/test/tools/llvm-readobj/ELF/hex-dump.test
M llvm/test/tools/llvm-readobj/ELF/string-dump-multi.s
M llvm/test/tools/llvm-readobj/ELF/string-dump.test
M llvm/tools/llvm-readobj/ObjDumper.cpp
Log Message:
-----------
[llvm-readelf] Print a blank line for the first hex/string dump
GNU readelf prints a blank line before the first hex/string dump, which
serves as a separator when there are other dump operations. Port the
behavior.
Pull Request: https://github.com/llvm/llvm-project/pull/85744
Commit: e6836ce0d48882ce324796702f84202c4f3dbcd8
https://github.com/llvm/llvm-project/commit/e6836ce0d48882ce324796702f84202c4f3dbcd8
Author: Michele Scandale <michele.scandale at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
Log Message:
-----------
[InstCombine] Fix for folding `select` into floating point binary operators. (#83200)
Folding a `select` into a floating point binary operators can only be
done if the result is preserved for both case. In particular, if the
other operand of the `select` can be a NaN, then the transformation
won't preserve the result value.
Commit: c94eded02e7077d76deb65e71226bc8d40449eea
https://github.com/llvm/llvm-project/commit/c94eded02e7077d76deb65e71226bc8d40449eea
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/AST/DeclPrinter.cpp
Log Message:
-----------
Fixing up an edit missed in #84014; NFC
Commit: b6f928f41ac15fd213beaac5643c6764bf6311d6
https://github.com/llvm/llvm-project/commit/b6f928f41ac15fd213beaac5643c6764bf6311d6
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
Log Message:
-----------
AMDGPU: Treat SWMMAC the same as MFMA and other WMMA for sched_barrier (#85721)
Commit: ca12c1483edbbcb4ef618f7879762b404233108e
https://github.com/llvm/llvm-project/commit/ca12c1483edbbcb4ef618f7879762b404233108e
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
[mlir][ArmNeon] Implements unrolling patterns for LowerContractionToSMMLAPattern (#84848)
This patch updates `LowerContractionToSMMLAPattern` to unroll larger vector contracts into multiple smmla instructions.
Now accepts up to [8,8,8] tiles (previously only [2,2,8]). The N/M dimensions must be powers of 2. `vector.extract_strided_slice`/`vector.insert_strided_slice` divides the contract into tiles to be processed in a row.
Commit: 21d4dd327227e7f2eadba08e8f05e7ee100ab56a
https://github.com/llvm/llvm-project/commit/21d4dd327227e7f2eadba08e8f05e7ee100ab56a
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/separate-mp05.f90
Log Message:
-----------
[Flang] Fix to the module procedure interface block ignoring implicit… (#85735)
… of host scoping unit.
Fix as proposed by @thtsikas [here
](https://github.com/llvm/llvm-project/commit/11d07d9ef618497b825badee8b4f06a48575606b#commitcomment-139798026).
Commit: a44c935d50765ffa4afb171acf907b099c367022
https://github.com/llvm/llvm-project/commit/a44c935d50765ffa4afb171acf907b099c367022
Author: Brad Smith <brad at comstyle.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP] Enable the affinity tests on FreeBSD, NetBSD and DragonFly (#85500)
FreeBSD, NetBSD and DragonFly also have affinity support. So enable the tests there as well.
Commit: de1bbdacd692b8b88973802736aa795cf661a106
https://github.com/llvm/llvm-project/commit/de1bbdacd692b8b88973802736aa795cf661a106
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A openmp/libomptarget/test/offloading/workshare_chunk.c
Log Message:
-----------
[NFC][OpenMP] Add test checking clang offload chunking policy (#83261)
Verify how clang handles `dist_schedule(static, block_chunk)` and
`schedule(static, thread_chunk)` clauses for OpenMP offload loop
workshare pragmas.
Commit: fcc389fb31be0e335ab2e739bc4788a308131785
https://github.com/llvm/llvm-project/commit/fcc389fb31be0e335ab2e739bc4788a308131785
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
A clang/test/Driver/fsanitize-signed-integer-overflow.c
Log Message:
-----------
[Driver] -fsanitize=undefined: don't expand to signed-integer-overflow if -fwrapv (#85501)
Linux kernel uses -fwrapv to change signed integer overflows from
undefined behaviors to defined behaviors. However, the security folks
still want -fsanitize=signed-integer-overflow diagnostics. Their
intention can be expressed with -fwrapv
-fsanitize=signed-integer-overflow (#80089). This mode by default
reports recoverable errors while still making signed integer overflows
defined (most UBSan checks are recoverable by default: you get errors in
stderr, but the program is not halted).
-fsanitize=undefined -fwrapv users likely want to suppress
signed-integer-overflow, unless signed-integer-overflow is explicitly
enabled. Implement this suppression.
Commit: c36760a2e59d7444e6755b4953e89f82ac15b648
https://github.com/llvm/llvm-project/commit/c36760a2e59d7444e6755b4953e89f82ac15b648
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/test/ELF/aarch64-tlsdesc-zrel.s
Log Message:
-----------
[test] Fix aarch64-tlsdesc-zrel.s
Commit: 56edd34e846acb7540a5f940db8e8ea8cf2c5197
https://github.com/llvm/llvm-project/commit/56edd34e846acb7540a5f940db8e8ea8cf2c5197
Author: Andres Villegas <andresvi at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
A llvm/test/tools/dsymutil/ARM/obfuscated.test
A llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
A llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
A llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
A llvm/test/tools/dsymutil/Inputs/obfuscated.map
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/dsymutil/MachOUtils.h
M llvm/tools/dsymutil/Options.td
A llvm/tools/dsymutil/SymbolMap.cpp
A llvm/tools/dsymutil/SymbolMap.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
Revert "[dsymutil] Remove support for obfuscated bitcode" (#85826)
Reverts llvm/llvm-project#85713 Since it is breaking Linux x64 builds.
Commit: 9c0ef555816ce9f79834a3a2c2d00b21cd3d2e4e
https://github.com/llvm/llvm-project/commit/9c0ef555816ce9f79834a3a2c2d00b21cd3d2e4e
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
Log Message:
-----------
[WebAssembly] Pass ArrayRef by value (NFC) (#85732)
`ArrayRef` is supposed to be passed by value:
https://github.com/llvm/llvm-project/blob/bda05140fb758156ae35f3919e6283d94bfa3905/llvm/include/llvm/ADT/ArrayRef.h#L38-L39
Commit: 4aa983ee771ce7ce3c3354acb5d625d1b03b53a7
https://github.com/llvm/llvm-project/commit/4aa983ee771ce7ce3c3354acb5d625d1b03b53a7
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
M llvm/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
Expose TimeTraceProfiler for Async Events (#83778)
To avoid issue like https://github.com/llvm/llvm-project/issues/56554
and https://github.com/llvm/llvm-project/issues/83236 due to no
guarantees for nested relationships between file level span and syntax
tree level span, I'd like to have a `timeTraceAsyncProfilerBegin`
specific to trace handling only `Source` spans around
https://github.com/llvm/llvm-project/blob/8715f256911786520bb727ce067098d7082ac45c/clang/lib/Sema/Sema.cpp#L153-L170.
This is a preparation PR to do that in [following
PR](https://github.com/llvm/llvm-project/pull/83961).
Commit: 0394f4733efea487775cabeaf1dfb962c8f44dab
https://github.com/llvm/llvm-project/commit/0394f4733efea487775cabeaf1dfb962c8f44dab
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] fix missing iterator inclusion (#85840)
Patch #85702 added a new iterator header for array to use, but didn't
add it as a dependency in the bazel build. This patch fixes the issue.
Commit: 9187d82a8b2643daf01ab1e40024d152651bc460
https://github.com/llvm/llvm-project/commit/9187d82a8b2643daf01ab1e40024d152651bc460
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[Headers][X86] Add rounding and exception notes to conversions (#83447)
Consistently describe rounding/truncating on convert intrinsics. Add
notes where an out-of-range result can raise an exception.
Commit: 6cabe7a7659bf749c3c169387e8dd603c5e41720
https://github.com/llvm/llvm-project/commit/6cabe7a7659bf749c3c169387e8dd603c5e41720
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[HLSL] Fix for build break introduced by #85662 (#85839)
This change fixes a test case failure caused by pr #85662
Commit: 2fc31e9cab0b13a47c8116fe972d91f0adc5f85d
https://github.com/llvm/llvm-project/commit/2fc31e9cab0b13a47c8116fe972d91f0adc5f85d
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
Log Message:
-----------
[clang-tidy] Add support for lambdas in cppcoreguidelines-owning-memory (#77246)
Implement proper support for lambdas and sub-functions/classes.
Moved from https://reviews.llvm.org/D157285
Fixes: #59389
Commit: db07deb407512129097f689aa3e628ba925a8ae6
https://github.com/llvm/llvm-project/commit/db07deb407512129097f689aa3e628ba925a8ae6
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp
Log Message:
-----------
[clang-tidy] Add bugprone-suspicious-stringview-data-usage check (#83716)
This check identifies suspicious usages of std::string_view::data() that
could lead to reading out-of-bounds data due to inadequate or incorrect
string null termination.
Closes #80854
Commit: 63b2ca523938aeb3975a10ffd18cf9e88193347a
https://github.com/llvm/llvm-project/commit/63b2ca523938aeb3975a10ffd18cf9e88193347a
Author: alexfh <alexfh at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/test/Transforms/Float2Int/basic.ll
Log Message:
-----------
Revert "[Float2Int] Resolve FIXME: Pick the smallest legal type that fits" (#85843)
Reverts llvm/llvm-project#79158, which causes a miscompile. See
https://github.com/llvm/llvm-project/pull/79158#issuecomment-2007842032
Commit: 7f3b3584cb287d6e53bf8415787bd05867e806d8
https://github.com/llvm/llvm-project/commit/7f3b3584cb287d6e53bf8415787bd05867e806d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
Log Message:
-----------
[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)
Dropping disjoint from an OR may yield incorrect results, as some
analysis may have converted it to an Add implicitly (e.g. SCEV used for
dependence analysis). Instead, replace it with an equivalent Add.
This is possible as all users of the disjoint OR only access lanes where
the operands are disjoint or poison otherwise.
Note that replacing all disjoint ORs with ADDs instead of dropping the
flags is not strictly necessary. It is only needed for disjoint ORs that
SCEV treated as ADDs, but those are not tracked.
There are other places that may drop poison-generating flags; those
likely need similar treatment.
Fixes https://github.com/llvm/llvm-project/issues/81872
PR: https://github.com/llvm/llvm-project/pull/83821
Commit: d49b50b8288765b63252b6fc7fed5f82f3185553
https://github.com/llvm/llvm-project/commit/d49b50b8288765b63252b6fc7fed5f82f3185553
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT] Update DIEStreamer (#85818)
commit 43a2ec483fe08064b53a6293682e9bab97df61a0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: Tue Mar 19 08:30:47 2024 -0700
removed parameter Translator from the constructor of DwarfStreamer.
This patch fixes the build by updating the constructor of DIEStreamer
accordingly.
Commit: bc0ede00070f5c42a1786fcbf793ead4c154658e
https://github.com/llvm/llvm-project/commit/bc0ede00070f5c42a1786fcbf793ead4c154658e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
[SLP]Do extra analysis int minbitwidth if some checks return false.
The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84363
Commit: 1e9f8ee0a3a143b6fc73b7c572a935ce9b212c48
https://github.com/llvm/llvm-project/commit/1e9f8ee0a3a143b6fc73b7c572a935ce9b212c48
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/copysign-fneg-fabs.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] Clear sign-bit of the constant magnitude in copysign (#85787)
Alive2: https://alive2.llvm.org/ce/z/vFykcZ
Address the comment
https://github.com/llvm/llvm-project/pull/85772#discussion_r1530179048.
Unfortunately, non-splat vector constants are not supported because we
haven't implemented constant folding of fabs with vector operands.
Commit: bc0c48938db670813318884d5e97bfc1a6b0daf5
https://github.com/llvm/llvm-project/commit/bc0c48938db670813318884d5e97bfc1a6b0daf5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
R llvm/test/tools/dsymutil/ARM/obfuscated.test
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
R llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.map
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/dsymutil/MachOUtils.h
M llvm/tools/dsymutil/Options.td
R llvm/tools/dsymutil/SymbolMap.cpp
R llvm/tools/dsymutil/SymbolMap.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
[dsymutil] Remove support for obfuscated bitcode (#85713)
Remove support for obfuscated bitcode in dsymutil and the DWARF linker.
We no longer support bitcode submissions and the obfuscation support has
been removed from the rest of the compiler.
rdar://123863918
Commit: c51060be1e4f445ee4286d599d2a0a14cabeed08
https://github.com/llvm/llvm-project/commit/c51060be1e4f445ee4286d599d2a0a14cabeed08
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
Revert "[BOLT] Update DIEStreamer (#85818)"
This reverts commit e4f9175d23950ecaef32db075ed47dafe3be555c.
commit 3176c157190c80b4279dec86c4b9b84472d8ccac
Author: Andres Villegas <andresvi at google.com>
Date: Tue Mar 19 10:58:31 2024 -0700
reverted 43a2ec483fe08064b53a6293682e9bab97df61a0.
Commit: c2af5778523481223b6d8f62177261fa3a2b3024
https://github.com/llvm/llvm-project/commit/c2af5778523481223b6d8f62177261fa3a2b3024
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[ArmNeonTransforms][Bazel] Added appropriate deps for BUILD.bazel file. (#85852)
Commit: 5ebdeed0190d19e8c03a47a63fabc95ed634e4a4
https://github.com/llvm/llvm-project/commit/5ebdeed0190d19e8c03a47a63fabc95ed634e4a4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/src/stdio/printf_core/string_converter.h
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Make 'printf' converter output "(null)" instead of "null" (#85845)
Summary:
Currently we print `null` for the null pointer in a `%s` expression.
Although it's not defined by the standard, other implementations choose
to use `(null)` to indicate this. We also currently print `(nullptr)` so
I think it's more consistent to use parens in both cases.
Commit: 7edcd308f78a005fac4fe7402667b6c0d80eb8a1
https://github.com/llvm/llvm-project/commit/7edcd308f78a005fac4fe7402667b6c0d80eb8a1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT] Update DWARFRewriter for 32a6e9d66945
Commit: 3e9f4a409e65e4cb39beba8e9cd28c9ca19d937f
https://github.com/llvm/llvm-project/commit/3e9f4a409e65e4cb39beba8e9cd28c9ca19d937f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/test/offloading/barrier_fence.c
Log Message:
-----------
Revert "[OpenMP] Disable flaky barrier fence test (#85093)"
This reverts commit cd8843f87af2f04a85dda12b37738596cbf4cd5e.
Originally disabled to try to unstick the AMD build bot, didn't make a
difference after a week so it goes back in.
Commit: 96b00f43149c5d1c48168d7c936f1010b7d21531
https://github.com/llvm/llvm-project/commit/96b00f43149c5d1c48168d7c936f1010b7d21531
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
Log Message:
-----------
[libc][math][c23] Add linux/* entrypoints for nextup* and nextdown* (#85803)
See
https://github.com/llvm/llvm-project/pull/85484#discussion_r1526971653.
There already were entrypoints for linux/x86_64. I haven't tested on the other
targets and will rely on the buildbots.
Commit: 36dd784fcaaddff7d0b796e3fe12e01ccf3b6597
https://github.com/llvm/llvm-project/commit/36dd784fcaaddff7d0b796e3fe12e01ccf3b6597
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 28c1279db354
Commit: d62f186af3dca84b4572b71bd3a4e673d2ae10c2
https://github.com/llvm/llvm-project/commit/d62f186af3dca84b4572b71bd3a4e673d2ae10c2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Log Message:
-----------
[gn build] Port 32a6e9d66945
Commit: 0f779f51f4a53d0bc55eb4c61b77e6d78d840b15
https://github.com/llvm/llvm-project/commit/0f779f51f4a53d0bc55eb4c61b77e6d78d840b15
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Disable using FatLTO on Apple platforms (#85708)
FatLTO currently only supports ELF, so ensure we don't use it
on non-ELF platforms.
Commit: cd5afd2059a06e4663d9ab0044d88d4da3983dc9
https://github.com/llvm/llvm-project/commit/cd5afd2059a06e4663d9ab0044d88d4da3983dc9
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LCSSA.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Rename DPValue -> DbgVariableRecord (#85216)
This is the major rename patch that prior patches have built towards.
The DPValue class is being renamed to DbgVariableRecord, which reflects
the updated terminology for the "final" implementation of the RemoveDI
feature. This is a pure string substitution + clang-format patch. The
only manual component of this patch was determining where to perform
these string substitutions: `DPValue` and `DPV` are almost exclusively
used for DbgRecords, *except* for:
- llvm/lib/target, where 'DP' is used to mean double-precision, and so
appears as part of .td files and in variable names. NB: There is a
single existing use of `DPValue` here that refers to debug info, which
I've manually updated.
- llvm/tools/gold, where 'LDPV' is used as a prefix for symbol
visibility enums.
Outside of these places, I've applied several basic string
substitutions, with the intent that they only affect DbgRecord-related
identifiers; I've checked them as I went through to verify this, with
reasonable confidence that there are no unintended changes that slipped
through the cracks. The substitutions applied are all case-sensitive,
and are applied in the order shown:
```
DPValue -> DbgVariableRecord
DPVal -> DbgVarRec
DPV -> DVR
```
Following the previous rename patches, it should be the case that there
are no instances of any of these strings that are meant to refer to the
general case of DbgRecords, or anything other than the DPValue class.
The idea behind this patch is therefore that pure string substitution is
correct in all cases as long as these assumptions hold.
Commit: 1bf4d54eb94b4abb56b0671d99c5d6efafd0b784
https://github.com/llvm/llvm-project/commit/1bf4d54eb94b4abb56b0671d99c5d6efafd0b784
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
A lld/test/MachO/objc-category-merging-complete-test.s
A lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Implement ObjC category merging (-objc_category_merging) (#85727)
This change adds a flag to lld to enable category merging for MachoO +
ObjC.
It adds the '-objc_category_merging' flag for enabling this option and
uses the existing '-no_objc_category_merging' flag for disabling it.
In ld64, this optimization is enabled by default, but in lld, for now,
we require explicitly passing the '-objc_category_merging' flag in order
to enable it.
Behavior: if in the same link unit, multiple categories are extending
the same class, then they get merged into a single category.
Ex: Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2,
property1) = Cat1_2(method1+method2+method3+method4,
protocol1+protocol2, property1)
Notes on implementation decisions made in this diff:
There is a possibility to further improve the current implementation by
directly merging the category data into the base class (if the base
class is present in the link unit) - this improvement may be done as a
follow-up. This improved functionality is already present in ld64.
We do the merging on the raw inputSections - after dead-stripping
(categories can't be dead stripped anyway).
The changes are mostly self-contained to ObjC.cpp, except for adding a
new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece to
mark that this data has been optimized away. Another way to do it would
have been to just mark the pieces as not 'live' but this would cause the
old symbols to show up in the linker map as being dead-stripped - even
if dead-stripping is disabled. This flag allows us to match the ld64
behavior.
Note: This is a re-land of
https://github.com/llvm/llvm-project/pull/82928 after fixing using
already freed memory in `generatedSectionData`. This issue was detected
by ASAN build.
---------
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: d3f7bd83a919abf74b6bb12849e4c1b87538fcfe
https://github.com/llvm/llvm-project/commit/d3f7bd83a919abf74b6bb12849e4c1b87538fcfe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Update syntax of fir.cuda_kernel_launch to match fir.call (#85814)
`fir.cuda_kernel_launch` represents a call to a cuda kernel with the
chervon syntax. Its assembly format is meant to match `fir.call`. This
patch updates the format to match the syntax closer for args and their
types.
Commit: 2d425d249482585e9484d0c0c9677069cc122f4b
https://github.com/llvm/llvm-project/commit/2d425d249482585e9484d0c0c9677069cc122f4b
Author: Evan Wilde <etceterawilde at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Preprocessor/sysroot-prefix.c
Log Message:
-----------
Add support for sysroot-relative system header search paths (#82084)
Clang supported header searchpaths of the form `-I =/path`, relative to
the sysroot if one is passed, but did not implement that behavior for
`-iquote`, `-isystem`, or `-idirafter`.
This implements the `=` portion of the behavior implemented by GCC for
these flags described in
https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html.
Commit: 9fc6857da6e86b6f33219d9758b5df86b4f59447
https://github.com/llvm/llvm-project/commit/9fc6857da6e86b6f33219d9758b5df86b4f59447
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/X86/pr85681.ll
Log Message:
-----------
[DAG] SimplifyShift - shift i1/vXi1 X, Y --> X (any non-zero shift amount is undefined).
Alive2: https://alive2.llvm.org/ce/z/SdESbg
Fixes #85681
Commit: a2f3e7a166652a425bebd6852621949bf155f333
https://github.com/llvm/llvm-project/commit/a2f3e7a166652a425bebd6852621949bf155f333
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for SelectOp (#85430)
Add missing constant propogation folder for spirv.Select
Implement additional folding when both selections are equivalent or the
condition is a constant Scalar/SplatVector.
Allows for constant folding in the IndexToSPIRV pass.
Part of work #70704
Commit: ac9acf543345ae2cf7f9a5e9d16b0522c258f590
https://github.com/llvm/llvm-project/commit/ac9acf543345ae2cf7f9a5e9d16b0522c258f590
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[cmake] Reenable FatLTO for Fuchsia toolchains
We can reenable this now that FatLTO won't be enabled for Mac platforms
Pull Request: https://github.com/llvm/llvm-project/pull/85709
Commit: a33f0565d10a381dc2d36ee7aebdbd32469f2373
https://github.com/llvm/llvm-project/commit/a33f0565d10a381dc2d36ee7aebdbd32469f2373
Author: Alfie Richards <alfie.richards at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
M llvm/test/MC/ARM/basic-arm-instructions.s
Log Message:
-----------
[ARM] FIX: Fix parsing `pkhtb` with a condition code
This was broken by https://github.com/llvm/llvm-project/pull/83436 as in
optional operands meant when the CC operand is provided the
`parsePKHImm` parser is applied to register operands, which previously
erroneously produced an error.
Commit: cef38c9f790eeb3cf9dad8070fb83b3502244a49
https://github.com/llvm/llvm-project/commit/cef38c9f790eeb3cf9dad8070fb83b3502244a49
Author: quic-areg <aregmi at quicinc.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/hexagon-default-build-attributes.s
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
A llvm/include/llvm/Support/HexagonAttributeParser.h
A llvm/include/llvm/Support/HexagonAttributes.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/HexagonAttributeParser.cpp
A llvm/lib/Support/HexagonAttributes.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
M llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
A llvm/test/CodeGen/Hexagon/build-attributes.ll
A llvm/test/MC/Hexagon/directive-attribute-err.s
A llvm/test/MC/Hexagon/directive-attribute.s
A llvm/test/MC/Hexagon/hexagon_attributes.s
M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[Hexagon] ELF attributes for Hexagon (#85359)
Defines a subset of attributes and emits them to a section called
.hexagon.attributes.
The current attributes recorded are the attributes needed by
llvm-objdump to automatically determine target features and eliminate
the need to manually pass features.
Commit: 47b8d5a7988d9352ac7b53a95d766a3949d2c01b
https://github.com/llvm/llvm-project/commit/47b8d5a7988d9352ac7b53a95d766a3949d2c01b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 31f4b329c823
Commit: 46c785b8390499c68afe9d347616807aa0ce875b
https://github.com/llvm/llvm-project/commit/46c785b8390499c68afe9d347616807aa0ce875b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[libc][bazel] unglob libc macros (#85831)
In a previous patch an "internal_includes" target was created to give
access to the macro headers. This patch removes that in favor of
individual targets for these headers, better matching the existing code.
Commit: 07d93e78bc9f239108e2ca9491912f2fccdd6fdb
https://github.com/llvm/llvm-project/commit/07d93e78bc9f239108e2ca9491912f2fccdd6fdb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
Log Message:
-----------
[InstCombine] Add more tests for simplifying `(icmp (and/or x, Mask), y)`; NFC
Commit: 29c191af2ebae6f1b6b2b5e24a512b446a92125b
https://github.com/llvm/llvm-project/commit/29c191af2ebae6f1b6b2b5e24a512b446a92125b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
Log Message:
-----------
[InstCombine] Add more cases for simplifying `(icmp (and/or x, Mask), y)`
This cleans up basically all the regressions assosiated from #84688
Proof of all new cases: https://alive2.llvm.org/ce/z/5yYWLb
Closes #85445
Commit: 7412125ecab5d5c618d2bd4909434c6626edde03
https://github.com/llvm/llvm-project/commit/7412125ecab5d5c618d2bd4909434c6626edde03
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/int-to-fp-demanded.ll
Log Message:
-----------
[DAGCombiner] Add tests for simplifying `{si|ui}tofp`; NFC
Commit: 39bb6dc63617b197e2cb066f62c590ad06202eaa
https://github.com/llvm/llvm-project/commit/39bb6dc63617b197e2cb066f62c590ad06202eaa
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
M llvm/test/CodeGen/X86/int-to-fp-demanded.ll
Log Message:
-----------
[DAGCombiner] Simplifying `{si|ui}tofp` when only signbit is needed
If we only need the signbit `uitofp` simplified to 0, and `sitofp`
simplifies to `bitcast`.
Closes #85138
Commit: 8ea887d734fc0fa2725a7964a6acf9e69febe5e6
https://github.com/llvm/llvm-project/commit/8ea887d734fc0fa2725a7964a6acf9e69febe5e6
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/bswap.ll
Log Message:
-----------
[NVPTX] Use PTX prmt for llvm.bswap (#85545)
Commit: 23ea06085d3a476f300cdc9fdcb26d04c1f819ee
https://github.com/llvm/llvm-project/commit/23ea06085d3a476f300cdc9fdcb26d04c1f819ee
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[Support] Add decodeULEB128AndInc/decodeSLEB128AndInc
Many decodeULEB128/decodeSLEB128 users need to increment the pointer.
Add helpers to simplify this common pattern. We don't add `end` and
`error` parameters at present because many users don't need them.
Pull Request: https://github.com/llvm/llvm-project/pull/85739
Commit: 5049b2611d79cb1e1b0536e19168b2e93a5838f6
https://github.com/llvm/llvm-project/commit/5049b2611d79cb1e1b0536e19168b2e93a5838f6
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFC] [hwasan] factor get[PC|FP] out of HWASan class (#84404)
Also be consistent about naming SP / FP.
This is to prepare for stack history buffer for memtag-stack
Commit: d7cdc4ead1cc79facb1e7f0c3e91207f93acf54c
https://github.com/llvm/llvm-project/commit/d7cdc4ead1cc79facb1e7f0c3e91207f93acf54c
Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[OpenMP] Increment kernel args version, used by runtime for detecting dyn_ptr. (#85363)
A kernel implicit parameter (dyn_ptr) was introduced some time back.
This patch increments the kernel args version for a compiler supporting
dyn_ptr. The version will be used by the runtime to determine whether
the implicit parameter is generated by the compiler. The versioning is
required to support use cases where code generated by an older compiler
is linked with a newer runtime.
If approved, this patch should be backported to release 18.
Commit: 3a5896f979d62c2dc2c824cf1e66f8f32c524ca3
https://github.com/llvm/llvm-project/commit/3a5896f979d62c2dc2c824cf1e66f8f32c524ca3
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Move some operations from link to setConfigs. NFC
Commit: 3f4a35166688e22f7f9319457813b5b396c91a23
https://github.com/llvm/llvm-project/commit/3f4a35166688e22f7f9319457813b5b396c91a23
Author: Lei Wang <wlei at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/Transforms/SampleProfile/Inputs/csspgo-import-list-preinliner.prof
A llvm/test/Transforms/SampleProfile/csspgo-import-list-preinliner.ll
Log Message:
-----------
[CSSPGO] Fix the issue of preinliner import function list (#85719)
By design, when the nested profile is pre-inliner based, we should fully
honor pre-inliner decision, fix it by setting threshold to zero. We
observed a perf win on one internal service, no negative impact for
other big services.
Commit: e309c059d6c736d58506e04f84a060d82315e98b
https://github.com/llvm/llvm-project/commit/e309c059d6c736d58506e04f84a060d82315e98b
Author: Jeremy Kun <jkun at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Add Maksim and me to office hours (#85824)
Followup from
https://discourse.llvm.org/t/extending-an-invitation-to-compiler-newbies-compilers-coffee/77776
Commit: 2bc2211a127262c2d4f321d896122f6e51dd8ef0
https://github.com/llvm/llvm-project/commit/2bc2211a127262c2d4f321d896122f6e51dd8ef0
Author: Jiahan Xie <88367305+jiahanxie353 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ld.ll
Log Message:
-----------
[GISEL][RISCV] IRTranslator for scalable vector load (#80006)
Add IRTranslator for scalable vector load instruction and include
corresponding tests with alignment argument included, which can be
smaller/equal/larger than element size or smaller/equal/larger than the
minimum total vector size.
Commit: 0109d8c63098a5ec4b6db1f59bc46174c7349fab
https://github.com/llvm/llvm-project/commit/0109d8c63098a5ec4b6db1f59bc46174c7349fab
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Make LinkerDrive::link a template. NFC
This avoids many invokeELFT in `link`.
Commit: 0c975704b4550439efe061188ebb14056e5b5189
https://github.com/llvm/llvm-project/commit/0c975704b4550439efe061188ebb14056e5b5189
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
Revert "[llvm] Include LLVM_REPOSITORY and LLVM_REVISION in tool version" (#85879)
Reverts llvm/llvm-project#84990 because this causes a full rebuild after
the commit hash changes.
Commit: a992ffc74a1072a99e85464cd3eb4882c70f206a
https://github.com/llvm/llvm-project/commit/a992ffc74a1072a99e85464cd3eb4882c70f206a
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRFuncDialect dep to MLIRMemRefToLLVM (#84546)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRMemRefToLLVM.a only:
```
In file included from mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp:18:
mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error: mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory
```
Commit: b02989c67d92b6d01af33c0d61a101cc966ac39e
https://github.com/llvm/llvm-project/commit/b02989c67d92b6d01af33c0d61a101cc966ac39e
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/Sema/PR85343.cpp
Log Message:
-----------
[Clang][Sema] Fix a crash in lambda instantiation (#85565)
Fix https://github.com/llvm/llvm-project/issues/85343
When build lambda expression in lambda instantiation, `ThisType` is
required in `Sema::CheckCXXThisCapture` to build `this` capture. Set
`this` type by import `Sema::CXXThisScopeRAII` and it will be used later
in lambda expression transformation.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: a1e895a8c72ae4d765498ba173cdfc73e33604c5
https://github.com/llvm/llvm-project/commit/a1e895a8c72ae4d765498ba173cdfc73e33604c5
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/include/lldb/API/SBTarget.h
Log Message:
-----------
[lldb/API] Add missing `eBroadcastBitSymbolsChanged` to SBTarget (NFC) (#85883)
This patch exposes the missing `eBroadcastBitSymbolsChanged` event bit
in `SBTarget`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: c78fa1ddf2449bc527ca048b4a5709e111fd9ade
https://github.com/llvm/llvm-project/commit/c78fa1ddf2449bc527ca048b4a5709e111fd9ade
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/TraceDumper.cpp
Log Message:
-----------
Revert "[lldb] Store SupportFile in FileEntry (NFC)" (#85885)
Reverts llvm/llvm-project#85468 because @slackito reports this broke
stepping in one of their tests [1] and this patch was meant to be NFC.
[1]
https://github.com/llvm/llvm-project/commit/d5a277d309e92b1d3e493da6036cffdf815105b1#commitcomment-139991120
Commit: 0c9aa859da3a283dea4d50298f1addb9b2d4715d
https://github.com/llvm/llvm-project/commit/0c9aa859da3a283dea4d50298f1addb9b2d4715d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Eliminate the IsCpp parameter in all functions (#84599)"
This reverts c3a1eb6207d8 (and the related commit f3c5278efa3b) which makes
cleanupAroundReplacements() no longer thread-safe.
Commit: afad7eaa856eba0e02b04f2a0da3b19da548533f
https://github.com/llvm/llvm-project/commit/afad7eaa856eba0e02b04f2a0da3b19da548533f
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
Log Message:
-----------
[ELF] Set ctx.internalFile for PPC64 _savegpr[01]_{14..31} and _restgpr[01]_{14..31}. NFC
Ensure that every InputFile has a non-null file so that we enforce this
in the future.
Commit: e05229481e12b42d76d1399a3a6dba50bb692f6e
https://github.com/llvm/llvm-project/commit/e05229481e12b42d76d1399a3a6dba50bb692f6e
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/InputSection.cpp
Log Message:
-----------
[ELF] Remove unneeded null check in getRelocatedSection. NFC
Commit: 6c13d22406259deb37a4acc5f4d0131dbb0a4a98
https://github.com/llvm/llvm-project/commit/6c13d22406259deb37a4acc5f4d0131dbb0a4a98
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/DebugInfo/NVPTX/no-extra-loc.ll
Log Message:
-----------
[NVPTX][DebugInfo] avoid emitting extra .loc directives (#84584)
This change removes an extra, unneeded debug directive emitted in the
PTX at the beginning on non-empty functions:
```nvptx
.visible .func (.param .b32 func_retval0) foo(
.param .b32 foo_param_0,
.param .b32 foo_param_1
)
{
.reg .b32 %r<4>;
.loc 1 26 0 <---- unneeded (removed by the PR)
$L__func_begin0:
.loc 1 26 0
```
Commit: ecefa240ba58c1a915ba6dc87b40eed36a961ef1
https://github.com/llvm/llvm-project/commit/ecefa240ba58c1a915ba6dc87b40eed36a961ef1
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/AST/Availability.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/AST/Availability.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Visitor.cpp
A clang/test/InstallAPI/availability.test
A clang/test/InstallAPI/diagnostics-cpp.test
A clang/test/InstallAPI/hiddens.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/diagtool/DiagnosticNames.cpp
Log Message:
-----------
[InstallAPI] Verify that declarations in headers map to exports found in dylib (#85348)
* This completes support for verifying every declaration found in a
header is discovered in the dylib. Diagnostics are reported for each
class for differences that are representable in TBD files.
* This patch also now captures unavailable attributes that depend on
target triples. This is needed for proper tbd file generation.
Commit: dea2e51e8c06eb183d17aa9ed6a66bf1139916f1
https://github.com/llvm/llvm-project/commit/dea2e51e8c06eb183d17aa9ed6a66bf1139916f1
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld] Fix -Wstring-conversion in ObjC.cpp (NFC)
llvm-project/lld/MachO/ObjC.cpp:617:12:
error: implicit conversion turns string literal into bool: 'const char[55]' to 'bool' [-Werror,-Wstring-conversion]
617 | assert("Tried to read pointer list beyond protocol section end");
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: a3f71706002f3fe0b7692e106346be3dad75580b
https://github.com/llvm/llvm-project/commit/a3f71706002f3fe0b7692e106346be3dad75580b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
Log Message:
-----------
Revert "[lldb] Update SymbolFilePDBTests for LineEntry change (d5a277d309e9)"
This reverts commit 113214e15b5ce3f3ec313eb1fa91a7038ecd072f as the
corresponding change was reverted in a289f66.
Commit: 7ce0e082e5e61b0eb725d154f1daac3676344879
https://github.com/llvm/llvm-project/commit/7ce0e082e5e61b0eb725d154f1daac3676344879
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
Log Message:
-----------
[HIP] do not link runtime for -r (#85675)
since it will cause duplicate symbols when the partially linked object
is linked again.
Commit: 2e3000f8394e6d0323c1d390496f00394755ab6b
https://github.com/llvm/llvm-project/commit/2e3000f8394e6d0323c1d390496f00394755ab6b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/include/lldb/Symbol/LineEntry.h
Log Message:
-----------
[lldb] Outline Doxygen comments in LineEntry.h (NFC)
Outline and correct Doxygen comments in LineEntry.
Commit: beb3d35cd0668764825c59a62e5ba8107a8db26c
https://github.com/llvm/llvm-project/commit/beb3d35cd0668764825c59a62e5ba8107a8db26c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Refactor code to reduce nesting and remove repeated calls to getOpcode(). NFC (#85847)
Commit: 62362bc3af33a612f3130ba03e94be979e36e754
https://github.com/llvm/llvm-project/commit/62362bc3af33a612f3130ba03e94be979e36e754
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
Log Message:
-----------
[RISCV] Add the CSR names from Smrnmi. (#83370)
Specification is here
https://github.com/riscv/riscv-isa-manual/blob/main/src/rnmi.adoc
CSRs numbers defined here
https://github.com/riscv/riscv-isa-manual/blob/main/src/priv-csrs.adoc
Commit: 001f32dac0ac31a186e4fcd64130308a2bdb2779
https://github.com/llvm/llvm-project/commit/001f32dac0ac31a186e4fcd64130308a2bdb2779
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Format/AffectedRangeManager.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/NamespaceEndCommentsFixer.cpp
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/SortJavaScriptImports.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UsingDeclarationsSorter.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Delete 100+ redundant #include lines in .cpp files"
This reverts commit b92d6dd704d789240685a336ad8b25a9f381b4cc. See
github.com/llvm/llvm-project/commit/b92d6dd704d7#commitcomment-139992444
We should use a tool like Visual Studio to clean up the headers.
Commit: 501190a501b7e73fbb80dd83f8d025006d56a48e
https://github.com/llvm/llvm-project/commit/501190a501b7e73fbb80dd83f8d025006d56a48e
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/bounds-safety-attributed-type.c
A clang/test/PCH/Inputs/bounds-safety-attributed-type.h
A clang/test/PCH/bounds-safety-attributed-type.c
M clang/test/Sema/attr-counted-by.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Turn 'counted_by' into a type attribute and parse it into 'CountAttributedType' (#78000)
In `-fbounds-safety`, bounds annotations are considered type attributes
rather than declaration attributes. Constructing them as type attributes
allows us to extend the attribute to apply nested pointers, which is
essential to annotate functions that involve out parameters: `void
foo(int *__counted_by(*out_count) *out_buf, int *out_count)`.
We introduce a new sugar type to support bounds annotated types,
`CountAttributedType`. In order to maintain extra data (the bounds
expression and the dependent declaration information) that is not
trackable in `AttributedType` we create a new type dedicate to this
functionality.
This patch also extends the parsing logic to parse the `counted_by`
argument as an expression, which will allow us to extend the model to
support arguments beyond an identifier, e.g., `__counted_by(n + m)` in
the future as specified by `-fbounds-safety`.
This also adjusts `__bdos` and array-bounds sanitizer code that already
uses `CountedByAttr` to check `CountAttributedType` instead to get the
field referred to by the attribute.
Commit: e4650d176da01b97aa315d107104a246312e4019
https://github.com/llvm/llvm-project/commit/e4650d176da01b97aa315d107104a246312e4019
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis.ll
Log Message:
-----------
[AMDGCN] Use ZExt when handling indices in insertment element (#85718)
When i1 true is used as an index, SExt extends it to i32 -1. This would
cause BitVector to overflow.
The language manual have specified that the index shall be treated as an
unsigned number, this patch fixes that.
(https://llvm.org/docs/LangRef.html#insertelement-instruction)
This patch fixes #85717
---------
Signed-off-by: Peter Rong <PeterRong96 at gmail.com>
Commit: 971088c7ced8c1f563a4b2abb624cee9489c96a2
https://github.com/llvm/llvm-project/commit/971088c7ced8c1f563a4b2abb624cee9489c96a2
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] DI Recursive Type fix for recursion via scope of composites (#85850)
Fixes this bug for the previous recursive DI type PR:
https://github.com/llvm/llvm-project/pull/80251#issuecomment-2007254788.
Drawing inspiration from how clang uses DIBuilder to build forward
decls, this PR changes how placeholders are created & updated. Instead
of requiring each recursive DIType to do in-place mutation, we simply
ask for a temporary node as the placeholder, and run RAUW at the end
when the concrete node is translated.
This has the side effect of simplifying what's needed to add recursion
support for a type. Now only one additional method needs to be created
for exporting. Concretely, for this PR, `translateImpl` for
DICompositeType is back to the state it was before the previous PR, and
the only net addition for DICompositeType is `translateTemporaryImpl`.
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 50855ee66bbbb758c2ed88e8646ad28ab4f82d04
https://github.com/llvm/llvm-project/commit/50855ee66bbbb758c2ed88e8646ad28ab4f82d04
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/add-sitofp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/pr27236.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
Log Message:
-----------
Revert "[InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0`"
This reverts commit d80d5b923c6f611590a12543bdb33e0c16044d44.
It wasn't a particularly important transform to begin with and caused
some codegen regressions on targets that prefer `sitofp` so dropping.
Might re-visit along with adding `nneg` flag to `uitofp` so its easily
reversable for the backend.
Commit: 37b85e1e4628c8295cd13401611297bc8e819933
https://github.com/llvm/llvm-project/commit/37b85e1e4628c8295cd13401611297bc8e819933
Author: YunQiang Su <syq at debian.org>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/test/Driver/mips-features.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
A llvm/test/CodeGen/Mips/no-unaligned-access-r6.ll
Log Message:
-----------
MIPS: Support -m(no-)unaligned-access for r6 (#85174)
MIPSr6 ISA requires normal load/store instructions support
misunaligned memory access, while it is not always do so
by hardware. On some microarchitectures or some corner cases
it may need support by OS.
Don't confuse with pre-R6's lwl/lwr famlily: MIPSr6 doesn't
support them, instead, r6 requires lw instruction support
misunaligned memory access. So, if -mstrict-align is used for
pre-R6, lwl/lwr won't be disabled.
If -mstrict-align is used for r6 and the access is not well
aligned, some lb/lh instructions will be used to replace lw.
This is useful for OS kernels.
To be back-compatible with GCC, -m(no-)unaligned-access are also
added as Neg-Alias of -m(no-)strict-align.
Commit: 7a1da8b08eee2cc4c89fc24345d8752148250055
https://github.com/llvm/llvm-project/commit/7a1da8b08eee2cc4c89fc24345d8752148250055
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
Log Message:
-----------
[mlir][bufferize] Fix broken implementation of denyDialect (#85881)
The current implementation is not functional and does not compile. The
patch allows to correctly mark a dialect as denied for the purpose of
bufferization.
Commit: f4b9e300a9b2d0a078e2b6e958663e44c5c5271c
https://github.com/llvm/llvm-project/commit/f4b9e300a9b2d0a078e2b6e958663e44c5c5271c
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Handle variable templates consistently with class templates in code completion (#85740)
The option --function-arg-placeholders=0 results in placeholders being
omitted for class template argument lists. This patch extends the same
treatment to variable template argument lists.
Fixes https://github.com/clangd/clangd/issues/1976
Commit: 1d34e915a411b95f77234850880351af9e825b0e
https://github.com/llvm/llvm-project/commit/1d34e915a411b95f77234850880351af9e825b0e
Author: Justin Holewinski <jholewinski at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Log Message:
-----------
[MLIR][CUDA] Use _alloca instead of alloca on Windows (#85853)
MSVC/Windows does not support `alloca()`; instead it defines `_alloca()`
in `malloc.h`.
Commit: 4c29129ad1f4fb6cb5820a9182d103698b5815ea
https://github.com/llvm/llvm-project/commit/4c29129ad1f4fb6cb5820a9182d103698b5815ea
Author: Krishna Narayanan <84722531+Krishna-13-cyber at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
M llvm/test/Transforms/InstCombine/pow-1.ll
M llvm/test/Transforms/InstCombine/pow-exp.ll
Log Message:
-----------
Enable exp10 libcall on linux (#68736)
Commit: 8025673b79cbd12b10af318cd937be37d43ed5b1
https://github.com/llvm/llvm-project/commit/8025673b79cbd12b10af318cd937be37d43ed5b1
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/unittests/Tooling/StandardLibraryTest.cpp
Log Message:
-----------
[clang][Tooling] Add special symbol mappings for C, starting with size_t (#85784)
Commit: bdaf9635e279387f3406095fc8fa18e68d4ce56b
https://github.com/llvm/llvm-project/commit/bdaf9635e279387f3406095fc8fa18e68d4ce56b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/and-or-implied-cond-not.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[ValueTracking] Handle `not` in `isImpliedCondition` (#85397)
This patch handles `not` in `isImpliedCondition` to enable more fold in
some multi-use cases.
Commit: 1e632179e366583392d7203d00c3f91b9258f564
https://github.com/llvm/llvm-project/commit/1e632179e366583392d7203d00c3f91b9258f564
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Use TargetFolder (#85800)
Use IRBuilder with TargetFolder in SLPVectorizer to avoid the custom
constant folding code.
This fixes the remaining part of
https://github.com/llvm/llvm-project/issues/61240.
Commit: 1902079ff1a1317851d87253482a5b0b98e1ae98
https://github.com/llvm/llvm-project/commit/1902079ff1a1317851d87253482a5b0b98e1ae98
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[InstallAPI][bazel] Update BUILD after 936519f25cb4fabc19f1241e838e938926801156
Commit: 16cec48c7397c0189568492a5f6ed3b6e51919f8
https://github.com/llvm/llvm-project/commit/16cec48c7397c0189568492a5f6ed3b6e51919f8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/include/__format/format_arg_store.h
A libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
Log Message:
-----------
[libc++][format] Fixes nested concept evaluation. (#85548)
Before the __formattable concept depended on itself in a contrieved
example. By using the underlying concept directly the cycle is broken.
Fixes https://github.com/llvm/llvm-project/issues/81590
Commit: 61498da643cdda1858121e1582d56d1fa23eb5bf
https://github.com/llvm/llvm-project/commit/61498da643cdda1858121e1582d56d1fa23eb5bf
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
[libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756)
In other contexts, install directories such as
LIBCXX_INSTALL_LIBRARY_DIR and LIBCXX_INSTALL_MODULES_DIR can be
specified either as a relative path, relative to CMAKE_INSTALL_PREFIX,
or as an absolute path.
When calculating the relative path between the two, account for the fact
that LIBCXX_INSTALL_MODULES_DIR and LIBCXX_INSTALL_LIBRARY_DIR can be
absolute paths too.
Commit: ffcfca77c7ddb4a4af0d54b14fe26fd5ad67667e
https://github.com/llvm/llvm-project/commit/ffcfca77c7ddb4a4af0d54b14fe26fd5ad67667e
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__ranges/view_interface.h
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG3715: `view_interface::empty` is overconstrained (#85004)
## Abstract
This pull request implements LWG3715: `view_interface::empty` is
overconstrained. Here is an example similar to those described in the
report, which compiles with `-stdlib=libstdc++` but failed to compile
with `-stdlib=libc++`:
```cpp
// https://godbolt.org/z/EWEoTzah3
std::istringstream input("1 2 3 4 5");
auto i = std::views::istream<int>(input);
auto r = std::views::counted(i.begin(), 4) | std::views::take(2);
assert(!r.empty());
```
## Reference
- [Draft C++ Standard:
[view.interface.general]](https://eel.is/c++draft/view.interface.general)
- [LWG3715](https://wg21.link/LWG3715)
Commit: e83cc9dde423e35662311acb77e98e6ac00b01f0
https://github.com/llvm/llvm-project/commit/e83cc9dde423e35662311acb77e98e6ac00b01f0
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/include/__concepts/class_or_enum.h
M libcxx/include/__ranges/access.h
M libcxx/include/__ranges/data.h
M libcxx/include/__ranges/empty.h
M libcxx/include/__ranges/rbegin.h
M libcxx/include/__ranges/rend.h
M libcxx/include/__ranges/size.h
Log Message:
-----------
[libc++][ranges] remove `__workaround_52970` (#85683)
## Abstract
This pull request removes the `__workaround_52970` concept. This concept
is a workaround for a bug described in #52970, which causes the compiler
to trigger ADL on a pointer to an incomplete type in an SFINAE context.
This bug is fixed in Clang 14.
## Reference
- [[clang] Don't typo-fix an expression in a SFINAE
context](https://reviews.llvm.org/D117603)
- [[libc++] [ranges] ADL-proof the [range.access]
CPOs.](https://reviews.llvm.org/D116239)
Commit: 0d26a981774e5498da91020e3e24469a4aa44db6
https://github.com/llvm/llvm-project/commit/0d26a981774e5498da91020e3e24469a4aa44db6
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
Log Message:
-----------
[AMDGPU] Add test for fpext & fptrunc with bf16. (#85909)
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: 976582bb1463590d75e479de5d8e8e1f06670352
https://github.com/llvm/llvm-project/commit/976582bb1463590d75e479de5d8e8e1f06670352
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
[FMV] Emit the resolver along with the default version definition. (#84405)
We would like the resolver to be generated eagerly, even if the
versioned function is not called from the current translation
unit. Fixes #81494. It further allows Multi Versioning to work
even if the default target version attribute is omitted from
function declarations.
Commit: 184bb0a20bb1a6ea2988b27e05e8939a4289a63c
https://github.com/llvm/llvm-project/commit/184bb0a20bb1a6ea2988b27e05e8939a4289a63c
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLinalgTransforms to LinalgToStandard conv (#84545)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRLinalgToStandard.a only:
```
In file included from mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h:12,
from mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h:21,
from mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp:15:
mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h:20:10: fatal error: mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc: No such file or directory
```
Commit: fdd5756a4564ac41e3434a1433e5c8b96a428a98
https://github.com/llvm/llvm-project/commit/fdd5756a4564ac41e3434a1433e5c8b96a428a98
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
Log Message:
-----------
[PowerPC] Fix operand regclass of XSTSTDCSP
Commit: 1712cd11a20c28788d34b86e1a0c932a6e51c63c
https://github.com/llvm/llvm-project/commit/1712cd11a20c28788d34b86e1a0c932a6e51c63c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/array-value-copy-2.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
A flang/test/Transforms/omp-reduction-cfg-conversion.fir
Log Message:
-----------
[flang] run CFG conversion on omp reduction declare ops (#84953)
Most FIR passes only look for FIR operations inside of functions (either
because they run only on func.func or they run on the module but iterate
over functions internally). But there can also be FIR operations inside
of fir.global, some OpenMP and OpenACC container operations.
This has worked so far for fir.global and OpenMP reductions because they
only contained very simple FIR code which doesn't need most passes to be
lowered into LLVM IR. I am not sure how OpenACC works.
In the long run, I hope to see a more systematic approach to making sure
that every pass runs on all of these container operations. I will write
an RFC for this soon.
In the meantime, this pass duplicates the CFG conversion pass to also
run on omp reduction operations. This is similar to how the
AbstractResult pass is already duplicated for fir.global operations.
OpenMP array reductions 2/6
Previous PR: https://github.com/llvm/llvm-project/pull/84952
Next PR: https://github.com/llvm/llvm-project/pull/84954
---------
Co-authored-by: Mats Petersson <mats.petersson at arm.com>
Commit: 29da273a694b8c42e3930cc2f4894807dcf924f6
https://github.com/llvm/llvm-project/commit/29da273a694b8c42e3930cc2f4894807dcf924f6
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
[flang][CodeGen] Run PreCGRewrite on omp reduction declare ops (#84954)
OpenMP reduction declare operations can contain FIR code which needs to
be lowered to LLVM. With array reductions, these regions can contain
more complicated operations which need PreCGRewriting. A similar extra
case was already needed for fir::GlobalOp.
OpenMP array reductions 3/6
Previous PR: https://github.com/llvm/llvm-project/pull/84953
Next PR: https://github.com/llvm/llvm-project/pull/84955
Commit: f0e7bb5c91ef275482f092b38d26071cfbb42bd7
https://github.com/llvm/llvm-project/commit/f0e7bb5c91ef275482f092b38d26071cfbb42bd7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/const-init-cxx11.cpp
M clang/test/CodeGenCXX/constructor-init.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
M clang/test/CodeGenCXX/microsoft-interface.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
M clang/test/CodeGenCXX/static-init.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_ref.ll
M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_undef.ll
M lld/test/ELF/lto/devirt_split_unit_localize.ll
M lld/test/ELF/lto/devirt_validate_vtable_typeinfos_ref.ll
M lld/test/MachO/thinlto-split-unit-start-lib.ll
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ConstantFold.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Operator.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/IPO/GlobalSplit.cpp
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
M llvm/test/Assembler/getelementptr.ll
A llvm/test/Assembler/inrange-errors.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-base-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-base-pointer-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-derived-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-derived-pointer-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-novfe.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-visibility-post-lto.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-visibility-pre-lto.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions.ll
M llvm/test/Transforms/GlobalDCE/vtable-rtti.ll
M llvm/test/Transforms/GlobalSplit/basic.ll
M llvm/test/Transforms/GlobalSplit/non-beneficial.ll
M llvm/test/Transforms/GlobalSplit/nonlocal.ll
M llvm/test/Transforms/Inline/devirtualize-4.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
M llvm/test/Transforms/Internalize/vcall-visibility.ll
M llvm/test/Transforms/MergeFunc/constexpr.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/pr33536.ll
Log Message:
-----------
[IR] Change representation of getelementptr inrange (#84341)
As part of the migration to ptradd
(https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699),
we need to change the representation of the `inrange` attribute, which
is used for vtable splitting.
Currently, inrange is specified as follows:
```
getelementptr inbounds ({ [4 x ptr], [4 x ptr] }, ptr @vt, i64 0, inrange i32 1, i64 2)
```
The `inrange` is placed on a GEP index, and all accesses must be "in
range" of that index. The new representation is as follows:
```
getelementptr inbounds inrange(-16, 16) ({ [4 x ptr], [4 x ptr] }, ptr @vt, i64 0, i32 1, i64 2)
```
This specifies which offsets are "in range" of the GEP result. The new
representation will continue working when canonicalizing to ptradd
representation:
```
getelementptr inbounds inrange(-16, 16) (i8, ptr @vt, i64 48)
```
The inrange offsets are relative to the return value of the GEP. An
alternative design could make them relative to the source pointer
instead. The result-relative format was chosen on the off-chance that we
want to extend support to non-constant GEPs in the future, in which case
this variant is more expressive.
This implementation "upgrades" the old inrange representation in bitcode
by simply dropping it. This is a very niche feature, and I don't think
trying to upgrade it is worthwhile. Let me know if you disagree.
Commit: 5fa3949fc80153c84c59969a5bffd3497bab7ed3
https://github.com/llvm/llvm-project/commit/5fa3949fc80153c84c59969a5bffd3497bab7ed3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-reduction-call.mlir
Log Message:
-----------
[mlir][LLVM] erase call mappings in forgetMapping() (#84955)
It looks like the mappings for call instructions were forgotten here.
This fixes a bug in OpenMP when in-lining a region containing call
operations multiple times.
OpenMP array reductions 4/6
Previous PR: https://github.com/llvm/llvm-project/pull/84954
Next PR: https://github.com/llvm/llvm-project/pull/84957
Commit: aa5c9c876248a04fe47ba55e2575da183f1aec2b
https://github.com/llvm/llvm-project/commit/aa5c9c876248a04fe47ba55e2575da183f1aec2b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify GFX11/GFX12 FLAT instruction definitions. NFC. (#85819)
- Give the tablegen record for the Real the same name as the tablegen
record for the pseudo. This removes all cases where the same
instruction name has to be mentioned more than once on the definition
line.
- Use multiclasses for all Real definitions, to allow suffixes to be
added bit by bit, e.g. first _SADDR and then _gfx11.
This is a similar approach to the one used in BUFInstructions.td.
Commit: 7cad1d43ac23a7bc1d5d94031dbbe10f6607d7b2
https://github.com/llvm/llvm-project/commit/7cad1d43ac23a7bc1d5d94031dbbe10f6607d7b2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
M llvm/test/Transforms/InstCombine/pow-1.ll
M llvm/test/Transforms/InstCombine/pow-exp.ll
Log Message:
-----------
Revert "Enable exp10 libcall on linux (#68736)"
This reverts commit 9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226.
Causes buildbot failures.
Commit: d5bc3f41e28b9af91911433b310cfbd258be8afc
https://github.com/llvm/llvm-project/commit/d5bc3f41e28b9af91911433b310cfbd258be8afc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
Log Message:
-----------
[flang][NFC] move extractSequenceType helper out of OpenACC to share code (#84957)
Moving extractSequenceType to FIRType.h so that this can also be used
from OpenMP.
OpenMP array reductions 5/6
Previous PR: https://github.com/llvm/llvm-project/pull/84955
Next PR: https://github.com/llvm/llvm-project/pull/84958
Commit: dc9493f759748db6b45a0c12fb7c97e0cf3d2a78
https://github.com/llvm/llvm-project/commit/dc9493f759748db6b45a0c12fb7c97e0cf3d2a78
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
Log Message:
-----------
[MLIR] Remove unneeded FuncOps.h include in AffineAnalysis (#85912)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRAffineAnalysis.a only:
In file included from
mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp:20:
mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error:
mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory
Commit: f38f5e6c26514cc9cbcc348003018cb727b9f1a8
https://github.com/llvm/llvm-project/commit/f38f5e6c26514cc9cbcc348003018cb727b9f1a8
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/test/offloading/workshare_chunk.c
Log Message:
-----------
[OpenMP] Disable workshare_chunk.c test case on SystemZ
The test added by https://github.com/llvm/llvm-project/pull/83261
has been consistently failing. Mark as UNSUPPORTED just like on
x86_64 and aarch64.
Commit: 12ec2337c0fccbc964db2b950175823142ea4838
https://github.com/llvm/llvm-project/commit/12ec2337c0fccbc964db2b950175823142ea4838
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/unittests/Target/AArch64/AddressingModes.cpp
Log Message:
-----------
[AArch64] Support scalable offsets with isLegalAddressingMode (#83255)
Allows us to indicate that an addressing mode featuring a
vscale-relative immediate offset is supported.
Commit: 64709eff29836665b0bb3bd1d61115f69edb3c04
https://github.com/llvm/llvm-project/commit/64709eff29836665b0bb3bd1d61115f69edb3c04
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRGPUDialect dep to MLIRSPIRVDialect (#84554)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRSPIRVDialect.a only:
```
mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp:17:
mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h:120:10: fatal error: mlir/Dialect/GPU/IR/CompilationAttrInterfaces.h.inc: No such file or directory
```
Commit: d223ffb5c628cf1b8572813d407c24287f89379c
https://github.com/llvm/llvm-project/commit/d223ffb5c628cf1b8572813d407c24287f89379c
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
Revert "[FMV] Emit the resolver along with the default version definition." (#85914)
Reverts llvm/llvm-project#84405
In between of passing the precommit tests on github and being merged
some change (perhaps in the AArch64 backend?) landed which resulted
in altering the generated resolver. I will regenerate the tests
perhaps using a less sensitive runline to such changes.
Commit: b4736cb2f60cc7255d000547412de81ff8b5232f
https://github.com/llvm/llvm-project/commit/b4736cb2f60cc7255d000547412de81ff8b5232f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Add a missing dependency for aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c
Commit: 443a6a0757c16178edc5df623eb5f21744491631
https://github.com/llvm/llvm-project/commit/443a6a0757c16178edc5df623eb5f21744491631
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/ranges_iterator_traits.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/copy_cv.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_trivially_assignable.h
Log Message:
-----------
[libc++][NFC] Remove uses of add_{const,cv,volatile} (#85635)
These traits can be expressed without having to instantiate any classes,
reducing compile times slightly.
Commit: 957f48b4313b71051b91a9deb369383052817dad
https://github.com/llvm/llvm-project/commit/957f48b4313b71051b91a9deb369383052817dad
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/unittests/Target/AArch64/CMakeLists.txt
A llvm/unittests/Target/AArch64/Immediates.cpp
Log Message:
-----------
[TTI][TLI][AArch64] Support scalable immediates with isLegalAddImmediate (#84173)
Adds a second parameter (default to 0) to isLegalAddImmediate, to
represent a scalable immediate.
Extends the AArch64 implementation to match immediates based on what addvl and inc[h|w|d] support.
Commit: 70913a41690e557fbb0c337f8981e8eeb28dda4f
https://github.com/llvm/llvm-project/commit/70913a41690e557fbb0c337f8981e8eeb28dda4f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
Log Message:
-----------
[libc++][CI] Reenables the module tests. (#85799)
These were disabled due to ODR violations with mixed versions of
clang-tidy and the clang libraries. This issue was fixed in
e19e8600cf743690e1a23fb8a2b0dfbe2dafe559.
This reverts commit 0bbada93a559b604797fe57978f3eca5e41edaeb.
Commit: 322b19e404b95ec44c77286284cd5f6d89a3ccf1
https://github.com/llvm/llvm-project/commit/322b19e404b95ec44c77286284cd5f6d89a3ccf1
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
R flang/test/Lower/OpenMP/Todo/reduction-arrays.f90
A flang/test/Lower/OpenMP/parallel-reduction-array.f90
A flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
Log Message:
-----------
[flang][OpenMP] lower simple array reductions (#84958)
This has been tested with arrays with compile-time constant bounds.
Allocatable arrays and arrays with non-constant bounds are not yet
supported. User-defined reduction functions are also not yet supported.
The design is intended to work for arrays with non-constant bounds too
without a lot of extra work (mostly there are bugs in OpenMPIRBuilder I
haven't fixed yet).
We need some way to get these runtime bounds into the reduction init and
combiner regions. To keep things simple for now I opted to always box
the array arguments so the box can be passed as one argument and the
lower bounds and extents read from the box. This has the disadvantage of
resulting in fir.box_dim operations inside of the critical section. If
these prove to be a performance issue, we could follow OpenACC reading
box lower bounds and extents before the reduction and passing them as
block arguments to the reduction init and combiner regions. I would
prefer to keep things simple for now.
Note: this implementation only works when the HLFIR lowering is used. I
don't think it is worth supporting FIR-only lowering because the plan is
for that to be removed soon.
OpenMP array reductions 6/6
Previous PR: https://github.com/llvm/llvm-project/pull/84957
Commit: dfa5ddcee149d663134bd990ca1630d4bcc1cbe7
https://github.com/llvm/llvm-project/commit/dfa5ddcee149d663134bd990ca1630d4bcc1cbe7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port 36a3f8f6471b
Commit: 4e81f08d6db2fde4c1f59377c96c51764e5c701b
https://github.com/llvm/llvm-project/commit/4e81f08d6db2fde4c1f59377c96c51764e5c701b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldBitcastShuffle - include the cost of bitcasts in the comparison
This makes no real difference currently as we only fold unary shuffles, but I'm hoping to handle binary shuffles in a future patch.
Commit: 5154a2f0e81ca9a634826a58faad0dffe10b72e0
https://github.com/llvm/llvm-project/commit/5154a2f0e81ca9a634826a58faad0dffe10b72e0
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/map-component-ref.f90
M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/ordered-threads.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Transforms/omp-descriptor-map-info-gen.fir
M flang/test/Transforms/omp-reduction-cfg-conversion.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-host.mlir
M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-parallel-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-call.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] NFC: Uniformize OpenMP ops names (#85393)
This patch proposes the renaming of certain OpenMP dialect operations with the
goal of improving readability and following a uniform naming convention for
MLIR operations and associated classes. In particular, the following operations
are renamed:
- `omp.map_info` -> `omp.map.info`
- `omp.target_update_data` -> `omp.target_update`
- `omp.ordered_region` -> `omp.ordered.region`
- `omp.cancellationpoint` -> `omp.cancellation_point`
- `omp.bounds` -> `omp.map.bounds`
- `omp.reduction.declare` -> `omp.declare_reduction`
Also, the following MLIR operation classes have been renamed:
- `omp::TaskLoopOp` -> `omp::TaskloopOp`
- `omp::TaskGroupOp` -> `omp::TaskgroupOp`
- `omp::DataBoundsOp` -> `omp::MapBoundsOp`
- `omp::DataOp` -> `omp::TargetDataOp`
- `omp::EnterDataOp` -> `omp::TargetEnterDataOp`
- `omp::ExitDataOp` -> `omp::TargetExitDataOp`
- `omp::UpdateDataOp` -> `omp::TargetUpdateOp`
- `omp::ReductionDeclareOp` -> `omp::DeclareReductionOp`
- `omp::WsLoopOp` -> `omp::WsloopOp`
Commit: 85904a70752ccd8fbf3332b099b820c5d9dd7432
https://github.com/llvm/llvm-project/commit/85904a70752ccd8fbf3332b099b820c5d9dd7432
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] splitVectorOp - share the same SDLoc argument instead of recreating it over and over again.
Commit: 3a9198f43ae9ebd554efd543809eebfcafefc2be
https://github.com/llvm/llvm-project/commit/3a9198f43ae9ebd554efd543809eebfcafefc2be
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Remove FLAT_Real_AllAddr_gfx11 in favor of GLOBAL_Real_AllAddr_gfx11
Plus some related cleanups. NFC.
Commit: eeeb24c0d673af41c9612b31810a5e181f5ee03a
https://github.com/llvm/llvm-project/commit/eeeb24c0d673af41c9612b31810a5e181f5ee03a
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
M llvm/test/Transforms/InstSimplify/icmp-constant.ll
M llvm/test/Transforms/InstSimplify/shift-knownbits.ll
Log Message:
-----------
[ValueTracking] Handle range attributes (#85143)
Handle the range attribute in ValueTracking.
Commit: aa114960a9d301def93a4e209632524abc696683
https://github.com/llvm/llvm-project/commit/aa114960a9d301def93a4e209632524abc696683
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
Log Message:
-----------
[analyzer][NFC] Fix unused variable warning
Commit: 3b958d86e39b57b14d64d2e1776263892351ee20
https://github.com/llvm/llvm-project/commit/3b958d86e39b57b14d64d2e1776263892351ee20
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
Log Message:
-----------
[AMDGPU][NFC] Test clean up (#85922)
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: 9bc03364f1af17d4e9f638b3c30a90ec954dd416
https://github.com/llvm/llvm-project/commit/9bc03364f1af17d4e9f638b3c30a90ec954dd416
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."
This reverts commit da118c93b40f74f6770cf8550903721555d3c97b to fix
crashes reported in https://github.com/llvm/llvm-project/pull/84363.
Commit: 42b54593f3e9cde80cdda4cfc228003d4672cc46
https://github.com/llvm/llvm-project/commit/42b54593f3e9cde80cdda4cfc228003d4672cc46
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Silence -Wswitch warnings
TypeSystemClang.cpp:4074:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
4074 | switch (qual_type->getTypeClass()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
TypeSystemClang.cpp:4755:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
4755 | switch (qual_type->getTypeClass()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
TypeSystemClang.cpp:5088:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
5088 | switch (qual_type->getTypeClass()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 09b711809b2d43547da64c82fb5864ba37df1bf8
https://github.com/llvm/llvm-project/commit/09b711809b2d43547da64c82fb5864ba37df1bf8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-phases.hip
Log Message:
-----------
[HIP] Correctly omit bundling with the new driver (#85842)
Summary:
The HIP phases do not emit the offload bundler output when we do not
invoke the final linker phase in device only mode. Check this propery.
Commit: 7be1e8ae568e5fc2f313de9e2e3a95e20700ac7b
https://github.com/llvm/llvm-project/commit/7be1e8ae568e5fc2f313de9e2e3a95e20700ac7b
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Utils/CMakeLists.txt
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[MLIR] Remove UtilsDialect dep on ArithUtils (#85919)
This will reduce the amount of libraries pulled through the de facto
dependency of TilingInterface on UtilsDialect for its IteratorType.
Commit: f27fa9ba38217b59ad602dee23c4b0fdf05938dc
https://github.com/llvm/llvm-project/commit/f27fa9ba38217b59ad602dee23c4b0fdf05938dc
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Features.def
M clang/test/Sema/swift-call-conv.c
Log Message:
-----------
[clang] Add `__has_extension(swiftcc)` support (#85347)
Commit: 8f371a6f38ba54c94620d6d42fdf6936920fa8c5
https://github.com/llvm/llvm-project/commit/8f371a6f38ba54c94620d6d42fdf6936920fa8c5
Author: Abhin P Jose <abhinjose at live.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/Sema/warn-cast-function-type-strict.c
M clang/test/Sema/warn-cast-function-type.c
M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
M clang/test/SemaCXX/warn-cast-function-type.cpp
Log Message:
-----------
[clang] move -Wcast-function-type under -Wextra (#77178)
The -Wcast-fuction-type-strict has been moved under dignstic group
-Wextra.
Edited the test cases for -Wcast-fuction-type-strict and
-Wcast-fuction-type in Sema an SemaCXX.
Added a new test case which include a functionality that was already in
the -Wextra group, i.e -Wignored-qualifiers with
-Wcast-fuction-type-strict.
Fixes: #76872
Commit: 2a9e1340517240dd7e2a50697d8c00a4a29aed13
https://github.com/llvm/llvm-project/commit/2a9e1340517240dd7e2a50697d8c00a4a29aed13
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/lib/Object/ArchiveWriter.cpp
A llvm/test/tools/llvm-ar/ecsymbols.ll
A llvm/test/tools/llvm-ar/ecsymbols.yaml
A llvm/test/tools/llvm-lib/empty.test
Log Message:
-----------
[llvm-ar][Object][COFF] Add support for EC symbols to llvm-ar. (#85230)
Make writeArchive IsEC argument optional and use EC symbol map when indicated by input object files.
Commit: 2e4e02e2b8245bb744cc90a741ca49e2730db177
https://github.com/llvm/llvm-project/commit/2e4e02e2b8245bb744cc90a741ca49e2730db177
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
R flang/module/omp_lib.f90
R flang/module/omp_lib.h
M flang/test/Driver/include-omp-header.f90
M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
M flang/test/Lower/OpenMP/FIR/atomic-read.f90
M flang/test/Lower/OpenMP/FIR/atomic-update.f90
M flang/test/Lower/OpenMP/FIR/atomic-write.f90
M flang/test/Lower/OpenMP/FIR/critical.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
M flang/test/Lower/OpenMP/FIR/parallel.f90
M flang/test/Lower/OpenMP/FIR/sections.f90
M flang/test/Lower/OpenMP/FIR/single.f90
M flang/test/Lower/OpenMP/FIR/task.f90
M flang/test/Lower/OpenMP/FIR/taskgroup.f90
M flang/test/Lower/OpenMP/FIR/teams.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
A openmp/runtime/src/include/omp_lib.F90.var
R openmp/runtime/src/include/omp_lib.f90.var
M openmp/runtime/src/include/omp_lib.h.var
Log Message:
-----------
[flang][OpenMP] Compile proper `omp_lib.mod` from the `openmp/src/include` sources (#80874)
This PR changes the build system to use use the sources for the module
`omp_lib` and the `omp_lib.h` include file from the `openmp` runtime
project and not from a separate copy of these files. This will greatly
reduce potential for inconsistencies when adding features to the OpenMP
runtime implementation.
When the OpenMP subproject is not configured, this PR also disables the
corresponding LIT tests with a "REQUIRES" directive at the beginning of
the OpenMP test files.
---------
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: 3b6a3fc01738ad2236622a03336decf65a3fc875
https://github.com/llvm/llvm-project/commit/3b6a3fc01738ad2236622a03336decf65a3fc875
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-but-not-operands.ll
Log Message:
-----------
[SLP]Do extra analysis int minbitwidth if some checks return false.
The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84363
Commit: 7524bd417ba92900727695acd03f311bc4a72545
https://github.com/llvm/llvm-project/commit/7524bd417ba92900727695acd03f311bc4a72545
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for shifts.
Adds improved bitwidth analysis for shl/ashr/lshr instructions. The
analysis is based on similar version in InstCombiner.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84356
Commit: 30bf9c0ff9a579f76f1937078f708da60aa4e9cd
https://github.com/llvm/llvm-project/commit/30bf9c0ff9a579f76f1937078f708da60aa4e9cd
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Rename DPLabel->DbgLabelRecord (#85918)
This patch renames DPLabel to DbgLabelRecord, in accordance with the
ongoing DbgRecord rename. This rename was fairly trivial, since DPLabel
isn't as widely used as DPValue and has no real conflicts in either its
full or abbreviated name. As usual, the entire replacement was done
automatically, with `s/DPLabel/DbgLabelRecord/` and `s/DPL/DLR/`.
Commit: 6bcebc3083e91b35a0911bf3d5e46c6b24a82e3d
https://github.com/llvm/llvm-project/commit/6bcebc3083e91b35a0911bf3d5e46c6b24a82e3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
[VectorCombine] foldBitcastShuf - add support for binary shuffles
Generalise fold to "bitcast (shuf V0, V1, MaskC) --> shuf (bitcast V0), (bitcast V1), MaskC'".
Further prep work for #67803
Commit: bd0efc1a0534dc258633b5605945505ac8d86fa8
https://github.com/llvm/llvm-project/commit/bd0efc1a0534dc258633b5605945505ac8d86fa8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
Log Message:
-----------
[CodeGen] Fix test on 32-bit targets (NFC)
The range here will be different for 32-bit targets. Use a wildcard,
just like all te other target-sensitive parts in this test.
Commit: 2f17316675c50044da9934fd6f3479f47c9d00d3
https://github.com/llvm/llvm-project/commit/2f17316675c50044da9934fd6f3479f47c9d00d3
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/SROA.cpp
Log Message:
-----------
[MLIR][SROA][Mem2Reg] Add data layout to interface methods (#85644)
This commit expends the Mem2Reg and SROA interface methods with passed
in handles to a `DataLayout` structure. This is done to avoid
superfluous retreiving of data layouts during each conversion of
intrinsics.
This change, additionally, enables subsequent changes to make the LLVM
dialect implementation of these interfaces type agnostic.
Commit: 0c3d2dc8de122dde1c75f8e4b0baadf27d597bcb
https://github.com/llvm/llvm-project/commit/0c3d2dc8de122dde1c75f8e4b0baadf27d597bcb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
Revert 2ac85d8d200a9e1e0ced501c2d2f04404c400bd9 "[VectorCombine] foldBitcastShuf - add support for binary shuffles"
Breaks some tests in other subprojects - will recommit with a fix later
Commit: 92b6207364c5108fea331fab75583486f1701296
https://github.com/llvm/llvm-project/commit/92b6207364c5108fea331fab75583486f1701296
Author: Hans <hans at hanshq.net>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
Log Message:
-----------
[Coroutines] Ignore instructions more aggressively in addMustTailToCoroResumes() (#85271)
The old code used isInstructionTriviallyDead() and removed instructions
when walking the path from a resume call to function return to check if
the call is in tail position.
However, since the code was walking forwards it was not able to get past
instructions such as:
%gep = getelementptr inbounds i64, ptr %alloc.var, i32 0
%foo = ptrtoint ptr %gep to i64
This patch instead ignores such instructions as long as their values are
not needed. This enables the code to emit tail calls in more situations.
Commit: 8d3efcec5a0e251ce52f74c654af0b755d150c8c
https://github.com/llvm/llvm-project/commit/8d3efcec5a0e251ce52f74c654af0b755d150c8c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify definition of GLOBAL_LOAD_TR Real instructions
Commit: b3e94d4d3bab9603f2e026ccde64b36babdfad4b
https://github.com/llvm/llvm-project/commit/b3e94d4d3bab9603f2e026ccde64b36babdfad4b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
Log Message:
-----------
[AArch64] Don't write to source directory in test
Commit: c5ec89cb8f6495f8902064433beba717a7d7a06b
https://github.com/llvm/llvm-project/commit/c5ec89cb8f6495f8902064433beba717a7d7a06b
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Interpreter/OptionGroupVariable.cpp
M lldb/test/API/functionalities/target_var/TestTargetVar.py
Log Message:
-----------
[lldb] Omit --show-globals in `help target var` (#85855)
This option doesn't exist. It is currently displayed by `help target
var` due to a bug introduced by 41ae8e7445 in 2018.
Some code for `target var` and `frame var` is shared, and some hard-code
constants are used in order to filter out options that belong only to
`frame var`. However, the aforementioned commit failed to update these
constants properly. This patch addresses the issue by having a _single_
place where the filtering of options needs to be done.
Commit: 8ad8d1a9aa438133e31d3cb093fc11d2ca904655
https://github.com/llvm/llvm-project/commit/8ad8d1a9aa438133e31d3cb093fc11d2ca904655
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
M llvm/test/CodeGen/X86/int-to-fp-demanded.ll
Log Message:
-----------
Revert "[DAGCombiner] Simplifying `{si|ui}tofp` when only signbit is needed"
This reverts commit 353fbeb0a294d2c7cef6d88607fa0fd50ee81462. It crashes
when it encounters an UINT_TO_FP.
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1618 in SDValue llvm::SelectionDAG::getConstant(const ConstantInt &, const SDLoc &, EVT, bool, bool): VT.isInteger() && "Cannot create FP integer constant!"
Commit: 8ec5b1eb22232fb2ff8ac91ec07c0a5743482b8a
https://github.com/llvm/llvm-project/commit/8ec5b1eb22232fb2ff8ac91ec07c0a5743482b8a
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/fpbits_str.h
A libc/src/__support/sign.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/powf.cpp
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/CMakeLists.txt
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/atanhf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
Log Message:
-----------
[libc][NFC] Move `Sign` type to separate header (#85930)
Commit: e67b9ac87308b68c1c5208f09f4f09495a69915d
https://github.com/llvm/llvm-project/commit/e67b9ac87308b68c1c5208f09f4f09495a69915d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
Log Message:
-----------
Revert "[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)"
This reverts commit c2c1e6ee4ce0df3d000ba880fa6cf58441da6462. It creates
a use after free.
==8342==ERROR: AddressSanitizer: heap-use-after-free on address 0x50f000001760 at pc 0x55b9fb84a8fb bp 0x7ffc18468a10 sp 0x7ffc18468a08
READ of size 1 at 0x50f000001760 thread T0
#0 0x55b9fb84a8fa in dropPoisonGeneratingFlags llvm/lib/Transforms/Vectorize/VPlan.h:1040:13
#1 0x55b9fb84a8fa in llvm::VPlanTransforms::dropPoisonGeneratingRecipes(llvm::VPlan&, llvm::function_ref<bool (llvm::BasicBlock*)>)::$_0::operator()(llvm::VPRecipeBase*) const llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:1236:23
#2 0x55b9fb84a196 in llvm::VPlanTransforms::dropPoisonGeneratingRecipes(llvm::VPlan&, llvm::function_ref<bool (llvm::BasicBlock*)>) llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Can be reproduced with asan on
Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
Transforms/LoopVectorize/X86/pr81872.ll
Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
Commit: 23d0886817d831d6c63e95f604b0f63b4708e5e0
https://github.com/llvm/llvm-project/commit/23d0886817d831d6c63e95f604b0f63b4708e5e0
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/test/InstallAPI/diagnostics-cpp.test
Log Message:
-----------
[InstallAPI] Simplify & improve symbol printing for diagnostics (#85894)
* Defer mangling of symbols until an error is ready to report
* Pass around fewer parameters when reporting
Commit: 9f3838a42462f2b8dc4f67b958e09db9d95816d2
https://github.com/llvm/llvm-project/commit/9f3838a42462f2b8dc4f67b958e09db9d95816d2
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
A llvm/test/MachineVerifier/test_adjustsstack.mir
Log Message:
-----------
Move assertion for AdjustsStack from PEI to MachineVerifier. (#85698)
Have the verifier report a missing AdjustsStack flag rather than waiting until
PEI asserts.
Commit: af1fff272a39fa25cb43df9d8a4120cd22a0393f
https://github.com/llvm/llvm-project/commit/af1fff272a39fa25cb43df9d8a4120cd22a0393f
Author: Neumann Hon <neumann.hon at ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/test/CodeGen/SystemZ/call-zos-01.ll
M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
M llvm/test/MC/GOFF/ppa1.ll
M llvm/unittests/IR/ManglerTest.cpp
Log Message:
-----------
[GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (#85730)
The current values for PrivateGlobalPrefix and PrivateLabelPrefix (@@
and @ respectively) are, in hindsight, poor choices for multiple
reasons:
First, there exist externally visible routines from the language
environment that begin with @@. These functions are certainly not
local/private by any means and they should not share a prefix with
private globals.
Secondly, both private globals and private labels should be handled the
same way by GOFF, so it doesn't make much sense for them to have
separate prefixes. GOFF remains the only file format where these are
different and there is no reason for that to be the case
Commit: 424fc467e26f302ed4deac87f8ff067eb6f6338f
https://github.com/llvm/llvm-project/commit/424fc467e26f302ed4deac87f8ff067eb6f6338f
Author: martinboehme <mboehme at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
Log Message:
-----------
[clang][NFC] Add documentation for `CastExpr::path()`. (#85623)
This didn't have any documentation, so I had to do some experimenting in
godbolt when I used this in
https://github.com/llvm/llvm-project/pull/84138, and my reviewer later
also had some
[questions](https://github.com/llvm/llvm-project/pull/84138#discussion_r1524855434)
about this, so I figured it would be worth adding documentation.
Commit: e653e27a19a22668586f0148951ebe495e2cf983
https://github.com/llvm/llvm-project/commit/e653e27a19a22668586f0148951ebe495e2cf983
Author: Tina Jung <tinamaria.jung at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
Log Message:
-----------
[mlir][emitc] Restrict integer and float types (#85788)
Restrict which integers and floating-point types are valid in EmitC.
This should cover the types which are supported in C++ and is aligned
with what the emitter currently supports.
The checks are implemented as functions and not fully in tablegen to
allow them to be re-used by conversions to EmitC.
Commit: 39c5ba340e35a5cc265731ed7d62ca701c4919b2
https://github.com/llvm/llvm-project/commit/39c5ba340e35a5cc265731ed7d62ca701c4919b2
Author: chrulski-intel <christopher.m.chrulski at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/LTO.cpp
M lld/COFF/Options.td
A lld/test/COFF/Inputs/lto-sample-profile.prof
A lld/test/COFF/lto-sample-profile.ll
Log Message:
-----------
[LLD] [COFF] Port -lto-sample-profile to COFF version of LLD (#85701)
Following the commit of #83972 which added COFF support for SPGO, this
patch ports the support of the option -lto-sample-profile that was only
available in the ELF variant of LLD to the COFF variant to enable
running the SPGO passes in the LTO/thinLTO pipelines.
Commit: 7bdbe239852436422d661f3b8ecd26bb51c41a2a
https://github.com/llvm/llvm-project/commit/7bdbe239852436422d661f3b8ecd26bb51c41a2a
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Interfaces/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRDialectUtils dep to TilingInterface (#84544)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRTilingInterface.a only:
```
In file included from mlir/include/mlir/Interfaces/TilingInterface.h:17,
from mlir/lib/Interfaces/TilingInterface.cpp:13:
mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h:27:10: fatal error: mlir/Dialect/Utils/DialectUtilsEnums.h.inc: No such file or directory
```
Commit: ef7b96b148859579002e9ac288145bf93917c727
https://github.com/llvm/llvm-project/commit/ef7b96b148859579002e9ac288145bf93917c727
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
[VectorCombine] foldBitcastShuf - add support for binary shuffles (REAPPLIED)
Generalise fold to "bitcast (shuf V0, V1, MaskC) --> shuf (bitcast V0), (bitcast V1), MaskC'".
Reapplied with a clang codegen test fix.
Further prep work for #67803
Commit: c6809cf18add319eb596fd2056bc08da75fe378c
https://github.com/llvm/llvm-project/commit/c6809cf18add319eb596fd2056bc08da75fe378c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
Log Message:
-----------
[SLP][NFC]Add a test with arguments of functions, reduced by minbitwidth
analysis.
Commit: e95aa7234d38b23a2236dff60475f9687b71dc24
https://github.com/llvm/llvm-project/commit/e95aa7234d38b23a2236dff60475f9687b71dc24
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Add extraData field to the DIDerivedType attribute (#85935)
This commit extends the DIDerivedTypeAttr with the `extraData` field.
For now, the type of it is limited to be a `DINodeAttr`, as extending
the debug metadata handling to support arbitrary metadata nodes does not
seem to be necessary so far.
Commit: 36d32df2fbac5a6908c65ae24b96f396dbf018f1
https://github.com/llvm/llvm-project/commit/36d32df2fbac5a6908c65ae24b96f396dbf018f1
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
Log Message:
-----------
[scudo] Fix type mismatch on DefaultMaxEntrySize (#85897)
Commit: 3f0065af9cde7c262c1ec26d5579ca99aa08c1d2
https://github.com/llvm/llvm-project/commit/3f0065af9cde7c262c1ec26d5579ca99aa08c1d2
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/HLSL/HLSLSupport.rst
Log Message:
-----------
[HLSL][docs] Document hlsl.h in the HLSL docs (#84081)
This adds a brief blurb about hlsl.h in the HLSLSupport documentation
where a high level view of the architecture is explained.
Commit: 0f4ab57f0582d2375094798bad83dd3efd07fba8
https://github.com/llvm/llvm-project/commit/0f4ab57f0582d2375094798bad83dd3efd07fba8
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[libomptarget][nextgen-plugin] Use SCRELEASE/SCACQUIRE in packet headers (#85678)
This patch updates the construction of packet headers to replace the
usage of ACQUIRE/RELEASE with SCACQUIRE/SCRELEASE which is now
recommended.
The patch also ensures consistency across kernel dispatches.
Commit: 955316c8ec3f160e3be7fa99c6027f6abb9eb552
https://github.com/llvm/llvm-project/commit/955316c8ec3f160e3be7fa99c6027f6abb9eb552
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Make findBestRootPair() member function constant.
Commit: 8926019b0d03fa5b83e1d1ac8140952ab4edb355
https://github.com/llvm/llvm-project/commit/8926019b0d03fa5b83e1d1ac8140952ab4edb355
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
Revert "[libomptarget][nextgen-plugin] Use SCRELEASE/SCACQUIRE in packet headers" (#85950)
Reverts llvm/llvm-project#85678
Commit: 1e488811e2ba605bdd5a526688b4e47b00b1c433
https://github.com/llvm/llvm-project/commit/1e488811e2ba605bdd5a526688b4e47b00b1c433
Author: Thomas Lively <tlively at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
A llvm/test/CodeGen/WebAssembly/pr63817.ll
Log Message:
-----------
[WebAssembly] Select BUILD_VECTOR with large unsigned lane values (#85880)
Previously we expected lane constants to be in the range of signed
values for each lane size, but the included test case produced large
unsigned values that fall outside that range. Allow instruction
selection to proceed in this case rather than failing.
Fixes #63817.
Commit: d5e4a688142281889f50997ee2fa54fda17271da
https://github.com/llvm/llvm-project/commit/d5e4a688142281889f50997ee2fa54fda17271da
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/double-arith-strict.ll
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert-strict.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-isnan.ll
M llvm/test/CodeGen/RISCV/double-maximum-minimum.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-previous-failure.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-round-conv.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-select-icmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/pr64645.ll
M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
Log Message:
-----------
[RISCV] Use REG_SEQUENCE/EXTRACT_SUBREG to move between individual GPRs and GPRPair. (#85887)
Previously we used memory like we do to move between GPRs and FPR64 with
the D extension on RV32.
We can instead use REG_SEQUENCE/EXTRACT_SUBREG to inform register
allocation how to do the copy without memory.
Commit: 97bc169ef44ee1fe8c5cbe76484ae68465b46bb4
https://github.com/llvm/llvm-project/commit/97bc169ef44ee1fe8c5cbe76484ae68465b46bb4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
Log Message:
-----------
[flang][OpenMP] simplify getReductionName (#85666)
Re-use fir::getTypeAsString instead of creating something new here. This
spells integer names like i32 instead of i_32 so there is a lot of test
churn.
Commit: afb28ac5651b82d9161de4e536f7d1844b664d9c
https://github.com/llvm/llvm-project/commit/afb28ac5651b82d9161de4e536f7d1844b664d9c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
R llvm/test/MachineVerifier/test_adjustsstack.mir
Log Message:
-----------
Revert "Move assertion for AdjustsStack from PEI to MachineVerifier. (#85698)"
This reverts commit 05bde30585710a51592eee0a6cf6df8184d09c92.
Reverting due to verifier complaints with expensive checks on build-bot.
Commit: eca146da03b2029442b658cd6cef9f094dfb1772
https://github.com/llvm/llvm-project/commit/eca146da03b2029442b658cd6cef9f094dfb1772
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
[libcxx] [cmake] Fix cmake_path(ABSOLUTE_PATH) for empty CMAKE_INSTALL_PREFIX
This should hopefully fix the issue brought up at
https://github.com/llvm/llvm-project/pull/85756#issuecomment-2009852291.
Commit: 757084728a20238403f20a2e74e3246757fa94d5
https://github.com/llvm/llvm-project/commit/757084728a20238403f20a2e74e3246757fa94d5
Author: Steven Varoumas <steven.varoumas at huawei.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/IndexOps.td
A mlir/python/mlir/dialects/index.py
A mlir/test/python/dialects/index_dialect.py
Log Message:
-----------
[mlir][python] Enable python bindings for Index dialect (#85827)
This small patch enables python bindings for the index dialect.
---------
Co-authored-by: Steven Varoumas <steven.varoumas1 at huawei.com>
Commit: 40785e0a560f37467f4e8722f4881124dcbad09c
https://github.com/llvm/llvm-project/commit/40785e0a560f37467f4e8722f4881124dcbad09c
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Rename DPMarker->DbgMarker (#85931)
Another trivial rename patch, the last big one for now, which renamed
DPMarkers to DbgMarkers. This required the field `DbgMarker` in
`Instruction` to be renamed to `DebugMarker` to avoid a clash, but
otherwise was a simple string substitution of `s/DPMarker/DbgMarker` and
a manual renaming of `DPM` to `DM` in the few places where that acronym
was used for debug markers.
Commit: 73c439b441e46bafdadd7dcea9f08cf0bfafe644
https://github.com/llvm/llvm-project/commit/73c439b441e46bafdadd7dcea9f08cf0bfafe644
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
Revert "[libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756)"
This reverts commit 272d1b44efdedb68c194970a610f0ca1b7b769c5,
and the follow-up fix in d209d1340b99d4fbd325dffb5e13b757ab8264ea.
Even after the follow-up fix, building with an empty
CMAKE_INSTALL_PREFIX errors out with errors like this:
CMake Error at /b/s/w/ir/x/w/llvm-llvm-project/libcxx/modules/CMakeLists.txt:215 (file):
file RELATIVE_PATH must be passed a full path to the directory:
lib/x86_64-pc-windows-msvc
Commit: e7c182730365245294909c399b2fbda02ebd299a
https://github.com/llvm/llvm-project/commit/e7c182730365245294909c399b2fbda02ebd299a
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
Log Message:
-----------
[DwarfGenerator] Calculate relative offset according to Dwarf Version (#84847)
The relative offset for a CU in Dwarf v5 (and later) is different than
the relative offset for a CU in Dwarf v4 (and before).
Signed-off-by: Will Hawkins <hawkinsw at obs.cr>
Commit: fedae5b17747bce54c0139d22cabc93c8cd956f4
https://github.com/llvm/llvm-project/commit/fedae5b17747bce54c0139d22cabc93c8cd956f4
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_allocator.h
Log Message:
-----------
[memprof] Move allocator base to avoid conflict with high-entropy ASLR (#85834)
memprof often fails when ASLR entropy is too high ('sudo sysctl
vm.mmap_rnd_bits=32; ninja check-memprof'), which is the default setting
for newer versions of Ubuntu
(https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/commit/?h=hwe-6.5-next--2024.03.04-1--auto&id=6b522637c6a7dabd8530026ae933fb5ff17e877f).
This patch fixes the issue by moving the allocator base, analogously to
ASan (https://reviews.llvm.org/D148280).
Explanation from the ASan patch: when CONFIG_ARCH_MMAP_RND_BITS == 32,
it will frequently conflict with memprof's allocator, because the PIE
program segment base address of 0x555555555554 plus an ASLR shift of up
to ((2**32) * 4K == 0x100000000000) will sometimes exceed memprof's
hardcoded base address of 0x600000000000. We fix this by simply moving
the allocator base to 0x500000000000, which is below the PIE program
segment base address. This is cleaner than trying to move it to another
location that is sandwiched between the PIE program and library
segments, because if either of those grow too large, it will collide
with the allocator region.
Note that we will never need to change this base address again (unless
we want to increase the size of the allocator), because ASLR cannot be
set above 32-bits for x86-64 Linux (the PIE program segment and library
segments would collide with each other; see also ARCH_MMAP_RND_BITS_MAX
in https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig).
Commit: a071523a20e4ee9ca080c545c714711ccf64400c
https://github.com/llvm/llvm-project/commit/a071523a20e4ee9ca080c545c714711ccf64400c
Author: Eric Li <li.zhe.hua at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix crash when analyzing a coroutine (#85957)
A coroutine function body (`CoroutineBodyStmt`) may have null children,
which causes `isa` to segfault.
Commit: 3c557672842954a287b2db64afbd611b15b01113
https://github.com/llvm/llvm-project/commit/3c557672842954a287b2db64afbd611b15b01113
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
Reland [FMV] Emit the resolver along with the default version definit… (#85923)
…ion.
This was reverted because the resolver didn't look as expected in one of
the tests. I believe it had some interaction with #84146. I have now
regenerated it using -target-feature -fp-armv8.
Commit: 38e37bfd43ff07230275d772905c7ef8d6437b1b
https://github.com/llvm/llvm-project/commit/38e37bfd43ff07230275d772905c7ef8d6437b1b
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Add isStaticRelSecType to simplify SHT_REL/SHT_RELA testing. NFC
and make it easier to introduce a new relocation format.
https://discourse.llvm.org/t/rfc-relleb-a-compact-relocation-format-for-elf/77600
Pull Request: https://github.com/llvm/llvm-project/pull/85893
Commit: 8c009dc2e0632a0005d24bc8e1cf434db857a673
https://github.com/llvm/llvm-project/commit/8c009dc2e0632a0005d24bc8e1cf434db857a673
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
Log Message:
-----------
[X86] avx-shuffle-builtins.c - limit to x86 targets
Attempt to fix issue with non-x86 buildbots (sorry its blind but I can't test this)
Commit: 032bf0460bf91a9a22038a9aecee7831a0a035d4
https://github.com/llvm/llvm-project/commit/032bf0460bf91a9a22038a9aecee7831a0a035d4
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
[RemoveDIs][NFC] Delete a now-redundant comment
Submitted without review for being a trivial comment-only change, deletes
a line that requests the DbgLabelRecord class be renamed to DbgLabelRecord
in the future.
Commit: d66bcc71aa9bd98ef646f6e1ae2632522c8b5b58
https://github.com/llvm/llvm-project/commit/d66bcc71aa9bd98ef646f6e1ae2632522c8b5b58
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/test/src/math/smoke/FMaxTest.h
Log Message:
-----------
Fix typo (#85869)
Commit: 1d6bdc90171da88f3014b103d9cf51c8d1d0f9a1
https://github.com/llvm/llvm-project/commit/1d6bdc90171da88f3014b103d9cf51c8d1d0f9a1
Author: AdityaK <hiraditya at msn.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
Log Message:
-----------
clang driver: enable fast unaligned access for Android on RISCV64 (#85704)
Android CTS test already requires fast unaligned access
https://android-review.googlesource.com/c/platform/cts/+/2675633
Commit: 809eaae77708134e79bed40768baf3ce624957de
https://github.com/llvm/llvm-project/commit/809eaae77708134e79bed40768baf3ce624957de
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/test/ELF/driver.test
Log Message:
-----------
[ELF] Improve unknown -z test
Commit: ea458626153043142b8c15cf8a669fab217e0657
https://github.com/llvm/llvm-project/commit/ea458626153043142b8c15cf8a669fab217e0657
Author: Augie Fackler <augie at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] add missing dependency for 2137894a6f5475e51c541b6d16e8902125a8f002
Commit: 03353aefe04e06e21991ce02c8320ea325203682
https://github.com/llvm/llvm-project/commit/03353aefe04e06e21991ce02c8320ea325203682
Author: Alex Langford <alangford at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/test/API/source-manager/TestSourceManager.py
Log Message:
-----------
[lldb] Remove process restart prompt from TestSourceManager (#85861)
In TestSourceManager, test_artificial_source_location will give the
process restart prompt if you run the test individually. The reason is
that we run the process twice: first using a convenience function to run
to a specific breakpoint and then again to check for a specific message
emitted when you hit the breakpoint. Instead of running twice and making
the test difficult to run individually, we can just check for the
specific messages using other commands.
Commit: df7eebe2bd3b6eff3e6466010674ec4f9f26b99e
https://github.com/llvm/llvm-project/commit/df7eebe2bd3b6eff3e6466010674ec4f9f26b99e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Cleanup setOperationAction for ISD::BITCAST with Zfa and D extension. NFC
We only need Custom handling for i64 on RV32. This will be used by
type legalization. We don't need to make it custom for f64 to get
type legalization to custom split i64.
If f64 and i64 are legal types, then ISD::BITCAST should be legal.
Commit: f9f8e79a068e755293b2bcdcdaf5c33eb3be28fd
https://github.com/llvm/llvm-project/commit/f9f8e79a068e755293b2bcdcdaf5c33eb3be28fd
Author: Alex Langford <alangford at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/AddressableBits.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/AddressableBits.cpp
Log Message:
-----------
[lldb] Invert relationship between Process and AddressableBits (#85858)
AddressableBits is in the Utility module of LLDB. It currently directly
refers to Process, which is from the Target LLDB module. This is a
layering violation which concretely means that it is impossible to link
anything that uses Utility without it also using Target as well. This is
generally not an issue for LLDB (since everything is built together) but
it may make it difficult to write unit tests for AddressableBits later
on.
Commit: 293115d57aa991a9f8d63e24e06d212fd1b37273
https://github.com/llvm/llvm-project/commit/293115d57aa991a9f8d63e24e06d212fd1b37273
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/stdc.td
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/str_from_util.h
A libc/src/stdlib/strfromf.cpp
A libc/src/stdlib/strfromf.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/strfromf_test.cpp
Log Message:
-----------
[libc]: Implement strfromf() and shared utilities (#85438)
Fixes #84244.
Implements the function `strfromf()` introduced in C23, and adds shared
utilities for implementation of other `strfrom*()` functions, including
`strfromd()` and `strfroml()`.
Commit: 6c2ab40b3df8e5a27db843c9bd881d08b1ce8c59
https://github.com/llvm/llvm-project/commit/6c2ab40b3df8e5a27db843c9bd881d08b1ce8c59
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/Target.td
Log Message:
-----------
[TableGen][Target] Add documentation to `Constraints`. (#85951)
This patch adds some basic documentation for `Constraints`, along with
some "see also" pointers for backend writers to learn more.
Commit: a76fff8c1dfd425c44535eb75a1046ee229bbad6
https://github.com/llvm/llvm-project/commit/a76fff8c1dfd425c44535eb75a1046ee229bbad6
Author: Augie Fackler <augie at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] another BUILD fix for 2137894a6f5475e51c541b6d16e8902125a8f002
Commit: 757caa23690457d14da71256463189ee0f3d7804
https://github.com/llvm/llvm-project/commit/757caa23690457d14da71256463189ee0f3d7804
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_platform.h
Log Message:
-----------
[dfsan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85674)
DFSan's shadow mappings are incompatible with 32 bits of ASLR entropy
('sudo sysctl vm.mmap_rnd_bits=32; ninja check-dfsan') and it is
difficult to fix this via increasing the size of the shadow mappings,
due to the overhead of shadow memory. This patch works around the issue
by detecting if the memory layout is incompatible, and if so,
re-exec'ing without ASLR.
DFSan and MSan share copy-pasted shadow memory code, hence this
workaround is ported from MSan:
- "[msan] Re-exec with no ASLR if memory layout is incompatible on
Linux"
(https://github.com/llvm/llvm-project/commit/58f7251820b14c93168726a24816d8a094599be5)
- "[msan] Add 'MappingDesc::ALLOCATOR' type and check it is available"
(https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b)
(which in turn are inspired by TSan: "Re-exec TSan with no ASLR if
memory layout is incompatible on Linux"
(https://github.com/llvm/llvm-project/commit/0784b1eefa36d4acbb0dacd2d18796e26313b6c5
))
aeubanks had remarked in
https://github.com/llvm/llvm-project/pull/85142#issuecomment-2004442883
that this issue occurs in Chromium:
https://ci.chromium.org/ui/p/chromium/builders/try/linux_upload_clang/5066/overview
Commit: dae5d5a5ad01ab2f5544d8586878039a89c8ab64
https://github.com/llvm/llvm-project/commit/dae5d5a5ad01ab2f5544d8586878039a89c8ab64
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/C/C2x/n2975.c
M clang/test/Lexer/gnu-flags.c
M clang/test/Preprocessor/empty_va_arg.cpp
M clang/test/Preprocessor/macro_fn.c
Log Message:
-----------
[Clang] Update missing varargs arg extension warnings (#84520)
This updates a few warnings that were diagnosing no arguments for a
`...` variadic macro parameter as a GNU extension when it actually is a
C++20/C23 extension now.
This fixes #84495.
Commit: 50b3de168d23475ea246082bda71a2fec64726b5
https://github.com/llvm/llvm-project/commit/50b3de168d23475ea246082bda71a2fec64726b5
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[mlir][nvgpu][nvvm] Add myself as a primary reviewer for nvgpu and nvvm dialects (#85414)
Commit: 4d8ffe8aafbb2aaab81fccca9ce26ae6a97a8600
https://github.com/llvm/llvm-project/commit/4d8ffe8aafbb2aaab81fccca9ce26ae6a97a8600
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
A llvm/test/CodeGen/SPIRV/instructions/bitwise-i1.ll
Log Message:
-----------
[SPIR-V] Fix incorrect bitwise instructions applied to the bool type (#85929)
This PR ensures that LLVM IR bitwise instructions result in logical
SPIR-V instructions when applied to i1 type.
Commit: 8c7ad7e6913a850d5c1a041c29ddd7a40c8edb61
https://github.com/llvm/llvm-project/commit/8c7ad7e6913a850d5c1a041c29ddd7a40c8edb61
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/empty-logical.ll
M llvm/test/CodeGen/SPIRV/empty-module.ll
M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
M llvm/test/CodeGen/SPIRV/empty-opencl64.ll
M llvm/test/CodeGen/SPIRV/empty.ll
A llvm/test/CodeGen/SPIRV/fence.ll
Log Message:
-----------
[SPIRV] Add __spirv_ builtins for existing instructions (#85654)
This PR:
* adds __spirv_ builtins for existing instructions;
* fixes parsing of "syncscope" values in atomic instructions;
* fix a special case of binary header emision.
Commit: 99120ba4ea86ba4af013ac2518ee7ce70cfc4f92
https://github.com/llvm/llvm-project/commit/99120ba4ea86ba4af013ac2518ee7ce70cfc4f92
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/TableGen/ConstraintChecking3.td
A llvm/test/TableGen/ConstraintChecking8.td
M llvm/utils/TableGen/CodeGenInstruction.cpp
Log Message:
-----------
[TableGen] Fix operand constraint checking problem. (#85859)
Currently operand constraint checks on "$dest = $src" are inadvertently
accepting any token that contains "=". This has surprising results, e.g,
"$dest != $src" is accepted as a constraint but then treated as "=".
This patch ensures that only exactly the token "=" is accepted.
Commit: e9351ac609dc41e9a934e94b3238cf300cdc25f1
https://github.com/llvm/llvm-project/commit/e9351ac609dc41e9a934e94b3238cf300cdc25f1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
A llvm/test/CodeGen/RISCV/attributes-module-flag.ll
A llvm/test/CodeGen/RISCV/module-elf-flags.ll
Log Message:
-----------
[RISCV] Use 'riscv-isa' module flag to set ELF flags and attributes. (#85155)
Walk all the ISA strings and set the subtarget bits for any extension we
find in any string.
This allows LTO output to have a ELF attributes from the union of all of
the files used to compile it.
Commit: b6b5f3a0f028a33b6df27459af4f4cc619327835
https://github.com/llvm/llvm-project/commit/b6b5f3a0f028a33b6df27459af4f4cc619327835
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/isinf.ll
A llvm/test/CodeGen/DirectX/isinf_error.ll
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][DXIL] Distinguish return type for overload type resolution. (#85646)
Return type of DXIL Ops may be different from valid overload type of the
parameters, if any. Such DXIL Ops are correctly represented in DXIL.td.
However, DXILEmitter assumes the return type to be the same as parameter
overload type, if one exists. This results in generation in incorrect
overload index value in DXILOperation.inc for the DXIL Op and incorrect
DXIL operation function call in DXILOpLowering pass.
This change distinguishes return types correctly from parameter overload
types in DXILEmitter backend to handle such DXIL ops.
Add specification for DXIL Op `isinf` and corresponding tests to verify
the above change.
Fixes issue #85125
Commit: cfa80560f4b4215dc1c0cfd37307f41ea06763de
https://github.com/llvm/llvm-project/commit/cfa80560f4b4215dc1c0cfd37307f41ea06763de
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Add missing feature predicates to some of the RVV pseudos (#85983)
Some of the RVV pseudos are missing HasVInstructions. This is
effectively a NFC.
Commit: d9a59e8dfa180f51898b2db04d517cade6882fc3
https://github.com/llvm/llvm-project/commit/d9a59e8dfa180f51898b2db04d517cade6882fc3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/C11/n1310.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Add test coverage for N1310 and claim conformance
This is about the best I could do for testing that `signed char` does
not have any padding bits.
Commit: 7383103084fa3142cf43951a612d71bca2dae5f1
https://github.com/llvm/llvm-project/commit/7383103084fa3142cf43951a612d71bca2dae5f1
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Parse/ParsePragma.cpp
A clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/complex-math.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/pragma-cx-limited-range.c
M clang/test/CodeGen/smiths-complex-div.c
M clang/test/Driver/range.c
Log Message:
-----------
[CLANG] Full support of complex multiplication and division. (#81514)
In clang there are two options `-f[no]cx-limited-range` and
`-f[no]cx-fortran-rules` that control the range of complex
multiplication and division. However, it is unclear how these options
interact with one another. For instance, what should happen when the
users compile with `-fcx-fortran-rules -fno-cx-limited-range` or
`-fcx-limited-range -fno-cx-fortran-rules`?
In this patch we are introducing a new option to solve the issue and
give a greater flexibility to the user to control the behavior of the
compiler when performing multiplication and division of complex
floating-point values.
`-fcomplex-arihmetic=[full|improved|promoted|basic]`
`full`: Implementation of complex division and multiplication using a
call to runtime library functions (generally the case, but the BE might
sometimes replace the library call if it knows enough about the
potential range of the inputs). Overflow and non-finite values are
handled by the library implementation. For the case of multiplication
overflow will occur in accordance with normal floating-point rules. This
is the default value.
`improved`: Implementation of complex division using the Smith algorithm
at source precision. Smith's algorithm for complex division. See SMITH,
R. L. Algorithm 116: Complex division. Commun. ACM 5, 8 (1962). This
value offers improved handling for overflow in intermediate
calculations, but overflow may occur. NaN and infinite values are not
handled in some cases.
`promoted`: Implementation of complex division using algebraic formulas
at higher precision. Overflow is handled. Non-finite values are handled
in some cases. If the target does not have native support for a higher
precision data type, the implementation for the complex operation using
the Smith algorithm will be used. Overflow may still occur in some
cases. NaN and infinite values are not handled.
`basic`: Implementation of complex division and multiplication using
algebraic formulas at source precision. No special handling to avoid
overflow. NaN and infinite values are not handled.
`fcx-limited-range` will alias `-fcomplex-arithmetic=basic`
`-fcx-fortran-rules` will alias `-fcomplex-arithmetic=improved`
`-fno-cx-limited-range` and `-fno-cx-fortran-rules` will alias
`-fcomplex-arithmetic=full`
The complex division and multiplication will be implemented as follows
depending on the option used.
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 15">
<meta name=Originator content="Microsoft Word 15">
<link rel=File-List
href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<link rel=themeData
href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_themedata.thmx">
<link rel=colorSchemeMapping
href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_colorschememapping.xml">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="376">
<w:LsdException Locked="false" Priority="0" QFormat="true"
Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading
1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true"
Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true"
Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true"
Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true"
Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder
Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No
Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true"
Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book
Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6
Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7
Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6
Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7
Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hashtag"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Unresolved Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Link"/>
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536869121 1107305727 33554432 0 415 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-469750017 -1040178053 9 0 511 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:8.0pt;
margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;
mso-ligatures:standardcontextual;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:8.0pt;
line-height:107%;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;
mso-ligatures:standardcontextual;}
</style>
<![endif]-->
</head>
<body lang=EN-US style='tab-interval:.5in;word-wrap:break-word'>
<!--StartFragment-->
-fcomplex-arithmetic | div | mul
-- | -- | --
basic | algebraic form | algebraic form
improved | smith's algorithm | algebraic form
full | libcall | libcall + nan processing
promoted | algebraic form + higher precision | algebraic form
<!--EndFragment-->
</body>
</html>
Commit: 449444bbdad096dbb1c4f2428bc099687bf66aa8
https://github.com/llvm/llvm-project/commit/449444bbdad096dbb1c4f2428bc099687bf66aa8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Fix fir.cuda_kernel_launch assembly with no args (#85987)
When the kernel launch has no arguments, the generated parser was
expecting at least a type to be present. Make the last part of the
assemble format optional.
Add a run line to round-trip the output through fir-opt so we make sure
the IR can be parsed and printed correctly.
Commit: e71d715d41f23d3c56afa01607b0025b8e2f286c
https://github.com/llvm/llvm-project/commit/e71d715d41f23d3c56afa01607b0025b8e2f286c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
Log Message:
-----------
[flang][Lower] Convert OMP Map and related functions to evaluate::Expr (#81626)
The related functions are `gatherDataOperandAddrAndBounds` and
`genBoundsOps`. The former is used in OpenACC as well, and it was
updated to pass evaluate::Expr instead of parser objects.
The difference in the test case comes from unfolded conversions of index
expressions, which are explicitly of type integer(kind=8).
Delete now unused `findRepeatableClause2` and `findClause2`.
Add `AsGenericExpr` that takes std::optional. It already returns
optional Expr. Making it accept an optional Expr as input would reduce
the number of necessary checks when handling frequent optional values in
evaluator.
[Clause representation 4/6]
Commit: 4f9983153787ceeb1f04c23cb91240a71264528a
https://github.com/llvm/llvm-project/commit/4f9983153787ceeb1f04c23cb91240a71264528a
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Add SDPatternMatch m_ZExtOrSelf/m_SExtOrSelf/m_AExtOrSelf/m_TruncOrSelf matchers (#85480)
Fixes #85395
Commit: 751f26a49a316b6d71b19edf245f7acc5f40aead
https://github.com/llvm/llvm-project/commit/751f26a49a316b6d71b19edf245f7acc5f40aead
Author: Christudasan Devadasan <Christudasan.Devadasan at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Clang format (NFC).
Commit: ebded0d6d5eae3d97c98741d6595122acc86380c
https://github.com/llvm/llvm-project/commit/ebded0d6d5eae3d97c98741d6595122acc86380c
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Copy SOP properties from pseudo to real. NFCI. (#85997)
This is to help llvm-obdump to analyze instructions in a future patch.
Commit: 33a187aa398ff84dd5e9d91a4f28eaad65554973
https://github.com/llvm/llvm-project/commit/33a187aa398ff84dd5e9d91a4f28eaad65554973
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
Log Message:
-----------
[clang] Fix a warning
This patch fixes:
clang/lib/CodeGen/CGExprComplex.cpp:1037:14: error: unused variable
'ComplexElementTy' [-Werror,-Wunused-variable]
Commit: 79a9363dd3e72631e56e90995ec63fd7c57c8214
https://github.com/llvm/llvm-project/commit/79a9363dd3e72631e56e90995ec63fd7c57c8214
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/test/ELF/riscv-tlsdesc.s
A llvm/test/CodeGen/RISCV/tlsdesc-symbol.ll
Log Message:
-----------
[llvm][lld] Pre-commit tests for RISCV TLSDESC symbols
Currently, we mistakenly mark the local labels used in RISC-V TLSDESC as
TLS symbols, when they should not be. This patch adds tests with the
current incorrect behavior, and subsequent patches will address the
issue.
Reviewers: MaskRay, topperc
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/85816
Commit: 1de0903817d9cc796d34227277efaf8ae1c090a0
https://github.com/llvm/llvm-project/commit/1de0903817d9cc796d34227277efaf8ae1c090a0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
Log Message:
-----------
[mlir][vector] Adds pattern rewrite for maskable Ops (#83827)
Adds a generic pattern rewrite for maskable Ops, `MaskableOpRewritePattern`,
that will work for both masked and un-masked cases, e.g. for both:
* `vector.mask {vector.contract}` (masked), and
* `vector.contract` (not masked).
This helps to reduce code-duplication and standardise how we implement such
patterns.
Fixes #78787
Commit: a0e8ac3c9a509d93ff8d7242c5d22b8ef3f748e3
https://github.com/llvm/llvm-project/commit/a0e8ac3c9a509d93ff8d7242c5d22b8ef3f748e3
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/docs/Tutorials/transform/Ch2.md
M mlir/examples/transform/Ch2/include/MyExtension.h
M mlir/examples/transform/Ch2/include/MyExtension.td
M mlir/examples/transform/Ch2/lib/MyExtension.cpp
M mlir/examples/transform/Ch3/include/MyExtension.h
M mlir/examples/transform/Ch3/include/MyExtension.td
M mlir/examples/transform/Ch3/include/MyExtensionTypes.td
M mlir/examples/transform/Ch3/lib/MyExtension.cpp
M mlir/examples/transform/Ch4/include/MyExtension.h
M mlir/examples/transform/Ch4/include/MyExtension.td
M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.h
M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td
M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h
M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td
M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h
M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/GPU/TransformOps/Utils.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.h
M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.h
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
R mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
R mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.h
M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
A mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
A mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
A mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h
M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.td
M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.h
M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.td
M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h
M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Transform/CMakeLists.txt
M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
R mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
A mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
A mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
M mlir/lib/Dialect/Transform/Transforms/InferEffects.cpp
M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/test/Dialect/Tensor/decompose-concat.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
M mlir/test/Dialect/Tensor/rewrite-as-constant.mlir
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
M mlir/test/Dialect/Vector/vector-materialize-mask.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-outer-lowering.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
M mlir/test/Dialect/Vector/vector-transfer-full-partial-split-copy-transform.mlir
M mlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-shuffle16x16.mlir
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
M mlir/test/lib/Dialect/Transform/TestTransformStateExtension.h
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir] split transform interfaces into a separate library (#85221)
Transform interfaces are implemented, direction or via extensions, in
libraries belonging to multiple other dialects. Those dialects don't
need to depend on the non-interface part of the transform dialect, which
includes the growing number of ops and transitive dependency footprint.
Split out the interfaces into a separate library. This in turn requires
flipping the dependency from the interface on the dialect that has crept
in because both co-existed in one library. The interface shouldn't
depend on the transform dialect either.
As a consequence of splitting, the capability of the interpreter to
automatically walk the payload IR to identify payload ops of a certain
kind based on the type used for the entry point symbol argument is
disabled. This is a good move by itself as it simplifies the interpreter
logic. This functionality can be trivially replaced by a
`transform.structured.match` operation.
Commit: c5c4383b90456caeadb44b3833705b38a9e5cbc1
https://github.com/llvm/llvm-project/commit/c5c4383b90456caeadb44b3833705b38a9e5cbc1
Author: John McCall <rjmccall at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/CodeGen/swift-async-call-conv.c
Log Message:
-----------
Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (#86011)
The old logic expects the call to be the last thing we emitted, and
since it kicks in before we emit cleanups, and since `swiftasynccall`
functions always return void, that's likely to be true. "Likely" isn't
very reassuring when we're talking about slapping attributes on random
calls, though. And indeed, while I can't find any way to break the logic
directly in current main, our previous (ongoing?) experiments with
shortening argument temporary lifetimes definitely broke it wide open.
So while this commit is prophylactic for now, it's clearly the right
thing to do, and it can cherry-picked to other branches to fix problems.
Commit: 193b0bce39883abf13d68895f5d4a1dd053e157d
https://github.com/llvm/llvm-project/commit/193b0bce39883abf13d68895f5d4a1dd053e157d
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/memop_profile_funclet_wasm.ll
Log Message:
-----------
[PGO] Use isScopedEHPersonality for funclet check (#85671)
This line should be `isScopedEHPersonality` rather than
`isFuncletEHPersonality` because this line is used for checking whether
we need to add `funclet` op bundles to newly added calls, and Wasm EH
needs that too.
The new test case is adapted from
https://github.com/llvm/llvm-project/blob/main/llvm/test/Transforms/PGOProfile/memop_profile_funclet.ll.
Commit: bbee7465420977a78c0f53eccba733031aa31659
https://github.com/llvm/llvm-project/commit/bbee7465420977a78c0f53eccba733031aa31659
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/lib/Profile/YAMLProfileWriter.cpp
Log Message:
-----------
[BOLT][NFC] Expose YAMLProfileWriter::convert function
The function is to be used by YAML profile emission in BAT mode for
BinaryFunctions not covered by BAT tables (same as in original binary).
Test Plan: NFC
Reviewers: rafaelauler, ayermolo, dcci, maksfb
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/76909
Commit: 3a18171be89a89171295437c969485028aa31b54
https://github.com/llvm/llvm-project/commit/3a18171be89a89171295437c969485028aa31b54
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Profile/YAMLProfileWriter.cpp
Log Message:
-----------
[BOLT][NFC] Simplify YAMLProfileWriter::convert
Use `getAnnotationWithDefault` instead of testing if the annotation is
set. If the default value is used, and `CSI.Count` is set to zero, the
target is discarded by a check below.
Test Plan: NFC
Reviewers: maksfb, dcci, rafaelauler, ayermolo
Reviewed By: ayermolo
Pull Request: https://github.com/llvm/llvm-project/pull/82129
Commit: 44d828b8d3c22c61b5aa6c4a70b36830ed9e65ce
https://github.com/llvm/llvm-project/commit/44d828b8d3c22c61b5aa6c4a70b36830ed9e65ce
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
A mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
[MLIR][XeGPU] Adding XeGPU 2d block operators (#85804)
pickup #84692 with asan fix.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: da7d11aa6466164d7ea9e96bf4507ed1a801b966
https://github.com/llvm/llvm-project/commit/da7d11aa6466164d7ea9e96bf4507ed1a801b966
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/aarch64/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.cpp
R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.h
R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
A openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
A openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
A openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
A openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
R openmp/libomptarget/plugins-nextgen/ppc64/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/ppc64le/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/s390x/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/x86_64/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Consolidate CPU offloading into 'host' directory (#86014)
Summary:
All of these CPU targets use the same underlying implementation. We
should consolidate them into a single target to make it easier to update
this to a static library based approach. I have decided to call this the
'host' target so it can be given a single name. We still only build
these if the system processor matches and we are on Linux.
Commit: 9f86038890c613d43aa68289d29bac2c56930f9a
https://github.com/llvm/llvm-project/commit/9f86038890c613d43aa68289d29bac2c56930f9a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/CMakeLists.txt
Log Message:
-----------
[BOLT][CMake] Build rt library despite unreadable map_files (#77876)
Emit a warning and print a suggested workaround.
Fixes https://github.com/llvm/llvm-project/issues/77822.
Commit: d4dde75eec50cea8180f3469319c68888065ef32
https://github.com/llvm/llvm-project/commit/d4dde75eec50cea8180f3469319c68888065ef32
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Write and parse BF/BB hashes in BAT
This increases BAT section size to:
- large binary: 34832976 bytes (0.90x original),
- medium binary: 3586800 bytes (0.60x original),
- small binary: 816 bytes (0.57x original).
Test Plan: Updated bolt/test/X86/bolt-address-translation.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76907
Commit: 0ff4e5691b65ebe0af06b4f3afa49bf2d3edab44
https://github.com/llvm/llvm-project/commit/0ff4e5691b65ebe0af06b4f3afa49bf2d3edab44
Author: Caroline Tice <cmtice at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
Log Message:
-----------
[LLVM][DebugInfo] Add accessor for NameIndex header.
This is needed for pending LLD work to create a single unified .debug_names
index (rather than just appending all the indices from each .o file).
Commit: ec929b12e07d488901efc91ffbec2cc7152b3426
https://github.com/llvm/llvm-project/commit/ec929b12e07d488901efc91ffbec2cc7152b3426
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in XeGPUOps.cpp (NFC)
llvm-project/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:47:8:
error: unused variable 'ty' [-Werror,-Wunused-variable]
auto ty = source.getType();
^
1 error generated.
Commit: b1d4fe08ea9a73c3653c6ec222808187ffe0695b
https://github.com/llvm/llvm-project/commit/b1d4fe08ea9a73c3653c6ec222808187ffe0695b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/test/dfsan/custom.cpp
Log Message:
-----------
[dfsan] Use non-existent file in test for real
Commit: 50807ceb21591d639cfc156ec1f2bf472ca41851
https://github.com/llvm/llvm-project/commit/50807ceb21591d639cfc156ec1f2bf472ca41851
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT] Fix an unused variable warning
This patch fixes:
bolt/lib/Profile/BoltAddressTranslation.cpp:26:12: error: unused
variable 'HotFuncAddress' [-Werror,-Wunused-variable]
Commit: 2e9b62879807faa488e040b0fabbb3431ff2388b
https://github.com/llvm/llvm-project/commit/2e9b62879807faa488e040b0fabbb3431ff2388b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Add an option to always build GPU loader utilities (#86040)
Summary:
Right now it's difficult to build these utilities standalone becayse
they're keyed off of the other GPU handling. if someone wants to *just*
build these utilities it's not possible without setting up the runtimes
build. Since we can't just build these by default add an option to
enable it.
We can't just use the handling like LIBC_HDRGEN does because this is
only for the GPU build, which isn't fully set up until way later. So
this is probably the easiest way to just allow people to build these
tools even without a GPU build setup.
Commit: 217d2200ef2b65352ba5a8f0942ddc0c68d4dd35
https://github.com/llvm/llvm-project/commit/217d2200ef2b65352ba5a8f0942ddc0c68d4dd35
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/test/X86/dwarf5-label-low-pc.s
Log Message:
-----------
[BOLT][DWARF] Fix Test (#86042)
Test was not actually checking bolt binary, and had extra POSTCHECK-NEXT
lines.
Commit: e0dfe9ad76545433c79387547a04ef966ab84e20
https://github.com/llvm/llvm-project/commit/e0dfe9ad76545433c79387547a04ef966ab84e20
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t (#86046)
Some buildbots (e.g.,
https://lab.llvm.org/buildbot/#/builders/18/builds/16061/steps/10/logs/stdio)
have recently started complaining about
```
cast from 'SignalHandlerType' (aka 'void (*)(int, void *, void *)') to 'sa_sigaction_t' (aka 'void (*)(int, siginfo_t *, void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
219 | sigact.sa_sigaction = (sa_sigaction_t)handler;
```
This patch does an intermediate cast to `'(void (*) (void))'` to suppress the warning.
N.B. SignalHandlerType has `'void*'` instead of `'siginfo_t*'` because it is typedef'ed in sanitizer_common/sanitizer_common.h, which does not have access to the header (signal.h) that defines siginfo_t; we therefore cannot fix SignalHandlerType.
Commit: be25e47fb4aa0d05f3b3cf365011273ebb8913a7
https://github.com/llvm/llvm-project/commit/be25e47fb4aa0d05f3b3cf365011273ebb8913a7
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGenCXX/x86_64-vaarg.cpp
Log Message:
-----------
[X86_64] fix empty structure vaarg in c++ (#77907)
SizeInBytes of empty structure is 0 in C, while 1 in C++. And empty
structure argument of the function is ignored in X86_64 backend.As a
result, the value of variable arguments in C++ is incorrect. fix #77036
Co-authored-by: Longsheng Mou <moulongsheng at huawei.com>
Commit: 7404d32f23353f86e56791c6c80e0d7a9adddbd2
https://github.com/llvm/llvm-project/commit/7404d32f23353f86e56791c6c80e0d7a9adddbd2
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/domain-reassignment-ndd.mir
Log Message:
-----------
Precommit test for #85737 (#86056)
Copied from llvm/test/CodeGen/X86/domain-reassignment.mir
Commit: bfc50fc0c0fa2db7e512bbecdf8acee7d7de1e03
https://github.com/llvm/llvm-project/commit/bfc50fc0c0fa2db7e512bbecdf8acee7d7de1e03
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[AArch64] Run LoopSimplifyPass in byte-compare-index.ll (#86053)
Make this test case work on both new and legacy pass manager. See also
#85215
Commit: a07fde2ef508c41e1ffd9c767b54c55377b0096b
https://github.com/llvm/llvm-project/commit/a07fde2ef508c41e1ffd9c767b54c55377b0096b
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][XeGPU] Fix shared build. NFC
Commit: c4c0ea25b3d73157ae76868b8602ec138e57eaab
https://github.com/llvm/llvm-project/commit/c4c0ea25b3d73157ae76868b8602ec138e57eaab
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Log Message:
-----------
Revert "[sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t"
This reverts commit 9d79589e7c8b728a592a4b6b3dee53ac471d7946
because it failed to suppress the warning.
Commit: 46ee5ad804730f165e7663a3c4ba93417d217d0b
https://github.com/llvm/llvm-project/commit/46ee5ad804730f165e7663a3c4ba93417d217d0b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Analysis/AliasSet/intrinsics.ll
Log Message:
-----------
[Analysis] Use implicit-check-not in test
Commit: 847f5e417c8ff30ec2dbd9c0e413b68640720da1
https://github.com/llvm/llvm-project/commit/847f5e417c8ff30ec2dbd9c0e413b68640720da1
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/apx/domain-reassignment.mir
R llvm/test/CodeGen/X86/domain-reassignment-ndd.mir
Log Message:
-----------
Move pre-commit test for #85737 (#86062)
Commit: 6fef2c9af2fea07f606e4d23dc914f8fa6f0816d
https://github.com/llvm/llvm-project/commit/6fef2c9af2fea07f606e4d23dc914f8fa6f0816d
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
M llvm/test/CodeGen/AArch64/arm64-xaluo.ll
M llvm/test/CodeGen/AArch64/overflow.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
Log Message:
-----------
[GlobalIsel] Post-review combine ADDO (#85961)
https://github.com/llvm/llvm-project/pull/82927
Commit: 36046a1288619ce23791cb64314a0ec35bf2789f
https://github.com/llvm/llvm-project/commit/36046a1288619ce23791cb64314a0ec35bf2789f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/include/llvm/Passes/TargetPassRegistry.inc
A llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[NewPM][AArch64] Add AArch64PassRegistry.def (#85215)
PR #83567 ports `SelectionDAGISel` to the new pass manager, then each
backend should provide `<Target>DagToDagISel()` in new pass manager
style. Then each target should provide `<Target>PassRegistry.def` to
register backend passes in `registerPassBuilderCallbacks` to reduce
duplicate code.
This PR adds `AArch64PassRegistry.def` to AArch64 backend and
boilerplate code in `registerPassBuilderCallbacks`.
Commit: c0b52e9ebbe49f7bc952b5de20f60477fab255fd
https://github.com/llvm/llvm-project/commit/c0b52e9ebbe49f7bc952b5de20f60477fab255fd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
Log Message:
-----------
[mlir][sparse] Fix typos in comments (#86074)
Commit: 16f760fc65fa6af42026bbdb83301ec7dfaab739
https://github.com/llvm/llvm-project/commit/16f760fc65fa6af42026bbdb83301ec7dfaab739
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-abs.mir
M llvm/test/CodeGen/AArch64/abs.ll
Log Message:
-----------
[AArch64][GlobalISel] Take abs scalar codegen closer to SDAG (#84886)
This patch improves codegen for scalar (<128bits) version
of llvm.abs intrinsic by using the existing non-XOR based lowering.
This takes the generated code closer to SDAG.
codegen with GISel for > 128 bit types is not very good
with these method so not doing so.
Commit: 0abf65911134a8e4ff5038bc4bbc3eefc50191b6
https://github.com/llvm/llvm-project/commit/0abf65911134a8e4ff5038bc4bbc3eefc50191b6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/test/Dialect/Arith/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-allow-return-allocs.mlir
A mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis-bottom-up-from-terminators.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-allow-return-allocs.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-analysis.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Linalg/one-shot-bufferize.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Add "bottom-up from terminators" analysis heuristic (#83964)
One-Shot Bufferize currently does not support loops where a yielded
value bufferizes to a buffer that is different from the buffer of the
region iter_arg. In such a case, the bufferization fails with an error
such as:
```
Yield operand #0 is not equivalent to the corresponding iter bbArg
scf.yield %0 : tensor<5xf32>
```
One common reason for non-equivalent buffers is that an op on the path
from the region iter_arg to the terminator bufferizes out-of-place. Ops
that are analyzed earlier are more likely to bufferize in-place.
This commit adds a new heuristic that gives preference to ops that are
reachable on the reverse SSA use-def chain from a region terminator and
are within the parent region of the terminator. This is expected to work
better than the existing heuristics for loops where an iter_arg is
written to multiple times within a loop, but only one write is fed into
the terminator.
Current users of One-Shot Bufferize are not affected by this change.
"Bottom-up" is still the default heuristic. Users can switch to the new
heuristic manually.
This commit also turns the "fuzzer" pass option into a heuristic,
cleaning up the code a bit.
Commit: 1267f96feac1548fe067f0d0105482d218b15cfb
https://github.com/llvm/llvm-project/commit/1267f96feac1548fe067f0d0105482d218b15cfb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
Attributor: Handle inferring align from use by atomics (#85762)
Commit: f1036658781bdd51c24d00b60a81052eadc84a88
https://github.com/llvm/llvm-project/commit/f1036658781bdd51c24d00b60a81052eadc84a88
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
Log Message:
-----------
[mlir][transform] Fix failure in flattening already flattened linalg ops (#86037)
The previous implementation was doing an early successful return on
`rank <= 1` without adding the original op to transform results. This
resulted in errors about number of returns. This patch fixes this by
adding the original op to results. Additionally, we first check if op is
elementwise and return a slienceable failure early if not.
Commit: 2fb0f4ffcc5ba9ccbfb47576cbdf90f7176aa579
https://github.com/llvm/llvm-project/commit/2fb0f4ffcc5ba9ccbfb47576cbdf90f7176aa579
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[cmake] Place clang behind mlir in the list of external projects (#86050)
In preparation for the initial ClangIR upstreaming process, move clang
behind MLIR in the list of external projects. Otherwise, cmake will
attempt to build clang before MLIR.
Commit: c6a5aabab7c7a1f206ae4a1222481d2a7fca34dd
https://github.com/llvm/llvm-project/commit/c6a5aabab7c7a1f206ae4a1222481d2a7fca34dd
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[CMake] Change GCC_INSTALL_PREFIX from warning to fatal error (#85891)
unless USE_DEPRECATED_GCC_INSTALL_PREFIX (temporary escape hatch) is
set. Setting GCC_INSTALL_PREFIX leads to a warning for Clang 18.1
(#77537) and will be completely removed for Clang 20.
Link:
discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833
Commit: 3ea0ffe3513395d4e148c274346367613caf27af
https://github.com/llvm/llvm-project/commit/3ea0ffe3513395d4e148c274346367613caf27af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Convert an assertion to an if condition in getRegAllocationHints (#85998)
With GPR pairs from Zdinx, we can't guarantee there are no subregisters
on integer instruction operands. I've been able to get these assertions
to fire after some other recent PRs.
I've added a FIXME to support this properly. I just wanted to prevent
the assertion failure for now.
No test case because my other patch #85982 that allowed me to fail the assert
hasn't been approved yet, and I don't know for that that patch is
required to hit this assert. It's just what exposed it for me. So I
think this patch is a good precaution regardless.
Commit: e873dfe7318838824ae064738c5bd065575a2acf
https://github.com/llvm/llvm-project/commit/e873dfe7318838824ae064738c5bd065575a2acf
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
Revert "[cmake] Place clang behind mlir in the list of external projects (#86050)"
This reverts commit 26c290b46ac6b4a81feb28ae1862fac961138a24.
Commit: 8cc71ae267f923d5bf69893f314a46cbdcfff389
https://github.com/llvm/llvm-project/commit/8cc71ae267f923d5bf69893f314a46cbdcfff389
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
Log Message:
-----------
[RISCV] Use DenseMap to track V0 definition. NFC (#84465)
Reviving some of the progress on #71764. To recap, we explored removing
the V0 register copies to simplify the pass, but hit a limitation with
the register allocator due to our use of the vmv0 singleton reg class
and early-clobber constraints.
So since we will have to continue to track the definition of V0
ourselves, this patch simplifies it by storing it in a map. It will
allow us to move about copies to V0 in #71764 without having to do extra
bookkeeping.
Commit: fad48cde4ab1ffc90a1f910bb174de66f42e9acb
https://github.com/llvm/llvm-project/commit/fad48cde4ab1ffc90a1f910bb174de66f42e9acb
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/docs/DataLayout.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/module.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/types.mlir
M mlir/test/Target/LLVMIR/data-layout.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[MLIR] Add index bitwidth to the DataLayout (#85927)
When importing from LLVM IR the data layout of all pointer types
contains an index bitwidth that should be used for index computations.
This revision adds a getter to the DataLayout that provides access to
the already stored bitwidth. The function returns an optional since only
pointer-like types have an index bitwidth. Querying the bitwidth of a
non-pointer type returns std::nullopt.
The new function works for the built-in Index type and, using a type
interface, for the LLVMPointerType.
Commit: a74979d0063ce611cedd11be6f373edbe6e2714a
https://github.com/llvm/llvm-project/commit/a74979d0063ce611cedd11be6f373edbe6e2714a
Author: Roberto Bampi <gigaroby at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ClangFormat.rst
A clang/test/Format/fail-on-incomplete.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Add --fail-on-incomplete-format. (#84346)
At the moment clang-format will return exit code 0 on incomplete
results. In scripts it would sometimes be useful if clang-format would
instead fail in those cases, signalling that there was something wrong
with the code being formatted.
---------
Co-authored-by: Björn Schäpers <github at hazardy.de>
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 56e665a8f9fc5d38e2d69a2f8b53764252352406
https://github.com/llvm/llvm-project/commit/56e665a8f9fc5d38e2d69a2f8b53764252352406
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add target for index dialect python bindings
Commit: cf7915ea1752de939efedd1d804f3e33e83a7ba5
https://github.com/llvm/llvm-project/commit/cf7915ea1752de939efedd1d804f3e33e83a7ba5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs-inreg-hints.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
Log Message:
-----------
AMDGPU: Infer no-agpr usage in AMDGPUAttributor (#85948)
SIMachineFunctionInfo has a scan of the function body for inline asm
which may use AGPRs, or callees in SIMachineFunctionInfo. Move this
into the attributor, so it actually works interprocedurally.
Could probably avoid most of the test churn if this bothered to avoid
adding this on subtargets without AGPRs. We should also probably
try to delete the MIR scan in usesAGPRs but it seems to be trickier
to eliminate.
Commit: 63eb39d960314b0b49d1dd888991dd80704c644f
https://github.com/llvm/llvm-project/commit/63eb39d960314b0b49d1dd888991dd80704c644f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/OpenMP/bug54082.c
Log Message:
-----------
[clang][CodeGen] Allow `memcpy` replace with trivial auto var init
When emitting the storage (or memory copy operations) for constant
initializers, the decision whether to split a constant structure or
array store into a sequence of field stores or to use `memcpy` is
based upon the optimization level and the size of the initializer.
In afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d, we extended this by
allowing constants to be split when the array (or struct) type does
not match the type of data the address to the object (constant) is
expected to contain. This may happen when `emitStoresForConstant` is
called by `EmitAutoVarInit`, as the element type of the address gets
shrunk. When this occurs, let the initializer be split into a bunch
of stores only under `-ftrivial-auto-var-init=pattern`.
Fixes: https://github.com/llvm/llvm-project/issues/84178.
Commit: f1d06c997c5cf21dcd71a9752f82a9745a1384c9
https://github.com/llvm/llvm-project/commit/f1d06c997c5cf21dcd71a9752f82a9745a1384c9
Author: Christian Sigg <csigg at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Update BUILD after 29bf32efbb646b2ab3dec25f100419fc75635878.
Commit: 7cff40fc86e610a32f84585662f02992d34bfbd8
https://github.com/llvm/llvm-project/commit/7cff40fc86e610a32f84585662f02992d34bfbd8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSUB/visitSUBO - move getAsNonOpaqueConstant into the if() where its used. NFC.
Noticed while beginning some cleanup for moving to pattern matchers
Commit: 505fac33555f4da86794a864333a9cb98bff712a
https://github.com/llvm/llvm-project/commit/505fac33555f4da86794a864333a9cb98bff712a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
[X86] getShuffleCost - recognise concat_vector(X,Y) shuffle as InsertSubvector instead of PermuteTwoSrc
We don't have a concat_vector shuffle kind and improveShuffleKindFromMask won't alter the base type to match it as InsertSubvector.
But since this is how X86 will lower concat_vector anyhow, just recognise it explicitly.
Another step for #67803
Commit: 9288584c340f954747e0304bd3e8b60ea87c88b5
https://github.com/llvm/llvm-project/commit/9288584c340f954747e0304bd3e8b60ea87c88b5
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
Lower shuffle to single-result form if possible. (#84321)
We currently always lower shuffle to the struct-returning variant. I saw
some cases where this survived all the way through ptx, resulting in
increased register usage. The easiest fix is to simply lower to the
single-result version when the predicate is unused.
Commit: d92103e96d47ec69cff73ed3edbea4a09ffacc84
https://github.com/llvm/llvm-project/commit/d92103e96d47ec69cff73ed3edbea4a09ffacc84
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSUB - pull out repeated getScalarSizeInBits() calls. NFC.
Commit: 4dac56294d9ad996617413cafc3dd0c7f8a2ad2b
https://github.com/llvm/llvm-project/commit/4dac56294d9ad996617413cafc3dd0c7f8a2ad2b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSUB - use sd_match to match SUB(MAX,MIN) -> ABD pattern. NFC.
Seriously simplifies the commutation matching logic.
Commit: ef084c3bdd0d5562ca3641385c291310051e4e4f
https://github.com/llvm/llvm-project/commit/ef084c3bdd0d5562ca3641385c291310051e4e4f
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
A llvm/test/CodeGen/AMDGPU/lds-mixed-absolute-addresses-unused.ll
M llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll
Log Message:
-----------
[AMDGPU][LowerModuleLDS] Refactor partially lowered module detection (#85793)
Refactor the logic that checks if a module contains mixed
absolute/non-lowered LDS GVs.
The check now happens latter when the "worklists" are formed. This is
because in some cases (OpenMP) we can have non-lowered GVs in a lowered
module, and this is normal because those GVs are just unused and removed
from the list at some point before the end of `getUsesOfLDSByFunction`.
Doing the check later ensures that if a mixed module is spotted, then
it's a _real_ mixed module that needs rejection, not a module containing
an intentionally ignored GV.
Commit: c50503f71a2f83713e4cf4a313d310a8f8342f76
https://github.com/llvm/llvm-project/commit/c50503f71a2f83713e4cf4a313d310a8f8342f76
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[llvm-lib] Use ARM64EC machine type for import libraries when -machine:arm64x is used. (#85972)
This is compatible with MSVC, `-machine:arm64x` is essentially an alias
to `-machine:arm64ec`. To make a type library that exposes both native
and EC symbols, an additional `-defArm64Native` argument is needed in
both cases.
Commit: 01ee0b1b988c2f3ffe2e784488fc29c1111f94fa
https://github.com/llvm/llvm-project/commit/01ee0b1b988c2f3ffe2e784488fc29c1111f94fa
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
Log Message:
-----------
[Object][COFF][NFC] Introduce Arm64ECThunkType enum. (#85936)
And use it in EC lowering code. It will be useful for LLD too.
Commit: cc3657f28b562cf7d22ec9dcf4aee6e845358c78
https://github.com/llvm/llvm-project/commit/cc3657f28b562cf7d22ec9dcf4aee6e845358c78
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
Log Message:
-----------
(Reland) [AMDGPU] Run LowerLDS at the end of the fullLTO pipeline (#85626)
Reland of #75333
Commit: 312c05e3578ab05718185983a9b2aaa3c2aa17dc
https://github.com/llvm/llvm-project/commit/312c05e3578ab05718185983a9b2aaa3c2aa17dc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++][NFC] Use __constexpr_memmove instead of copy_n in <__string/char_traits.h> (#85920)
`copy_n` has been used to allow constant evaluation of `char_traits`. We
now have `__constexpr_memmove`, which `copy_n` just forwards to. We can
call `__constexpr_memmove` directly, avoiding a bunch of instantiations.
This reduces the time it takes to include `<string>` from 321ms to
285ms.
Commit: 86e60c4bfbe6462646ea80a846e4150d43bac2ff
https://github.com/llvm/llvm-project/commit/86e60c4bfbe6462646ea80a846e4150d43bac2ff
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix SystemZ build failure
Commit a7d5f73a03c81cab8df64dbd099e8acb40f5dfe1 introduced an
error in a target_compile_definitions on the SystemZ, causing
the build to break. Fixed by adding the missing "PRIVATE".
Commit: 6ae7377c642ec2a00a49639158f6d505bc326f80
https://github.com/llvm/llvm-project/commit/6ae7377c642ec2a00a49639158f6d505bc326f80
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Fix OpenMP dependencies (#85977)
When building the OpenMP runtime with libomptarget support, the runtimes
configure step needs to have a dependency on various tools, in
particular opt, so that cmake configure checks yield the correct
results.
This did not work correctly, as the dependencies were only added if the
OPENMP_ENABLE_LIBOMPTARGET was set - but that variable is only set by
the openmp/CMakeLists.txt file, which isn't even parsed during the
initial cmake run (in fact, it is only parsed when executing the
runtimes configure step itself, but then it is too late).
Fixed by just adding those dependencies always.
In addition, the list of dependencies collected in ${extra_deps},
including those required for OpenMP, was only actually used when
configuring runtimes for the default set of targets - when the user
specifies a non-default LLVM_RUNTIME_TARGETS, those extra dependencies
were ignored (with the exception of ${hdrgen_deps}).
Fixed by passing the full ${extra_deps} in this case as well.
Fixes: https://github.com/llvm/llvm-project/issues/85933
Commit: 78f321b666c099a23d02841d75accea2cf0a938c
https://github.com/llvm/llvm-project/commit/78f321b666c099a23d02841d75accea2cf0a938c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__system_error/errc.h
M libcxx/include/cerrno
M libcxx/src/random.cpp
A libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
A libcxx/test/std/depr.cerro/system.error.syn.verify.cpp
M libcxx/test/std/diagnostics/syserr/errc.pass.cpp
Log Message:
-----------
[libc++] Deprecates std::errc constants. (#80542)
Implements:
- LWG3869 Deprecate std::errc constants related to UNIX STREAMS
Commit: 2a94dd716accbbec01f8a6167ebdaaa65382f0a8
https://github.com/llvm/llvm-project/commit/2a94dd716accbbec01f8a6167ebdaaa65382f0a8
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/dagcombine-shifts.ll
Log Message:
-----------
[SelectionDAG] Add MaskedValueIsZero check to allow folding of zero extended variables we know are safe to extend (#85573)
Add ones for every high bit that will cleared.
This will allow us to evaluate variables that have their bits known to
see if they have no risk of overflow despite the shift amount being
greater than the difference between the two types.
Commit: ed40efe18393462dbbb64125df28f906042be39e
https://github.com/llvm/llvm-project/commit/ed40efe18393462dbbb64125df28f906042be39e
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Don't expose interface headers from //mlir:IR. (#85867)
Move 3 interface headers in `//mlir:IR` from `hdrs` to `srcs`.
Header files should not be added to multiple targets, but this is hard
to avoid because CMake is less strict with headers. But we should at
least avoid exposing them as headers by multiple targets because it
confuses tooling.
Commit: 182f749a31c38683ee513d9db1dfea405f28703d
https://github.com/llvm/llvm-project/commit/182f749a31c38683ee513d9db1dfea405f28703d
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
Log Message:
-----------
Update amdgpu_gfx functions to use s0-s3 for inreg SGPR arguments on targets using scratch instructions for stack #78226 (#81394)
Resolve #78226
Commit: fba15fab105e27c4c72fbe108102b98bcd4ad202
https://github.com/llvm/llvm-project/commit/fba15fab105e27c4c72fbe108102b98bcd4ad202
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll
Log Message:
-----------
[SLP]Fix comparison in bitwidth check.
Projected bitwidth should be less than the original, not greater.
Commit: 084d05b8208aec9b1e3778c05924bee0237c9d82
https://github.com/llvm/llvm-project/commit/084d05b8208aec9b1e3778c05924bee0237c9d82
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/IR/TensorEncoding.td
Log Message:
-----------
[mlir][tensor] NFC: fully qualify verifyEncoding arguments.
Commit: d33762cdb03a2f8e7e41316512f3e767e9cddeb3
https://github.com/llvm/llvm-project/commit/d33762cdb03a2f8e7e41316512f3e767e9cddeb3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/Features.def
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Lexer/has_extension_cxx.cpp
M clang/test/OpenMP/declare_reduction_messages.cpp
M clang/test/OpenMP/openmp_check.cpp
A clang/test/Parser/cxx03-lambda-extension.cpp
M clang/test/Parser/cxx0x-lambda-expressions.cpp
M clang/test/Parser/cxx2b-lambdas.cpp
M clang/test/Parser/objcxx-lambda-expressions-neg.mm
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/lambda-implicit-this-capture.cpp
M clang/test/SemaCXX/lambda-invalid-capture.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
[clang] Accept lambdas in C++03 as an extensions (#73376)
Implements
https://discourse.llvm.org/t/rfc-allow-c-11-lambdas-in-c-03-as-an-extension/75262
Commit: d5c3a9351f31c2596e3816789c8372633c1d1929
https://github.com/llvm/llvm-project/commit/d5c3a9351f31c2596e3816789c8372633c1d1929
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/ELF/skip-symbol.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --skip-symbol and --skip-symbols options (#80873)
Add --skip-symbol and --skip-symbols options that allow to skip symbols
when executing other options that can change the symbol's name, binding
or visibility, similar to an existing option --keep-symbol that keeps a
symbol from being removed by other options.
Commit: c598651b7e0b26be5b82b26840919f48f2ee5150
https://github.com/llvm/llvm-project/commit/c598651b7e0b26be5b82b26840919f48f2ee5150
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/TargetPassRegistry.inc
Log Message:
-----------
[NewPM] Handle error in TargetPassRegistry.inc (#86112)
Mistakenly believing that checking Expected is sufficient.
Commit: 7074c10785ead205e9c1b010445f7037e582db43
https://github.com/llvm/llvm-project/commit/7074c10785ead205e9c1b010445f7037e582db43
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
A flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
Log Message:
-----------
Reapply "[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)" (#85807)
This patch contains slight modifications to the reverted PR #85258 to
avoid issues with constructs containing multiple reduction clauses,
uncovered by a test on the gfortran testsuite.
This reverts commit 9f80444c2e669237a5c92013f1a42b91b5609012.
Commit: 6f6af2e1b07c3329272908ed14162cfaf6a92486
https://github.com/llvm/llvm-project/commit/6f6af2e1b07c3329272908ed14162cfaf6a92486
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Fix assertion failure in tosa-layerwise-constant-fold (#85670)
The existing implementation of tosa-layerwise-constant-fold only works
for constant values backed by DenseElementsAttr. For constants which
hold DenseResourceAttrs, the folder will end up asserting at runtime, as
it assumes that the backing data can always be accessed through
ElementsAttr::getValues.
This change reworks the logic so that types types used to perform
folding are based on whether the ElementsAttr can be converted to a
range of that particular type.
---------
Co-authored-by: Spenser Bauman <sabauma at mathworks.com>
Co-authored-by: Tina Jung <tinamaria.jung at amd.com>
Commit: 00d956e6375361f8fc3452f5c763077da16f5e9e
https://github.com/llvm/llvm-project/commit/00d956e6375361f8fc3452f5c763077da16f5e9e
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[X86][Headers] Specify result of NaN comparisons (#85862)
Make sure all float/double comparison intrinsics specify what happens
with a NaN input. Update some existing descriptions of comparison
results to make them all consistent.
Also replace "yields" with "returns" throughout.
Commit: e83a287db6e3d975a945be285e17398017264640
https://github.com/llvm/llvm-project/commit/e83a287db6e3d975a945be285e17398017264640
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP][NFC]Add a test with @llvm.abs nodes, which can be analyzed for
better bitwidth.
Commit: 70f49c1e697ed65b471bdcfcbeffb4a687b53b5e
https://github.com/llvm/llvm-project/commit/70f49c1e697ed65b471bdcfcbeffb4a687b53b5e
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Update BUILD after 61b24c61a90802e06e40a7ab0aa5e2138486bd73
Commit: f06123ce41d15670478cdcdd140ef08378194784
https://github.com/llvm/llvm-project/commit/f06123ce41d15670478cdcdd140ef08378194784
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
A mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/MemRefToEmitC/CMakeLists.txt
A mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
A mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Add initial convert-memref-to-emitc pass (#85389)
This converts `memref.alloca`, `memref.load` & `memref.store` to
`emitc.variable`, `emitc.subscript` and `emitc.assign`.
Commit: caa17577e1df474151999bf85d743a7dd7cce7c7
https://github.com/llvm/llvm-project/commit/caa17577e1df474151999bf85d743a7dd7cce7c7
Author: chrulski-intel <christopher.m.chrulski at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Implement the -lto-sample-profile option (#85841)
This has been a supported option for ELF and is added to the COFF Linker
in #85701
Commit: e1c120930d06007d9e81e404a3510cdad364665b
https://github.com/llvm/llvm-project/commit/e1c120930d06007d9e81e404a3510cdad364665b
Author: Kirill Chibisov <contact at kchibisov.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/test/Dialect/EmitC/transforms.mlir
Log Message:
-----------
[mlir][emitc] Fix form-expressions inside expression (#86081)
Make form-expressions not create `emitc.expression`s for operations
inside the `emitc.expression`s, since they are invalid.
Commit: dc79204d8c4a742578b668a11cdc7d7365957a75
https://github.com/llvm/llvm-project/commit/dc79204d8c4a742578b668a11cdc7d7365957a75
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add DataLayout to VectorCombine class instead of repeated calls to getDataLayout(). NFC.
Commit: a206bb6a66e016f240ab76f3607655568de27694
https://github.com/llvm/llvm-project/commit/a206bb6a66e016f240ab76f3607655568de27694
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/ARM/arm-and-tst-peephole.ll
M llvm/test/CodeGen/ARM/select.ll
Log Message:
-----------
[ARM] Regenerate some check lines. NFC
Commit: f8d86e1932498e0a9fc12ded06cb9c173cf32254
https://github.com/llvm/llvm-project/commit/f8d86e1932498e0a9fc12ded06cb9c173cf32254
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[InstCombine] Fold `fmul X, -0.0` into `copysign(0.0, -X)` (#85772)
`fneg + copysign` is better than fmul for analysis/codegen.
godbolt: https://godbolt.org/z/eEs6dGd1G
Alive2: https://alive2.llvm.org/ce/z/K3M5BA
Commit: aafeb9911479ba3293ad51d7e9649f06504263cf
https://github.com/llvm/llvm-project/commit/aafeb9911479ba3293ad51d7e9649f06504263cf
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
A llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
A llvm/test/MC/AMDGPU/hsa-tg-split.s
Log Message:
-----------
[AMDGPU] MCExpr-ify MC layer kernel descriptor (#80855)
Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.
Commit: 0407c2498eac3c0fb466a1c065628ee2840ae057
https://github.com/llvm/llvm-project/commit/0407c2498eac3c0fb466a1c065628ee2840ae057
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 857161c367a1
Commit: 6ff1ded042d65e004de411a8fa89410f9559ed10
https://github.com/llvm/llvm-project/commit/6ff1ded042d65e004de411a8fa89410f9559ed10
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/fat-archive-unbundle-ext.c
Log Message:
-----------
Disable driver tests on macosx that are currently disabled on darwin (#85990)
macosx and darwin in triples are equivalent.
rdar://124246653
Commit: 17a480052606deb0b8b28b015fb8d1226e9b7be5
https://github.com/llvm/llvm-project/commit/17a480052606deb0b8b28b015fb8d1226e9b7be5
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/modules-print-library-module-manifest-path.cpp
Log Message:
-----------
[clang] Improves -print-library-module-manifest-path. (#85943)
This adds a libc++ to modules.json as is currently used by libc++. When
libc++.so is not found the function will search for libc++.a as
fallback.
Commit: 49d7a53e3fc53c7ebd896383db458b9176a88c2e
https://github.com/llvm/llvm-project/commit/49d7a53e3fc53c7ebd896383db458b9176a88c2e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A mlir/include/mlir/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.h
A mlir/include/mlir/Dialect/Vector/IR/ValueBoundsOpInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
A mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
A mlir/lib/Dialect/Vector/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
A mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
Log Message:
-----------
[mlir][Vector] Add utility for computing scalable value bounds (#83876)
This adds a new API built with the `ValueBoundsConstraintSet` to compute
the bounds of possibly scalable quantities. It uses knowledge of the
range of vscale (which is defined by the target architecture), to solve
for the bound as either a constant or an expression in terms of vscale.
The result is an `AffineMap` that will always take at most one
parameter, vscale, and returns a single result, which is the bound of
`value`.
The API is defined as follows:
```c++
FailureOr<ConstantOrScalableBound>
vector::ScalableValueBoundsConstraintSet::computeScalableBound(
Value value, std::optional<int64_t> dim,
unsigned vscaleMin, unsigned vscaleMax,
presburger::BoundType boundType,
bool closedUB = true,
StopConditionFn stopCondition = nullptr);
```
Note: `ConstantOrScalableBound` is a thin wrapper over the `AffineMap`
with a utility for converting the bound to a single quantity (i.e. a
size and scalable flag).
We believe this API could prove useful downstream in IREE (which uses a
similar analysis to hoist allocas, which currently fails for scalable
vectors).
Commit: a3cfdd644773b742e9e2f153ee4cfa81b7ec20c0
https://github.com/llvm/llvm-project/commit/a3cfdd644773b742e9e2f153ee4cfa81b7ec20c0
Author: Joe Nash <Sisyph at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
R llvm/test/MC/AMDGPU/gfx11_asm_vinterp.s
A llvm/test/MC/AMDGPU/vinterp-fake16.s
R llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vinterp.txt
R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vinterp.txt
A llvm/test/MC/Disassembler/AMDGPU/vinterp-fake16.txt
Log Message:
-----------
[AMDGPU][MC][True16] Rename and combine VINTERP MC tests (#85949)
NFC.
gfx11_asm_vinterp.s already contained GFX12 run lines. Rename the
assembler and disassembler tests to be sorted based on real16 or fake16
instead of gfxip. Note, both GFX11 and GFX12 currently only have fake16
(fake16 in encoding, but not by name) upstream, so that is why the test
files have a -fake16 suffix.
One test input is changed, and that is the disassembler test for
unsupported bits in the instruction. It is now an input that is valid on
both GFX11 and GFX12. This was necessary because the size of the opcode
field changed.
Commit: 66503d47395bcab6ca1da68d3e92398b28323998
https://github.com/llvm/llvm-project/commit/66503d47395bcab6ca1da68d3e92398b28323998
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt
Log Message:
-----------
[AMDGPU][MC] Fix GFX12 check line typo and move test
NFC.
Fix CHECK lines that seem to have a copy paste error.
Move the test that was formerly in gfx12_dasm_vinterp.txt (see #85949).
Commit: 0c9d358c526adcff60b9ec5aa5e8a581b1554940
https://github.com/llvm/llvm-project/commit/0c9d358c526adcff60b9ec5aa5e8a581b1554940
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/FinalizeISel.cpp
A llvm/test/CodeGen/SystemZ/frame-adjstack.ll
Log Message:
-----------
Check for all frame instructions in finalize isel. (#85945)
Check for all frame instructions in finalize isel, not just for the
frame setup opcode. This was proven necessary, see #78001
for discussion.
Commit: 3a26f5e4fda71362e15d7467eb9ff92e81c157b4
https://github.com/llvm/llvm-project/commit/3a26f5e4fda71362e15d7467eb9ff92e81c157b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/docs/InstCombineContributorGuide.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[InstCombine] Add contributor guide (#79007)
Document expectations for contributions to InstCombine, especially
regarding test coverage and alive2 proofs.
Commit: 482efb9d2b642a748da71d89a3c47c2898d1406b
https://github.com/llvm/llvm-project/commit/482efb9d2b642a748da71d89a3c47c2898d1406b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/gather-nodes-different-bb.ll
Log Message:
-----------
[SLP]Fix a crash for gather node with instructions from different bbs,
if cost threshold is very low.
Commit: 0b974f66da04c956e7c7a2ea3e6c4a2f2103ab00
https://github.com/llvm/llvm-project/commit/0b974f66da04c956e7c7a2ea3e6c4a2f2103ab00
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] isGuaranteedNotToBeUndefOrPoisonForTargetNode - add fallback implementation (#86125)
Allow targets to rely on TargetLowering::isGuaranteedNotToBeUndefOrPoisonForTargetNode to test nodes for canCreateUndefOrPoisonForTargetNode + all arguments are isGuaranteedNotToBeUndefOrPoison.
Targets can still perform this themselves for specific special case nodes (e.g. target shuffles).
Matches the fallback in SelectionDAG::isGuaranteedNotToBeUndefOrPoison
Commit: e5273010d0884a684247f760c634b3c0f9c5fa04
https://github.com/llvm/llvm-project/commit/e5273010d0884a684247f760c634b3c0f9c5fa04
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
Log Message:
-----------
[RISCV] Lower the alignment requirement for a GPR pair spill for Zdinx on RV32. (#85871)
I believe we can use XLen alignment as long as eliminateFrameIndex
limits the maximum folded offset to 2043. This way when we split
the load/store into two 2 instructions we'll be able to add 4
without overflowing simm12.
Commit: 4c55edb9fadcca6a38d7e6d4153c2587f59ae4fa
https://github.com/llvm/llvm-project/commit/4c55edb9fadcca6a38d7e6d4153c2587f59ae4fa
Author: aniplcc <aniplccode at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/stdio.rst
M libc/spec/stdc.td
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/rename.cpp
A libc/src/stdio/rename.h
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/rename_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][c11] Add stdio.h's rename() function (#85068)
Adds stdio.h's rename() function as defined in n3096. Fixes #84980.
Commit: dd0ee4bcf9cb04255f182500dc8056ad39f4a93b
https://github.com/llvm/llvm-project/commit/dd0ee4bcf9cb04255f182500dc8056ad39f4a93b
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020)
This reapplies 272d1b44efdedb68c194970a610f0ca1b7b769c5 (from #85756),
which was reverted in
407937036fa7640f61f225474b1ea6623a40dbdd.
In the previous attempt, empty CMAKE_INSTALL_PREFIX was handled by
quoting them, in d209d1340b99d4fbd325dffb5e13b757ab8264ea. That made the
calls to cmake_path(ABSOLUTE_PATH) succeed, but the output paths of that
weren't actually absolute, which was required by file(RELATIVE_PATH).
Avoid this issue by constructing a non-empty base directory variable
to use for calculating the relative path.
Commit: 712feb5049a5741a94ceca6cc99bf9f8443b4c5e
https://github.com/llvm/llvm-project/commit/712feb5049a5741a94ceca6cc99bf9f8443b4c5e
Author: timoh-ba <t.habighorst at beckhoff.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/MC/COFF/dwarf5lineinfo.s
Log Message:
-----------
[DWARF5][COFF] Emit section-relative .debug_line_str relocations (#83773)
Dwarf 5 allows separating filenames from .debug_line into a separate
.debug_line_str section. The strings are referenced relative to the
start of the .debug_line_str section. Previously, on COFF, the
relocation information instead caused offsets to be relocated to the
base address of the COFF-File. This lead to wrong offsets in linked
COFF (PE) files which caused the debugger to be unable to find the
correct source files.
This patch fixes this problem by making the offsets relative to the
start of the .debug_line_str section instead. There should be no
changes for ELF-Files as everything seems to be working there.
A test is also added to ensure that the correct relocation entries are
emitted.
Commit: 0612bc82b71d1acea0bcc18bbbc83bdff1bb8f03
https://github.com/llvm/llvm-project/commit/0612bc82b71d1acea0bcc18bbbc83bdff1bb8f03
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/rename_test.cpp
Log Message:
-----------
[libc][stdio][test] fixup rename test (#86136)
Link: #84980
Link: #85068
Commit: 0e6d82d691c5aeab243a429894f726d4ce26970c
https://github.com/llvm/llvm-project/commit/0e6d82d691c5aeab243a429894f726d4ce26970c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/TraceDumper.cpp
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
Log Message:
-----------
[lldb] Reland: Store SupportFile in FileEntry (NFC) (#85892)
This is another step towards supporting DWARF5 checksums and inline
source code in LLDB. This is a reland of #85468 but without the
functional change of storing the support file from the line table (yet).
Commit: dc0f0b9e8ed27b14a81ad6742c712a02750023e4
https://github.com/llvm/llvm-project/commit/dc0f0b9e8ed27b14a81ad6742c712a02750023e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/Transforms/Float2Int/pr79158.ll
Log Message:
-----------
[Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC
The range for these operations is being constructed without the
maximum value for the range due to an incorrect usage of the
ConstantRange constructor.
This causes Float2Int to think the range for 'uitofp i1' only
contains 0 instead of 0 and 1.
Commit: e4b57ab66aa65f850120a732bb01ab88a3e82d43
https://github.com/llvm/llvm-project/commit/e4b57ab66aa65f850120a732bb01ab88a3e82d43
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/GPUToSPIRV/load-store.mlir
M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
M mlir/test/Conversion/SCFToSPIRV/for.mlir
M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Improve folding of MemRef to SPIRV Lowering (#85433)
Investigate the lowering of MemRef Load/Store ops and implement
additional folding of created ops
Aims to improve readability of generated lowered SPIR-V code.
Part of work llvm#70704
Commit: ebe6a6d280667f76386808a3b651d7f4b1258207
https://github.com/llvm/llvm-project/commit/ebe6a6d280667f76386808a3b651d7f4b1258207
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
Log Message:
-----------
[lldb][progress][NFC] Clarify Doxygen comments for `details` field (#86002)
The Doxygen comments for the `details` field of a progress report
currently does not specify that this field will act as the initial set
of details for a progress report that gets updated with
`Progress::Increment()`. This commit clarifies this.
Commit: b3fc4d758b9491628afa299da1f15fd42bcdb885
https://github.com/llvm/llvm-project/commit/b3fc4d758b9491628afa299da1f15fd42bcdb885
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
M llvm/test/CodeGen/RISCV/spill-fill-fold.ll
Log Message:
-----------
[RISCV] Use BuildPairF64 and SplitF64 for bitcast i64<->f64 on rv32 regardless of Zfa. (#85982)
Previously we used BuildPairF64 and SplitF64 only if Zfa was supported
since they will select register file moves that are only available with
Zfa.
We recently changed the handling of BuildPairF64/SplitF64 for Zdinx to
not go through memory so we should use that for bitcast.
That leaves the D without Zfa case that does need to go through memory.
Previously we let type legalization expand to loads and stores using a
new stack temporary created for each bitcast. After this patch we will
create the loads ands stores in the custom inserter and share the same
stack slot for all. This also allows DAGCombiner to optimize when
bitcast is mixed with BuildPairF64/SplitF64.
Commit: cadade85b11348b7edf8efd6f891ea62f26ca8ff
https://github.com/llvm/llvm-project/commit/cadade85b11348b7edf8efd6f891ea62f26ca8ff
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Symbol/LineEntry.cpp
Log Message:
-----------
[lldb] Add missing initialization in LineEntry ctor
Commit: adfe14cf1aae256089329ba9b2e75f63564bc403
https://github.com/llvm/llvm-project/commit/adfe14cf1aae256089329ba9b2e75f63564bc403
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
Log Message:
-----------
AMDGPU: Use defset to cleanup marking MFMA intrinsics as divergent (#85915)
Commit: db610184b0534f4437752cfaff57ece71508dcd3
https://github.com/llvm/llvm-project/commit/db610184b0534f4437752cfaff57ece71508dcd3
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Common/Version.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/LangOptions.h
Log Message:
-----------
[flang][NFC] Fix header guards
Some header guards conflicted with clang. Fix a few others to follow the
convention in the rest of the headers in flang.
Commit: e94499185614b887a9943702ff5f6bc526cdd2a2
https://github.com/llvm/llvm-project/commit/e94499185614b887a9943702ff5f6bc526cdd2a2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/test/Transforms/Float2Int/pr79158.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041)
We were passing the min and max values of the range to the ConstantRange
constructor, but the constructor expects the upper bound to 1 more than
the max value so we need to add 1.
We also need to use getNonEmpty so that passing 0, 0 to the constructor
creates a full range rather than an empty range. And passing smin,
smax+1 doesn't cause an assertion.
I believe this fixes at least some of the reason #79158 was reverted.
Commit: dbea6a78b29567c0d5f252b64ab480a65f52cbc8
https://github.com/llvm/llvm-project/commit/dbea6a78b29567c0d5f252b64ab480a65f52cbc8
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add `is_constant_evaluated` type_traits (#86139)
This will replace `__builtin_is_constant_evaluated` in math_extras.h.
Commit: 7fc6a661d1b0b105f124652d3856f0b324bc6af0
https://github.com/llvm/llvm-project/commit/7fc6a661d1b0b105f124652d3856f0b324bc6af0
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/ubsan-builtin-checks.c
R clang/test/Sema/builtin-popcountg.c
A clang/test/Sema/count-builtins.c
Log Message:
-----------
[clang] Implement __builtin_{clzg,ctzg} (#83431)
Fixes #83075, fixes #83076.
Commit: bd259b0788e076da2bc0c95ebcf8f43203e9af18
https://github.com/llvm/llvm-project/commit/bd259b0788e076da2bc0c95ebcf8f43203e9af18
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/stdio/linux/rename.cpp
M libc/test/src/stdio/rename_test.cpp
Log Message:
-----------
[libc][stdio] implement rename via SYS_renameat2 (#86140)
SYS_rename may be unavailable on architectures such as aarch64 and
riscv.
rename can be implemented in terms of SYS_rename, SYS_renameat, or
SYS_renameat2. I don't have a full picture of the history here, but it
seems
that SYS_renameat might also be unavailable on some platforms.
`man 2 rename` mentions that SYS_renameat2 was added in Linux 3.15. We
don't
need to support such ancient kernel versions prior.
Link: #84980
Link: #85068
Commit: 10b49fbbfe1360e67d3695f59e0b0c8a48bc3863
https://github.com/llvm/llvm-project/commit/10b49fbbfe1360e67d3695f59e0b0c8a48bc3863
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] combineConcatVectorOfScalars - stop always creating UNDEF nodes. NFC.
Noticed in debug logs - most calls to visitVECTOR_SHUFFLE resulted into wasteful UNDEF node creations, despite almost never being used.
Commit: b4dc355550d4c9491c20f2f5334b20ec228dcf2e
https://github.com/llvm/llvm-project/commit/b4dc355550d4c9491c20f2f5334b20ec228dcf2e
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
M libcxx/include/__memory/allocator.h
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/types.pass.cpp
Log Message:
-----------
[libc++] Remove macros for keeping std::allocator members and void specialization after C++20 (#85806)
Fixes #75975.
Remove `_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS` for the LLVM 19
release, it was previously marked as deprecated in LLVM 18.
I believe that
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` was only
used by Google in conjunction with
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS`.
Removing both macros together should not cause any issues in practice,
even though we did not announce the removal of
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` before.
Commit: 814bf96c23cf88de08c8283ef3590f9fd9cdec53
https://github.com/llvm/llvm-project/commit/814bf96c23cf88de08c8283ef3590f9fd9cdec53
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
R llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
R llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
R llvm/test/MC/AMDGPU/hsa-tg-split.s
Log Message:
-----------
Revert "[AMDGPU] MCExpr-ify MC layer kernel descriptor" (#86151)
Reverts llvm/llvm-project#80855
Commit: 4fbef159bdca787c640f02c4b3142f9acdd5b94b
https://github.com/llvm/llvm-project/commit/4fbef159bdca787c640f02c4b3142f9acdd5b94b
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/test/Analysis/inlining/false-positive-suppression.cpp
Log Message:
-----------
[analyzer] Wrap SymbolicRegions by ElementRegions before getting a FieldRegion (#85211)
Inside the ExprEngine when we process the initializers, we create a
PostInitializer program-point, which will refer to the field being
initialized, see `FieldLoc` inside `ExprEngine::ProcessInitializer`.
When a constructor (of which we evaluate the initializer-list) is
analyzed in top-level context, then the `this` pointer will be
represented by a `SymbolicRegion`, (as it should be).
This means that we will form a `FieldRegion{SymbolicRegion{.}}` as the
initialized region.
```c++
class Bear {
public:
void brum() const;
};
class Door {
public:
// PostInitializer would refer to "FieldRegion{SymRegion{this}}"
// whereas in the store and everywhere else it would be:
// "FieldRegion{ELementRegion{SymRegion{Ty*, this}, 0, Ty}".
Door() : ptr(nullptr) {
ptr->brum(); // Bug
}
private:
Bear* ptr;
};
```
We (as CSA folks) decided to avoid the creation of FieldRegions directly
of symbolic regions in the past:
https://github.com/llvm/llvm-project/commit/f8643a9b31c4029942f67d4534c9139b45173504
---
In this patch, I propose to also canonicalize it as in the mentioned
patch, into this: `FieldRegion{ElementRegion{SymbolicRegion{Ty*, .}, 0,
Ty}`
This would mean that FieldRegions will/should never simply wrap a
SymbolicRegion directly, but rather an ElementRegion that is sitting in
between.
This patch should have practically no observable effects, as the store
(due to the mentioned patch) was made resilient to this issue, but we
use `PostInitializer::getLocationValue()` for an alternative reporting,
where we faced this issue.
Note that in really rare cases it suppresses now dereference bugs, as
demonstrated in the test. It is because in the past we failed to follow
the region of the PostInitializer inside the StoreSiteFinder visitor -
because it was using this code:
```c++
// If this is a post initializer expression, initializing the region, we
// should track the initializer expression.
if (std::optional<PostInitializer> PIP =
Pred->getLocationAs<PostInitializer>()) {
const MemRegion *FieldReg = (const MemRegion *)PIP->getLocationValue();
if (FieldReg == R) {
StoreSite = Pred;
InitE = PIP->getInitializer()->getInit();
}
}
```
Notice that the equality check didn't pass for the regions I'm
canonicalizing in this patch.
Given the nature of this change, we would rather upstream this patch.
CPP-4954
Commit: eca95768fc8b036ec89f0dcc7e95d9c89d443f2c
https://github.com/llvm/llvm-project/commit/eca95768fc8b036ec89f0dcc7e95d9c89d443f2c
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
Adapted MemRegion::getDescriptiveName to handle ElementRegions (#85104)
Fixes https://github.com/llvm/llvm-project/issues/84463
Changes:
- Adapted MemRegion::getDescriptiveName
- Added unittest to check name for a given clang::ento::ElementRegion
- Some format changes due to clang-format
---------
Co-authored-by: Andreas Steinhausen <andreas.steinhausen at concenrio.io>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: c7ea296902dbfc843ba23a6e0ea3fac61681cafa
https://github.com/llvm/llvm-project/commit/c7ea296902dbfc843ba23a6e0ea3fac61681cafa
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 797336b1278c
Commit: 65f0509c53266e24627acdcb2709547018fca72a
https://github.com/llvm/llvm-project/commit/65f0509c53266e24627acdcb2709547018fca72a
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/ConvertConstant.cpp
A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
Log Message:
-----------
[Flang] Support for NULL() and procedure in structure constructor for procedure pointer component. (#85991)
This PR fixes a subset of procedure pointer component initialization in
structure constructor.
It covers
1. NULL()
2. procedure
For example:
```
MODULE M
TYPE :: DT
!PROCEDURE(Fun), POINTER, NOPASS :: pp1
PROCEDURE(Fun), POINTER :: pp1
END TYPE
CONTAINS
INTEGER FUNCTION Fun(Arg)
class(dt) :: arg
END FUNCTION
END MODULE
PROGRAM MAIN
USE M
IMPLICIT NONE
TYPE (DT), PARAMETER :: v1 = DT(NULL())
TYPE (DT) :: v2
v2 = DT(fun)
END
```
Passing a procedure pointer itself or reference to a function that
returns a procedure pointer is TODO.
Commit: 6bf9c170a6fd75d5d01890dbf1a2179e62d506f2
https://github.com/llvm/llvm-project/commit/6bf9c170a6fd75d5d01890dbf1a2179e62d506f2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/oddshuffles.ll
Log Message:
-----------
[X86] Add shuffle test case for Issue #86068
Commit: 0ba9e78453afcca4dd23a8022568a31578c541da
https://github.com/llvm/llvm-project/commit/0ba9e78453afcca4dd23a8022568a31578c541da
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[IR] Add helpers for `NUWAddLike` and `NSWAddLike` to also match `or disjoint`; NFC
`or disjoint` implies `add nuw nsw`: https://alive2.llvm.org/ce/z/VABhDA
Commit: 55ecff18cc34b74162feeb4f756f77f54dd39064
https://github.com/llvm/llvm-project/commit/55ecff18cc34b74162feeb4f756f77f54dd39064
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
Log Message:
-----------
[InstCombine] Add tests for integrating `N{U,S}WAddLike`; NFC
Commit: a0987c04664d302c29a1bfd0080170548c9dc425
https://github.com/llvm/llvm-project/commit/a0987c04664d302c29a1bfd0080170548c9dc425
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
Log Message:
-----------
[InstCombine] integrate `N{U,S}WAddLike` into existing folds
Just went a quick replacement of `N{U,S}WAdd` with the `Like` variant
that old matches `or disjoint`
Closes #86082
Commit: 02bc001d8bcc3ccaaf4d0a10e01db972baf9b8fd
https://github.com/llvm/llvm-project/commit/02bc001d8bcc3ccaaf4d0a10e01db972baf9b8fd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/Float2Int.cpp
Log Message:
-----------
[Float2Int] Fix pessimization in the MinBW calculation. (#86051)
The MinBW was being calculated using the significant bits of the upper
and lower bounds. The upper bound is 1 past the last value in the range
so I don't think it should be included. Instead use ConstantRange::getMinSignedBits.
I'm still not sure if the +1 is needed after the getMinSignedBits call.
Commit: 650679870dcc2900156df6f02c666e2891b82ca7
https://github.com/llvm/llvm-project/commit/650679870dcc2900156df6f02c666e2891b82ca7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/ProfileData/RawMemProfReader.cpp
Log Message:
-----------
[memprof] Call SmallVector::reserve (#86055)
With one raw memprof file I have, NumPCs averages about 41. Given the
default number of inline elements being 8 for SmallVector<uint64_t>,
we should reserve the storage in advance.
Commit: 4da2a533f70187742be0d0f9b44fdeb8de27ba3c
https://github.com/llvm/llvm-project/commit/4da2a533f70187742be0d0f9b44fdeb8de27ba3c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Sema/warn-cast-function-type-strict.c
M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
Log Message:
-----------
Split -Wcast-function-type into a separate group (#86131)
We want to add -Wcast-function-type to -Wextra (as done in
1de7e6c8cba27296f3fc16d107822ea0ee856759), but we do not want to add
-Wcast-function-type-strict in at the same time
(https://lab.llvm.org/buildbot/#/builders/57/builds/33601/steps/5/logs/stdio).
This moves the existing warning to a new group
(-Wcast-function-type-mismatch), puts the new group under the existing
-Wcast-function-type warning group, and adds
-Wcast-function-type-mismatch to -Wextra.
Commit: 38cae7f9ba0502849128f6f9dbf4e2bb92794f23
https://github.com/llvm/llvm-project/commit/38cae7f9ba0502849128f6f9dbf4e2bb92794f23
Author: dmaclach <dmaclach at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaType.cpp
A clang/test/SemaObjC/attr-objc-NSObject.m
Log Message:
-----------
[OBJC] Allow __attribute__((NSObject)) types be used as lightweight generic specifiers (#84593)
As per
https://clang.llvm.org/docs/AutomaticReferenceCounting.html#retainable-object-pointers,
types with `__attribute__((NSObject))` are retainable, and thus should
be eligible to be used as lightweight generic specifiers.
Fix for #84592 84592
Commit: bf371d655a8d84143e87f774fd04a894f5c6cb41
https://github.com/llvm/llvm-project/commit/bf371d655a8d84143e87f774fd04a894f5c6cb41
Author: lorenzo chelini <lchelini at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
Log Message:
-----------
[mlir][Affine] Fix unused variable warning (NFC)
Commit: 8343fa8e3a92fff3367e90595124093299b6c449
https://github.com/llvm/llvm-project/commit/8343fa8e3a92fff3367e90595124093299b6c449
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CPP/iterator.h
Log Message:
-----------
[libc] Add reverse_iterator comparisons (#86147)
https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp
Commit: 5b39622261c1c08abc763c2ceb5a5c67f6fd02f7
https://github.com/llvm/llvm-project/commit/5b39622261c1c08abc763c2ceb5a5c67f6fd02f7
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CPP/iterator.h
Log Message:
-----------
Revert "[libc] Add reverse_iterator comparisons" (#86186)
Reverts llvm/llvm-project#86147
Commit: 9b3bbcc24d5abe05da17a1140ad2596d1c5b9553
https://github.com/llvm/llvm-project/commit/9b3bbcc24d5abe05da17a1140ad2596d1c5b9553
Author: Michele Scandale <michele.scandale at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shuffle_select.ll
Log Message:
-----------
[InstCombine] Fix for folding select-like `shufflevector` into floating point binary operators. (#85452)
Folding a select-like `shufflevector` into a floating point binary
operators can only be done if the result is preserved for both case. In
particular, if the common operand of the `shufflevector` and the
floating point binary operator can be a NaN, then the transformation
won't preserve the result value.
Commit: a737ecefa3a42b1ea17a8051b01efcb812160f4d
https://github.com/llvm/llvm-project/commit/a737ecefa3a42b1ea17a8051b01efcb812160f4d
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[HWASan] [NFC] pull logic to get sanitizer ptr out of hwasan (#86024)
Also some drive by cleanup removing an unnnecessary argument and a
redundant condition.
Commit: 449783f7f69963695e19169f88cee9cffeed9fd8
https://github.com/llvm/llvm-project/commit/449783f7f69963695e19169f88cee9cffeed9fd8
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
DebugInfoD tests + fixing issues exposed by tests (#85693)
Finally getting back to Debuginfod tests:
I've migrated the tests in my [earlier
PR](https://github.com/llvm/llvm-project/pull/79181) from shell to API
(at @JDevlieghere's suggestion) and addressed a couple issues that came
about during testing.
The tests first test the "normal" situation (no DebugInfoD involvement,
just normal debug files sitting around), then the "no debug info"
situation (to make sure the test is seeing failure properly), then it
tests to validate that when Debuginfod returns the symbols, things work
properly. This is duplicated for DWP/split-dwarf scenarios.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: e8df82d24db6faf830230869803ceacb59f74a92
https://github.com/llvm/llvm-project/commit/e8df82d24db6faf830230869803ceacb59f74a92
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Convert processTODO and remove unused objects (#81627)
Remove `ClauseIterator2` and `clauses2` from ClauseProcessor.
[Clause representation 5/6]
Commit: 0832359f862eba636b6776c655c04096aaf95b1f
https://github.com/llvm/llvm-project/commit/0832359f862eba636b6776c655c04096aaf95b1f
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/X86/linux-static-keys.s
Log Message:
-----------
[BOLT] Add support for Linux kernel static keys jump table (#86090)
Runtime code modification used by static keys is the most ubiquitous
self-modifying feature of the Linux kernel. The idea is to to eliminate
the condition check and associated conditional jump on a hot path if
that condition (based on a boolean value of a static key) does not
change often. Whenever they condition changes, the kernel runtime
modifies all code paths associated with that key flipping the code
between nop and (unconditional) jump.
Commit: a4c26167a981ed5316406e8d5923cd6f501aa5e7
https://github.com/llvm/llvm-project/commit/a4c26167a981ed5316406e8d5923cd6f501aa5e7
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Fix bazel build (#86190)
Follow up on #86140
Commit: c7a3220f1dcad9229ceef10d73a370400bbc7d80
https://github.com/llvm/llvm-project/commit/c7a3220f1dcad9229ceef10d73a370400bbc7d80
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/X86/Inputs/blarge_new.preagg.txt
A bolt/test/X86/Inputs/blarge_new.yaml
A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
A bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Output basic YAML profile in BAT mode
Relax assumptions that YAML output is not supported in BAT mode.
Set up basic infrastructure for emitting YAML for functions not covered
by BAT, such as from `.bolt.org.text` section (code identical to input binary
sans external refs), or non-rewritten functions in non-relocation mode (where
the function stays in the same section but BAT mapping is not emitted).
This diff only produces YAML profile for non-BAT functions (skipped,
non-simple). YAML profile for BAT functions is added in follow-up diffs:
- https://github.com/llvm/llvm-project/pull/76911 emits YAML profile with
internal control flow information only (branch profile),
- https://github.com/llvm/llvm-project/pull/76896 adds cross-function profile
(calls profile).
Test Plan: Added bolt/test/X86/bolt-address-translation-yaml.test
Reviewers: ayermolo, dcci, maksfb, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76910
Commit: 974296166e75a16e27a524c95a77e176d1eda622
https://github.com/llvm/llvm-project/commit/974296166e75a16e27a524c95a77e176d1eda622
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
Add support for PSV EntryFunctionName (#84409)
This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.
Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.
Fixes #80175
---------
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: 5ab5a167f7b4521a7b8c7c11a403dbe327296cbb
https://github.com/llvm/llvm-project/commit/5ab5a167f7b4521a7b8c7c11a403dbe327296cbb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/unsupported-option-gpu.c
Log Message:
-----------
[clang][SPIRV] Don't warn on -mcmodel (#86039)
The code model doesn't affect the sub-compilation, so don't check it.
Followup to #70740.
Commit: 2ace1fa628c43926b5ebe63eb455307c6f19ff88
https://github.com/llvm/llvm-project/commit/2ace1fa628c43926b5ebe63eb455307c6f19ff88
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[lld-macho][NFC] Refactor insertions into inputSections (#85692)
Before this change, after `InputSection` objects are created, they need
to be added to the appropriate container for tracking.
The logic for selecting the appropriate container lives in `Driver.cpp`
/ `gatherInputSections`, where the `InputSection` is added to the
matching container depending on the input config and the type of
`InputSection`.
Also, multiple other locations also insert directly into `inputSections`
array - assuming that that is the appropriate container for the
`InputSection`'s they create. Currently this is the correct assumption,
however an upcoming feature will change this.
For an upcoming feature (relative method lists), we need to route
`InputSection`'s either to `inputSections` array or to a synthetic
section, depending on weather the relative method list optimization is
enabled or not.
We can achieve the above either by duplicating some of the logic or
refactoring the routing and `InputSection`'s and reusing that.
The refactoring & code sharing approach seems the correct way to go - as
such this diff performs the refactoring while not introducing any
functional changes. Later on we can just call `addInputSection` and not
have to worry about routing logic.
---------
Commit: e5b030d5497c379ac34bb55d043b40aa8a583da0
https://github.com/llvm/llvm-project/commit/e5b030d5497c379ac34bb55d043b40aa8a583da0
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld][macho] Fix gcc category merging warning (#86091)
Fixing gcc warning regarding creating non-null-terminated string:
```
../../lld/MachO/ObjC.cpp:1226:10: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
1226 | strncpy(strData, str, len);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
../../lld/MachO/ObjC.cpp: In member function 'void {anonymous}::ObjcCategoryMerger::emitAndLinkPointerList(lld::macho::Defined*, uint32_t, const {anonymous}::ObjcCategoryMerger::ClassExtensionInfo&, const {anonymous}::ObjcCategoryMerger::PointerListInfo&)':
../../lld/MachO/ObjC.cpp:1223:24: note: length computed here
1223 | uint32_t len = strlen(str);
| ~~~~~~^~~~~
```
This is not actually a bug, as `newSectionData` returns a
zero-initialized memory region, so the null terminator will be there.
Commit: 9acc8c4bf1ae7897d08f6a32c3d89cec3dbe0f3c
https://github.com/llvm/llvm-project/commit/9acc8c4bf1ae7897d08f6a32c3d89cec3dbe0f3c
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/test/InstallAPI/diagnostics-cpp.test
A clang/test/InstallAPI/linker-symbols.test
A clang/test/InstallAPI/mismatching-objc-class-symbols.test
A clang/test/InstallAPI/symbol-flags.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
Log Message:
-----------
[InstallAPI] Report exports discovered in binary but not in interface (#86025)
This patch completes the classes of errors installapi can detect.
Commit: 464e77995506086896667706db8e5bb1f0471fea
https://github.com/llvm/llvm-project/commit/464e77995506086896667706db8e5bb1f0471fea
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
Log Message:
-----------
[compiler-rt] Avoid pulling in __cxa_pure_virtual
When building optimized versions of the runtime libraries the compiler
is generally able to elide these references, but when building them
for maximum debug info (with -O0), these references remain which causes
the test suite to fail for tests that do not pull in the C++ standard
library.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/84613
Commit: d5a52884a8a19eeb697efcfb3e133d9e94c2ded4
https://github.com/llvm/llvm-project/commit/d5a52884a8a19eeb697efcfb3e133d9e94c2ded4
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Make math-macros.h C++-friendly (#86206)
The isfinite, isnan, and isinf "functions" are specified by C99..C23 to
be macros that act as type-generic functions. Defining them as their
__builtin_* counterparts works fine for this. However, in C++ the
identifiers need to be usable in different contexts, such as being
declared inside a C++ namespace. So define inline constexpr template
functions for them under `#ifdef __cplusplus`.
Commit: 517c7dcad42cf710259baa3a3877f4935d797393
https://github.com/llvm/llvm-project/commit/517c7dcad42cf710259baa3a3877f4935d797393
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
A flang/runtime/external-unit.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/lock.h
A flang/runtime/pseudo-unit.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
Log Message:
-----------
[flang][runtime] Added pseudo file unit for simplified PRINT. (#86134)
A file unit is emulated via a temporary buffer that accumulates
the output, which is printed out via std::printf at the end
of the IO statement. This implementation will be used for the offload
devices.
Commit: 6d7daa436df67bf752ce90212a11cf51463ab724
https://github.com/llvm/llvm-project/commit/6d7daa436df67bf752ce90212a11cf51463ab724
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/tsan/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Fix build race with COMPILER_RT_TEST_STANDALONE_BUILD_LIBS
Since this standalone build configuration uses the runtime libraries that
are being built just now, we need to ensure that e.g. the TSan unit tests
depend on the tsan runtime library. Also fix TSAN_DEPS being overridden
to not include the tsan runtime (commit .....).
This change fixes a build race seen in the CI checks for
TsanRtlTest-x86_64-Test in https://github.com/llvm/llvm-project/pull/83088.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/83650
Commit: 998a0c5fe80fd95f4f5fd62cf1cef1980f198fc9
https://github.com/llvm/llvm-project/commit/998a0c5fe80fd95f4f5fd62cf1cef1980f198fc9
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Update @dcaballe in CODEOWNERS (#86177)
It fixes a few rules that don't seem to be working and adding myself to a few paths where I've been contributing and can offer my review. Also minor sorting changes.
Commit: d994dccf6725284a304387a2af569750a7476190
https://github.com/llvm/llvm-project/commit/d994dccf6725284a304387a2af569750a7476190
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
R llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
Revert "Add support for PSV EntryFunctionName (#84409)" (#86211)
This reverts commit cde54df39cab3a1d60a3e1862ab341609bee3cc3.
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: 8e1dc0556eedf06ad1d23c116cb34251e857d48f
https://github.com/llvm/llvm-project/commit/8e1dc0556eedf06ad1d23c116cb34251e857d48f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Add myself as codeowner for InstallAPI & TextAPI
Commit: 7329ba1b51128c1892473501af678afbc6c9d289
https://github.com/llvm/llvm-project/commit/7329ba1b51128c1892473501af678afbc6c9d289
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
Log Message:
-----------
[RISCV] Recursively split concat_vector into smaller LMULs when lowering (#85825)
This is a reimplementation of the combine added in #83035 but as a
lowering instead of a combine, so we don't regress the test case added
in e59f120e3a14ccdc55fcb7be996efaa768daabe0 by interfering with the
strided load combine
Previously the combine had to concatenate the split vectors with
insert_subvector instead of concat_vectors to prevent an infinite
combine loop. And the reasoning behind keeping it as a combine was
because if we emitted the insert_subvector during lowering then we
didn't fold away inserts of undef subvectors.
However it turns out we can avoid this if we just do this in lowering
and select a concat_vector directly, since we get the undef folding for
free with `DAG.getNode(ISD::CONCAT_VECTOR, ...)` via foldCONCAT_VECTORS.
Commit: 96969d7bf3298b349ae1a90829b3bdf549cd808c
https://github.com/llvm/llvm-project/commit/96969d7bf3298b349ae1a90829b3bdf549cd808c
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-sdnode.ll
Log Message:
-----------
[RISCV] Handle scalable ops with < EEW / 2 narrow types in combineBinOp_VLToVWBinOp_VL (#84158)
We can remove the restriction that the narrow type needs to be exactly
EEW / 2 for scalable ISD::{ADD,SUB,MUL} nodes. This allows us to perform
the combine even if we can't fully fold the extend into the widening op.
VP intrinsics already do this, since they are lowered to _VL nodes which
don't have this restriction.
The "exactly EEW / 2" narrow type restriction prevented us from emitting
V{S,Z}EXT_VL nodes with i1 element types which crash when we try to
select them, since no other legal type is double the size of i1, see the
test case added in this PR `i1_zext`. So to preserve this, this adds a
check for i1 narrow types instead.
Commit: 448f43cf690de0a95a7de57e63938bf043a6bc4e
https://github.com/llvm/llvm-project/commit/448f43cf690de0a95a7de57e63938bf043a6bc4e
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[cmake] Place clang behind mlir in the liist of external projects
In preparation for the initial ClangIR upstreaming process, move clang
behind MLIR in the list of external projects. Otherwise, cmake will
attempt to build clang before MLIR.
reland of https://github.com/llvm/llvm-project/pull/86050
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/86210
Commit: 406d1c8d7d801422a2e2c1f6b4cef938deda00dc
https://github.com/llvm/llvm-project/commit/406d1c8d7d801422a2e2c1f6b4cef938deda00dc
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Driver/Types.def
M clang/lib/Basic/LangStandards.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/FrontendOptions.cpp
Log Message:
-----------
[CIR][Basic][NFC] Add the CIR language to the Language enum
Add the CIR language to the Language enum and the standard usages of it.
commit-id:fd12b2c2
Reviewers: bcardosolopes, AaronBallman, erichkeane
Reviewed By: AaronBallman, bcardosolopes
Pull Request: https://github.com/llvm/llvm-project/pull/86072
Commit: f46c5c1a17d81892cbf4bc3dd7a6e17567d855c9
https://github.com/llvm/llvm-project/commit/f46c5c1a17d81892cbf4bc3dd7a6e17567d855c9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
Log Message:
-----------
[SLP]Fix a crash if the argument of call was affected by minbitwidt
analysis.
Need to support proper type conversion for function arguments to avoid
compiler crash.
Commit: 58c8724c3fda61bc786e8e62c78ec5443e8481a9
https://github.com/llvm/llvm-project/commit/58c8724c3fda61bc786e8e62c78ec5443e8481a9
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/late-remat-update.mir
M llvm/test/CodeGen/X86/limit-split-cost.mir
M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
M llvm/test/DebugInfo/MIR/InstrRef/survives-livedebugvars.mir
M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
M llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
A llvm/test/MachineVerifier/test_adjustsstack.mir
Log Message:
-----------
Reapply "Move assertion for AdjustsStack from PEI to MachineVerifier (#85698)"
- The check is now actually done in both PEI and the MachineVerifier.
- More .mir tests trivially updated with "adjustsStack: true" as needed.
Commit: eb36a73b3592b61299acf9e5a43f3a57a0712a43
https://github.com/llvm/llvm-project/commit/eb36a73b3592b61299acf9e5a43f3a57a0712a43
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[Passes] Expose parseSinglePassOption (#86117)
BPF and some machine function passes need it.
Commit: bbca47610dc0e6bb64d98aff4a97e90fd0a0cc03
https://github.com/llvm/llvm-project/commit/bbca47610dc0e6bb64d98aff4a97e90fd0a0cc03
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
Log Message:
-----------
[NewPM][AMDGPU] Add AMDGPUPassRegistry.def (#86095)
Move the pass registry to a separate file, prepare for porting dag-isel.
Commit: 70a73452cb7a790b12e0493fb210afc6bd7ff363
https://github.com/llvm/llvm-project/commit/70a73452cb7a790b12e0493fb210afc6bd7ff363
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
Log Message:
-----------
[X86] Support DomainReassignment for APX NDD instructions (#85737)
Commit: 85d5265f7618943e4636a08dedac56cc03e83698
https://github.com/llvm/llvm-project/commit/85d5265f7618943e4636a08dedac56cc03e83698
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
Revert "[Passes] Expose parseSinglePassOption" (#86225)
Reverts llvm/llvm-project#86117
Commit: b6a924393e6986d2480aea2ab7161519ce2f6b84
https://github.com/llvm/llvm-project/commit/b6a924393e6986d2480aea2ab7161519ce2f6b84
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Kill process that recieve a signal (#86069)
Before this patch, llvm-exegesis would leave processes lingering that
experienced signals like segmentation faults. They would up in a
signal-delivery-stop state under the ptrace and never exit. This does
not cause problems (or at least many) in llvm-exegesis as they are
cleaned up after the main process exits, which usually happens quickly.
However, in downstream use, when many blocks are being executed (many of
which run into signals) within a single process, these processes stay
around and can easily exhaust the process limit on some systems.
This patch cleans them up by sending SIGKILL after information about the
signal that was sent has been gathered.
Commit: fda10b8889b17a979f2fde0db9ac14afc9b8cbed
https://github.com/llvm/llvm-project/commit/fda10b8889b17a979f2fde0db9ac14afc9b8cbed
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[Passes] Expose parseSinglePassOption (#86226)
Reland #86225, adjust the name space.
Commit: f70183ff113647cb44bcba6778caab473185f1a1
https://github.com/llvm/llvm-project/commit/f70183ff113647cb44bcba6778caab473185f1a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb] Handle clang::Language::CIR (#86234)
commit e66b670f3bf9312f696e66c31152ae535207d6bb
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: Thu Mar 21 19:53:48 2024 -0400
triggers:
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:478:16:
error: enumeration value 'CIR' not handled in switch
[-Werror,-Wswitch]
This patch teaches lldb to handle clang::Language::CIR the same way as
clang::Language::LLVM_IR.
Commit: 2ed2e393613316dd7d35e7b8ffe01988074a7d6d
https://github.com/llvm/llvm-project/commit/2ed2e393613316dd7d35e7b8ffe01988074a7d6d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Fix unused variable warnings
This patch fixes:
bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1664:20: error: unused
variable 'TargetAddress' [-Werror,-Wunused-variable]
bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1666:20: error: unused
variable 'KeyAddress' [-Werror,-Wunused-variable]
Commit: 596046cca2733a1f386bb6a7feba2268252a75df
https://github.com/llvm/llvm-project/commit/596046cca2733a1f386bb6a7feba2268252a75df
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
Log Message:
-----------
[SelectionDAG][RISCV] Use TypeSize version of ComputeValueVTs in TargetLowering::LowerCallTo. (#86166)
This is needed to support non-intrinsic functions returning tuple types
which are represented as structs with scalable vector types in IR.
I suspect this may have been broken since
https://reviews.llvm.org/D158115
Commit: 583743bb7faf845589ed2bf19ae05d77be88a1c8
https://github.com/llvm/llvm-project/commit/583743bb7faf845589ed2bf19ae05d77be88a1c8
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
Log Message:
-----------
[AMDGPU] Support double type in atomic optimizer. (#84307)
Presently the atomic optimizer supports only 32-bit operations. Plan is
to extend the atomic optimizer for 64-bit operations for compute and
graphics. This patch extends support for double type for `uniform
values` only. Going forward, will extend the support for divergent
values. Adding support for divergent values requires
extending/legalizing readfirstlane, readlane, writelane, etc ops for
64-bit operations to avoid `bitcast` noise that we have currently.
---------
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: 3ee9ead7f3b02694eaa04ad29050df4a5d2a762d
https://github.com/llvm/llvm-project/commit/3ee9ead7f3b02694eaa04ad29050df4a5d2a762d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/TableGen/InfoByHwMode.cpp
M llvm/utils/TableGen/InfoByHwMode.h
Log Message:
-----------
[TableGen] Remove unused CodeGenHwModes argument from RegSizeInfo constructor. NFC
Commit: 59a498b745d507cd951f22f8488939fd347f3367
https://github.com/llvm/llvm-project/commit/59a498b745d507cd951f22f8488939fd347f3367
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
A llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect-explicitsect.ll
Log Message:
-----------
[PowerPC][AIX] support explicit sections for -ffunction-sections (#85351)
Fix crashes in https://godbolt.org/z/6voEa1o6Y
Commit: efb72e2c2f6daeb24354e1699c806627496c8014
https://github.com/llvm/llvm-project/commit/efb72e2c2f6daeb24354e1699c806627496c8014
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
Log Message:
-----------
[MLIR][LLVM][SROA] Support incorrectly typed memory accesses (#85813)
This commit relaxes the assumption of type consistency for LLVM dialect
load and store operations in SROA. Instead, there is now a check that
loads and stores are in the bounds specified by the sub-slot they
access.
This commit additionally removes the corresponding patterns from the
type consistency pass, as they are no longer necessary.
Note: It will be necessary to extend Mem2Reg with the logic for
differently sized accesses as well. This is non-the-less a strict
upgrade for productive flows, as the type consistency pass can produce
invalid IR for some odd cases.
Commit: 8551546f87a4dafe17dfca85e589a8b9d7614068
https://github.com/llvm/llvm-project/commit/8551546f87a4dafe17dfca85e589a8b9d7614068
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CPP/iterator.h
Log Message:
-----------
[reland][libc] Add reverse_iterator comparisons (#86188)
This is a reland of #86147 but with a proper `base()` function.
https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp
Commit: cb9e65d3c9f96c35d795c0989a60ecf9114cea52
https://github.com/llvm/llvm-project/commit/cb9e65d3c9f96c35d795c0989a60ecf9114cea52
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][vector] Add support for masks in castAwayContractionLeadingOneDim (#81906)
Updates `castAwayContractionLeadingOneDim` to inherit from
`MaskableOpRewritePattern` so that this pattern can support masking.
Builds on top of #83827
Commit: 12d6039bd0d68be7bfaec3657085a12413a9198f
https://github.com/llvm/llvm-project/commit/12d6039bd0d68be7bfaec3657085a12413a9198f
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/insert-subvector.ll
Log Message:
-----------
[AArch64] Extra tests for v2i8 concat loads. NFC
Commit: 153d795df79920a6c9d3bf6bbb7c487b0b67558e
https://github.com/llvm/llvm-project/commit/153d795df79920a6c9d3bf6bbb7c487b0b67558e
Author: Crefeda Rodrigues <65665931+cfRod at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Propagate scalability in TransferWriteNonPermutationLowering (#85632)
Updates `extendVectorRank` so that scalability in patterns
that use it (in particular, `TransferWriteNonPermutationLowering`),
is correctly propagated.
Closed related previous PR
https://github.com/llvm/llvm-project/pull/85270
---------
Signed-off-by: Crefeda Rodrigues <crefeda.rodrigues at arm.com>
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>
Commit: ec45adcab40b4403d1b4486d14a24ec0ffb9dc57
https://github.com/llvm/llvm-project/commit/ec45adcab40b4403d1b4486d14a24ec0ffb9dc57
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/cray-pointer.f90
Log Message:
-----------
[flang] Fix lowering of host associated cray pointee symbols (#86121)
Cray pointee symbols can be host associated from a module or host
procedure while the related cray pointer is not explicitly associated.
This caused the "not yet implemented: lowering symbol to HLFIR" to fire
when lowering a reference to the cray pointee and fetching the cray
pointer.
This patch:
- Ensures cray pointers are always instantiated when instantiating a
cray pointee.
- Fix internal procedure lowering to deal with cray pointee host
association like it does for pointers (the lowering strategy for cray
pointee is to create a pointer that is updated with the cray pointer
value before being fetched).
This should fix the bug reported in
https://github.com/llvm/llvm-project/issues/85420.
Commit: b859b9522455b857e9962bb948c01fe2608da886
https://github.com/llvm/llvm-project/commit/b859b9522455b857e9962bb948c01fe2608da886
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
A clang/test/Driver/riscv-profiles.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Support RISC-V Profiles in -march option (#76357)
This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.
Currently, we replace specified profile in `-march` with standard
arch string.
Commit: e0e6f9373db1ece125c5c913d10b908b937ffe47
https://github.com/llvm/llvm-project/commit/e0e6f9373db1ece125c5c913d10b908b937ffe47
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/addcarry.ll
Log Message:
-----------
[SelectionDAG] Prevent combination on inconsistent type in `combineCarryDiamond` (#84888)
Fixes #84831
When matching carry pattern with `getAsCarry`, it may produce different
type of carryout. This patch checks such case and does early exit.
I'm new to DAG, any suggestion is appreciated.
Commit: 705fa5b60acc63af2e9edd5f8b3ae4b496ee2dc6
https://github.com/llvm/llvm-project/commit/705fa5b60acc63af2e9edd5f8b3ae4b496ee2dc6
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
R clang/test/Driver/riscv-profiles.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
Revert "[RISCV] Support RISC-V Profiles in -march option (#76357)"
This reverts commit 66f88de80599ec4461b0fdac3d1e396b6e83052d as
there are some failures.
Commit: 247036e5df4ca410cbaf3fbe963337c88cc5bafc
https://github.com/llvm/llvm-project/commit/247036e5df4ca410cbaf3fbe963337c88cc5bafc
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
Log Message:
-----------
[clang][analyzer][NFC] UnixAPIMisuseChecker inherits from Checker<check::PreCall> (#83027)
Commit: 9def0ad53789b8c458bde93229e61681bb45b191
https://github.com/llvm/llvm-project/commit/9def0ad53789b8c458bde93229e61681bb45b191
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
A clang/test/Analysis/getline-unixapi.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Model getline/getdelim preconditions and evaluation (#83027)
According to POSIX 2018.
1. lineptr, n and stream can not be NULL.
2. If *n is non-zero, *lineptr must point to a region of at least *n
bytes, or be a NULL pointer.
Additionally, if *lineptr is not NULL, *n must not be undefined.
Commit: f6709c18424f76d050623c7657eeecb9e3a1958b
https://github.com/llvm/llvm-project/commit/f6709c18424f76d050623c7657eeecb9e3a1958b
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/abs-vec.ll
A llvm/test/CodeGen/DirectX/abs.ll
A llvm/test/CodeGen/DirectX/fabs.ll
Log Message:
-----------
[DXIL] Complete abs lowering (#86158)
This change completes #86155
- `DXIL.td` - lowering `fabs` intrinsic to the float dxil op.
- `DXILIntrinsicExpansion.cpp` - Add intrinsic expansion for the abs
case.
Commit: dd68aa685a3bb808855f450c0980792236bec3cc
https://github.com/llvm/llvm-project/commit/dd68aa685a3bb808855f450c0980792236bec3cc
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/cos.ll
A llvm/test/CodeGen/DirectX/cos_error.ll
A llvm/test/CodeGen/DirectX/floor.ll
A llvm/test/CodeGen/DirectX/floor_error.ll
Log Message:
-----------
[DXIL] Add lowerings for cosine and floor (#86173)
Completes #86170
Completes #86172
- `DXIL.td` - Add changes to lower the cosine and floor intrinsics to
dxilOps.
Commit: c89900bb871a4104d7d461cc29693cce0a3a3d1f
https://github.com/llvm/llvm-project/commit/c89900bb871a4104d7d461cc29693cce0a3a3d1f
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
CODEOWNERS: extend scope of MLIR transform dialect
There are a bunch of related directories in another dialects.
Commit: 45e873ede0b635c1b7153fc9b6135ba893dc8b73
https://github.com/llvm/llvm-project/commit/45e873ede0b635c1b7153fc9b6135ba893dc8b73
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
A clang/test/Analysis/cxx23-static-operator.cpp
Log Message:
-----------
[analyzer] Support C++23 static operator calls (#84972)
Made by following:
https://github.com/llvm/llvm-project/pull/83585#issuecomment-1980340866
Thanks for the details Tomek!
CPP-5080
Commit: 8fc14fec56fd75f318dc057668c1495dc77986fa
https://github.com/llvm/llvm-project/commit/8fc14fec56fd75f318dc057668c1495dc77986fa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Log Message:
-----------
[X86] Add shuffle tests from Issue #86076
SLP should be doing a better job, but both shuffles lower to poorer codegen than necessary
Commit: 3abf5635a71c30a05b676d838e283f3d31ef841e
https://github.com/llvm/llvm-project/commit/3abf5635a71c30a05b676d838e283f3d31ef841e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Fix some missing formatting when I rewrote the SUB(MAX,MIN) -> ABD patterns. NFC.
Commit: 7f5ad7c6232415a98c920bc5b11cab51b75a1044
https://github.com/llvm/llvm-project/commit/7f5ad7c6232415a98c920bc5b11cab51b75a1044
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
Log Message:
-----------
[mlir][linalg] Emit a warning when tile_using_forall generates non thread-safe code (#80813)
**Description**
The documentation of `transform.structured.tile_using_forall` says:
_"It is the user’s responsibility to ensure that num_threads/tile_sizes
is a valid tiling specification (i.e. that only tiles parallel
dimensions, e.g. in the Linalg case)."_
In other words, tiling a non-parallel dimension would generate code with
data races which is not safe to parallelize. For example, consider this
example (included in the tests in this PR):
```
func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
%0 = scf.forall (%arg2) in (8) shared_outs(%arg3 = %arg1) -> (tensor<300x8xf32>) {
%1 = affine.min #map(%arg2)
%2 = affine.max #map1(%1)
%3 = affine.apply #map2(%arg2)
%extracted_slice = tensor.extract_slice %arg0[%3, 0, 0] [%2, 300, 8] [1, 1, 1] : tensor<100x300x8xf32> to tensor<?x300x8xf32>
%4 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["reduction", "parallel", "parallel"]} ins(%extracted_slice : tensor<?x300x8xf32>) outs(%arg3 : tensor<300x8xf32>) {
^bb0(%in: f32, %out: f32):
%5 = arith.addf %in, %out : f32
linalg.yield %5 : f32
} -> tensor<300x8xf32>
scf.forall.in_parallel {
tensor.parallel_insert_slice %4 into %arg3[0, 0] [300, 8] [1, 1] : tensor<300x8xf32> into tensor<300x8xf32>
}
}
return %0 : tensor<300x8xf32>
}
```
We can easily see that this is not safe to parallelize because all
threads would be writing to the same position in `%arg3` (in the
`scf.forall.in_parallel`.
This PR detects wether it's safe to `tile_using_forall` and emits a
warning in the case it is not.
**Brief explanation**
It first generates a vector of affine expressions representing the tile
values and stores it in `dimExprs`. These affine expressions are
compared with the affine expressions coming from the results of the
affine map of each output in the linalg op. So going back to the
previous example, the original transform is:
```
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map1 = affine_map<(d0, d1, d2) -> (d1, d2)>
func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
// expected-warning at +1 {{tiling is not thread safe at axis #0}}
%0 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["reduction", "parallel", "parallel"]} ins(%arg0 : tensor<100x300x8xf32>) outs(%arg1 : tensor<300x8xf32>) {
^bb0(%in: f32, %out: f32):
%1 = arith.addf %in, %out : f32
linalg.yield %1 : f32
} -> tensor<300x8xf32>
return %0 : tensor<300x8xf32>
}
module attributes {transform.with_named_sequence} {
transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) {
%0 = transform.structured.match ops{["linalg.generic"]} in %arg0 : (!transform.any_op) -> !transform.any_op
%forall, %tiled_generic = transform.structured.tile_using_forall %0 num_threads [8]
: (!transform.any_op) -> (!transform.any_op, !transform.any_op)
transform.yield
}
}
```
The `num_threads` attribute would be represented as `(d0)`. Because the
linalg op has only one output (`arg1`) it would only check against the
results of `#map1`, which are `(d1, d2)`. The idea is to check that all
affine expressions in `dimExprs` are present in the output affine map.
In this example, `d0` is not in `(d1, d2)`, so tiling that axis is
considered not thread safe.
Commit: 6e4aebdc18dee70f5a33d35a1759c9f59707195f
https://github.com/llvm/llvm-project/commit/6e4aebdc18dee70f5a33d35a1759c9f59707195f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[Clang] Make '-frtlib-add-rpath' include the standard library directory (#86217)
Summary:
The original intention of the `openmp-add-rpath` option was to add the
rpath to the language runtime directory. However, the current
implementation only adds it to the compiler's resource directory. This
patch adds support for appending the `-rpath` to the compiler's standard
library directory as well. Currently this is `<exe>/../lib/<triple>`.
Commit: 76be79cb89c37e6597fbf6dc9c0bb9e938342daa
https://github.com/llvm/llvm-project/commit/76be79cb89c37e6597fbf6dc9c0bb9e938342daa
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/DirectX/DXILArchitecture.rst
Log Message:
-----------
[DirectX][Docs] Add DXILIntrinsicExpansion Pass to DXILArchitecture.rst (#86198)
Completes #84839
---------
Co-authored-by: Farzon Lotfi <farzon at farzon.com>
Commit: fd5223e2f67fc410e1e167a57387f6292e5df7b5
https://github.com/llvm/llvm-project/commit/fd5223e2f67fc410e1e167a57387f6292e5df7b5
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
NFC Rename LoadBitcodeIntoNewDbgInforFormat to LoadBitcodeIntoNewDbgInfoFormat
(drop additional 'r' before Format)
Commit: fb0cd78e8a2bc2f3252e0b64c55094f408a844a8
https://github.com/llvm/llvm-project/commit/fb0cd78e8a2bc2f3252e0b64c55094f408a844a8
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
Log Message:
-----------
[mlir] Remove unused and untested `shouldSplitInputFile`. (#85622)
This was changed by #84765 but turned out to be buggy. Since it isn't
used and isn't tested, it is probably best to remove it.
Commit: e6b2f26b08339767ac1bccc0a4c5842b89b02396
https://github.com/llvm/llvm-project/commit/e6b2f26b08339767ac1bccc0a4c5842b89b02396
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/test/mlir-opt/split-markers.mlir
M mlir/test/mlir-pdll/split-markers.pdll
Log Message:
-----------
[mlir] Extend split marker tests of `mlir-opt` and `mlir-pdll`. (#85620)
Recently #84765 made the split markers of various tools configurable but
did not test *not* using the split markers for two of them. This PR adds
those tests.
Commit: 55c5cb92b361e7ade0d5f5116e9e06b5d1d43120
https://github.com/llvm/llvm-project/commit/55c5cb92b361e7ade0d5f5116e9e06b5d1d43120
Author: Paul Robinson <paul.robinson at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[X86][Headers] change 'yields' to 'returns' in more places
Commit: e2e7171645ddbe7ed5ce4321a2c02cecfd61902b
https://github.com/llvm/llvm-project/commit/e2e7171645ddbe7ed5ce4321a2c02cecfd61902b
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
Log Message:
-----------
[libc++] Implement LWG3528 (`make_from_tuple` can perform (the equivalent of) a C-style cast) (#85263)
Implement [LWG3528](https://wg21.link/LWG3528).
Based on LWG3528(https://wg21.link/LWG3528) and
http://eel.is/c++draft/description#structure.requirements-9, the
standard allows to impose requirements, we constraint
`std::make_from_tuple` to make `std::make_from_tuple` SFINAE friendly
and also avoid worse diagnostic messages. We still keep the constraints
of `std::__make_from_tuple_impl` so that `std::__make_from_tuple_impl`
will have the same advantages when used alone.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: e86deee7e008a2706501571cc03db004f6e81cbb
https://github.com/llvm/llvm-project/commit/e86deee7e008a2706501571cc03db004f6e81cbb
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/unsupported-option-gpu.c
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[BOLT] Add BB index to BAT (#86044)
Commit: 65467d2388066a9f4713bd3589a394b623c78720
https://github.com/llvm/llvm-project/commit/65467d2388066a9f4713bd3589a394b623c78720
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in llvm-lto and llvm-lto2 (#86271)
Directly load all bitcode into the new debug info format in `llvm-lto`
and `llvm-lto2`. This means that new-mode bitcode no longer round-trips
back to old-mode after parsing, and that old-mode bitcode gets
auto-upgraded to new-mode debug info (which is the current in-memory
default in LLVM).
Commit: ff887deb5493ee1adb8d9dd2256cc1c3fe6ea396
https://github.com/llvm/llvm-project/commit/ff887deb5493ee1adb8d9dd2256cc1c3fe6ea396
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] vector-half-conversions.ll - add v4f16->v4i32 fptosi/fptoui test coverage
Commit: 1c5096488668ab2679e6e5e6a6350b8d74110d95
https://github.com/llvm/llvm-project/commit/1c5096488668ab2679e6e5e6a6350b8d74110d95
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/misched-bundle.mir
Log Message:
-----------
[AArch64] Add a test to show incorrect latencies into Bundle instructions. NFC
Commit: 87e5c757ddf08c2207165be9784ef1d79cda9694
https://github.com/llvm/llvm-project/commit/87e5c757ddf08c2207165be9784ef1d79cda9694
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Added AlignConsecutiveTableGenBreakingDAGArgColons option. (#86150)
The option to specify the style of alignment of the colons inside TableGen's DAGArg.
Commit: 9455a47c4f2f3a0abb933c61533211d273e965ab
https://github.com/llvm/llvm-project/commit/9455a47c4f2f3a0abb933c61533211d273e965ab
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/test/MC/AArch64/coff-relocations.s
Log Message:
-----------
[MC][COFF][AArch64] Treat ARM64EC/X as ARM64 for relocations (#86019)
Since ARM64EC/X objects use regular ARM64 relocations, any special
handling must be done for them too.
Commit: 511ab9b7fa7f714752a255884286a9776a2d5ff7
https://github.com/llvm/llvm-project/commit/511ab9b7fa7f714752a255884286a9776a2d5ff7
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/C11/n1282.c
M clang/test/C/drs/dr0xx.c
M clang/www/c_dr_status.html
M clang/www/c_status.html
Log Message:
-----------
[C11] Add test & update status of N1282 and DR087
Our existing diagnostics for catching unsequenced modifications handles
test coverage for N1282, which is correcting the standard based on the
resolution of DR087.
Commit: e4e1d755dcbae2b81ee1733caf6bed9089396291
https://github.com/llvm/llvm-project/commit/e4e1d755dcbae2b81ee1733caf6bed9089396291
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
Log Message:
-----------
[MLIR][OpenMP] Refactor bounds offsetting and fix to apply to all directives (#84349)
This PR refactors bounds offsetting by combining the two differing
implementations (one applying to initial derived type member map
implementation for descriptors and the other for regular arrays,
effectively allocatable array vs regular array in fortran) now that it's
a little simpler to do.
The PR also moves the utilization of createAlteredByCaptureMap into
genMapInfoOp, where it will be correctly applied to all MapInfoData,
appropriately offsetting and altering Pointer data set in the kernel
argument structure on the host. This primarily means bounds offsets will
now correctly apply to enter/exit/update map clauses as opposed to just
the Target directive that is currently the case. A few fortran runtime
tests have been added to verify this new behavior.
This PR depends on: https://github.com/llvm/llvm-project/pull/84328 and
is an extraction of the larger derived type member map PR stack (so a
requirement for it to land).
Commit: ddb8ed5085f0b85bea60c313b78d5a03274d89f8
https://github.com/llvm/llvm-project/commit/ddb8ed5085f0b85bea60c313b78d5a03274d89f8
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Arith to EmitC: Handle addi, subi and muli (#86120)
Important to consider that `arith` has wrap around semantics, and in C++
signed overflow is UB.
Unless the operation guarantees that no signed overflow happens, we will
perform the arithmetic in an equivalent unsigned type.
`bool` also doesn't wrap around in C++, and is not addressed here.
Commit: 3261387a4d239fbd9e75a8952b842c97f8cf7bac
https://github.com/llvm/llvm-project/commit/3261387a4d239fbd9e75a8952b842c97f8cf7bac
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/small-tree-not-schedulable-bv-node.ll
Log Message:
-----------
[SLP]Fix a crash for non-profitable non-schedulable single buildvector node tree, if the threshold allows its vectorization.
Commit: 78b350320373176b67540465d6484ce539d1103e
https://github.com/llvm/llvm-project/commit/78b350320373176b67540465d6484ce539d1103e
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[Object] Ensure header size not to underflow in `OffloadBinary::create`
Prevent potential integer underflows when header size is not valid.
Fixes: https://github.com/llvm/llvm-project/issues/86280.
Commit: 61028ad64b66bd2ddf4b4e434d9737a042af2edf
https://github.com/llvm/llvm-project/commit/61028ad64b66bd2ddf4b4e434d9737a042af2edf
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
A clang/test/Driver/riscv-profiles.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Support RISC-V Profiles in -march option (#76357)
This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.
Currently, we replace specified profile in `-march` with standard
arch string.
This is recommitted as 66f88de was reverted because of failures
caused by lacking `--target` option.
Commit: fcd2fe9c4a80c969f7679f2e01fc65ce31c1f818
https://github.com/llvm/llvm-project/commit/fcd2fe9c4a80c969f7679f2e01fc65ce31c1f818
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/include/arpa/inet.h.def
M libc/include/assert.h.def
M libc/include/ctype.h.def
M libc/include/dirent.h.def
M libc/include/errno.h.def
M libc/include/fcntl.h.def
M libc/include/features.h.def
M libc/include/fenv.h.def
M libc/include/float.h.def
M libc/include/gpu/rpc.h.def
M libc/include/inttypes.h.def
M libc/include/limits.h.def
M libc/include/llvm-libc-macros/containerof-macro.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-types/__mutex_type.h
M libc/include/llvm-libc-types/cookie_io_functions_t.h
M libc/include/llvm-libc-types/fd_set.h
M libc/include/llvm-libc-types/mtx_t.h
M libc/include/llvm-libc-types/once_flag.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/llvm-libc-types/pthread_mutex_t.h
M libc/include/llvm-libc-types/pthread_once_t.h
M libc/include/llvm-libc-types/pthread_t.h
M libc/include/llvm-libc-types/siginfo_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/stack_t.h
M libc/include/llvm-libc-types/struct_dirent.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/llvm-libc-types/struct_rlimit.h
M libc/include/llvm-libc-types/struct_rusage.h
M libc/include/llvm-libc-types/struct_sched_param.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/struct_sockaddr_un.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/include/llvm-libc-types/struct_termios.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/thrd_t.h
M libc/include/math.h.def
M libc/include/pthread.h.def
M libc/include/sched.h.def
M libc/include/search.h.def
M libc/include/setjmp.h.def
M libc/include/signal.h.def
M libc/include/spawn.h.def
M libc/include/stdbit.h.def
M libc/include/stdckdint.h.def
M libc/include/stdfix.h.def
M libc/include/stdint.h.def
M libc/include/stdio.h.def
M libc/include/stdlib.h.def
M libc/include/string.h.def
M libc/include/strings.h.def
M libc/include/sys/auxv.h.def
M libc/include/sys/epoll.h.def
M libc/include/sys/ioctl.h.def
M libc/include/sys/mman.h.def
M libc/include/sys/prctl.h.def
M libc/include/sys/queue.h
M libc/include/sys/random.h.def
M libc/include/sys/resource.h.def
M libc/include/sys/select.h.def
M libc/include/sys/sendfile.h.def
M libc/include/sys/socket.h.def
M libc/include/sys/stat.h.def
M libc/include/sys/time.h.def
M libc/include/sys/types.h.def
M libc/include/sys/utsname.h.def
M libc/include/sys/wait.h.def
M libc/include/termios.h.def
M libc/include/threads.h.def
M libc/include/time.h.def
M libc/include/uchar.h.def
M libc/include/unistd.h.def
M libc/include/wchar.h.def
Log Message:
-----------
[libc] fix up the use of angle includes in include/ (#86027)
Performed en-masse via:
$ grep -rn "#include <ll" libc/include -l | \
xargs perl -pi -e 's/#include <ll(.*)>/#include "ll$1"/'
$ grep -rn "#include <__" libc/include -l | \
xargs perl -pi -e 's/#include <__(.*)>/#include "__$1"/'
Link: #83463
Link: #83210
Commit: 6c98a2feabf54829cc27b827e332584cc7518934
https://github.com/llvm/llvm-project/commit/6c98a2feabf54829cc27b827e332584cc7518934
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/exit.cpp
Log Message:
-----------
[libc][stdlib] initial support for __cxa_finalize (#85865)
I'm trying to break up the pieces of supporting __cxa_finalize into smaller
commits. Provide this symbol first, and make use of it from exit.
Next will be to store __dso_handle, then finally to only run callbacks that
were registered from a specific dso.
Link: #85651
Link: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#dso-dtor
Commit: 39be95a7e2458a4fac5a02bdf515d2e5b33e233f
https://github.com/llvm/llvm-project/commit/39be95a7e2458a4fac5a02bdf515d2e5b33e233f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Object/ELF.cpp
Log Message:
-----------
[Object][ELF] Ensure offset to locate dyn section does not go past size
Validate `p_offset` in `dynamicEntries` before computing the entry offset.
Fixes: https://github.com/llvm/llvm-project/issues/85568.
Commit: de008a6d8a183747409ffa5a9f40bce86947cba4
https://github.com/llvm/llvm-project/commit/de008a6d8a183747409ffa5a9f40bce86947cba4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/unsupported-option-gpu.c
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
Revert "[BOLT] Add BB index to BAT (#86044)"
This reverts commit 3b3de48fd84b8269d5f45ee0a9dc6b7448368424.
Commit: 99e6fec703a30fd80f4e5e22f90bcfa7a9939e92
https://github.com/llvm/llvm-project/commit/99e6fec703a30fd80f4e5e22f90bcfa7a9939e92
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Add BB index to BAT
Add input basic block index to BAT metadata. This addresses the case
where some basic blocks are eliminated, and output index is not equal
to the input block index. These indices are used in non-stale-matching
mode.
Increases BAT section size to:
- large binary: 39521512 bytes (1.02x original),
- medium binary: 3799988 bytes (0.64x),
- small binary: 920 bytes (0.64x).
Test Plan:
Updated bolt-address-translation{,-yaml}.test
Pull Request: https://github.com/llvm/llvm-project/pull/86044
Commit: 82ced2811a7a56ec7805c045183a5932cae2c112
https://github.com/llvm/llvm-project/commit/82ced2811a7a56ec7805c045183a5932cae2c112
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
Log Message:
-----------
[MLIR][LLVM][SROA] Fix pointer escape through stores bug (#86291)
This commit resolves a SROA bug caused by not properly checking if a
llvm store operation writes the pointer to memory or not. Now, we do no
longer consider stores that use a slot pointer as a value to store as
fixable.
Commit: 56b2e5678fd66b1dcb78fc647693d289ef47ac68
https://github.com/llvm/llvm-project/commit/56b2e5678fd66b1dcb78fc647693d289ef47ac68
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Add number of basic blocks to BAT
YAML profile reader checks the number of basic blocks in regular,
no-stale-matching mode. Add it to BAT.
This increases the size of BAT section to:
- large binary: 39583080 bytes (1.02x of the original),
- medium binary: 3816492 bytes (0.64x),
- small binary: 920 bytes (0.64x, no change due to alignment).
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, ayermolo, maksfb, dcci
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/86045
Commit: dad7c3c5a1b7b375022dad689c4289ec09d3d28d
https://github.com/llvm/llvm-project/commit/dad7c3c5a1b7b375022dad689c4289ec09d3d28d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
[RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)
Follow on from #84915 which adds the DbgRecord function variants.
Update the LLVMDIBuilderInsert... functions to insert DbgRecords instead
of debug intrinsics.
LLVMDIBuilderInsertDeclareBefore
LLVMDIBuilderInsertDeclareAtEnd
LLVMDIBuilderInsertDbgValueBefore
LLVMDIBuilderInsertDbgValueAtEnd
Calling these functions will now cause an assertion if the module is in the
wrong debug info format. They should only be used when the module is in "new
debug format".
Use LLVMIsNewDbgInfoFormat to query and LLVMSetIsNewDbgInfoFormat to change the
debug info format of a module.
Please see https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-change
(RemoveDIsDebugInfo.md) for more info.
Commit: c6134689d774f671d84269b618a0f06e35b5e53a
https://github.com/llvm/llvm-project/commit/c6134689d774f671d84269b618a0f06e35b5e53a
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
Log Message:
-----------
AMDGPU: Rename and add bf16 support for global_load_tr builtins (#86202)
Make the name of a clang builtin as close to the mnemonic instruction
name as possible. The data type suffix may not be enough to tell what
instruction the builtin is going to produce.
This patch also add the bf16 support for global_load_tr_b128 builtins.
Commit: 1918dcbba42dfc7ad5563ee13ee8d486f3dc4027
https://github.com/llvm/llvm-project/commit/1918dcbba42dfc7ad5563ee13ee8d486f3dc4027
Author: long.chen <lipracer at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][arith] fix wrong floordivsi fold (#83248)
Fixs https://github.com/llvm/llvm-project/issues/83079
Commit: 7bc56bca9784b6e2720703e84a65bcd71647995b
https://github.com/llvm/llvm-project/commit/7bc56bca9784b6e2720703e84a65bcd71647995b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
Log Message:
-----------
[mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)
Follow-up for https://github.com/llvm/llvm-project/pull/81625
Commit: 63f7e0a128b67f37331352e88837548e01254dcb
https://github.com/llvm/llvm-project/commit/63f7e0a128b67f37331352e88837548e01254dcb
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
Log Message:
-----------
[bazel] Update to 7.x (#86297)
Commit: 642117c9dd627eb604a31598005653e5655dbe86
https://github.com/llvm/llvm-project/commit/642117c9dd627eb604a31598005653e5655dbe86
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
Revert "[RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)"
This reverts commit 2091c74796b1dac68e622284c63a870b88b7554f.
Builtbot failure: https://lab.llvm.org/buildbot/#/builders/16/builds/63080
Commit: cb7ca3c66934ad40acd439a1a6420b5b9713dcb1
https://github.com/llvm/llvm-project/commit/cb7ca3c66934ad40acd439a1a6420b5b9713dcb1
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
Log Message:
-----------
[HIP][NFC] Refactor managed var codegen (#85976)
Refactor managed variable handling in codegen so that the transformation
is done separately from registration.
This will allow the new driver to register the managed var in the linker
wrapper.
Commit: 1206a5722125f1482d1336abb8d5a8406fa3b85b
https://github.com/llvm/llvm-project/commit/1206a5722125f1482d1336abb8d5a8406fa3b85b
Author: Abhin P Jose <abhinjose at live.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
Log Message:
-----------
Fixed build breaking due to #77178 and #86131 (#86290)
Fixed a small issue of matching pthread signature, which was causing the
build to break for the compiler-rt project after adding
-Wcast-function-type-mismatch to -Wextra dignostic group
(https://github.com/llvm/llvm-project/pull/77178 &
https://github.com/llvm/llvm-project/pull/86131).
Commit: a7a2e9a52b6fd4c424c53b8746e6109ed0d83706
https://github.com/llvm/llvm-project/commit/a7a2e9a52b6fd4c424c53b8746e6109ed0d83706
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/drs/dr290.c
M clang/www/c_dr_status.html
Log Message:
-----------
[C99] Update status of DR290, which we do not yet implement
Commit: c4d51418a2bf598d656881ed5acfc956e802dd0e
https://github.com/llvm/llvm-project/commit/c4d51418a2bf598d656881ed5acfc956e802dd0e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/C11/n1365.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Update the status of N1365 on constant expression handling
This paper is about constant expression handling in the presence of
FLT_EVAL_METHOD, which we handle via insertion of implicit cast nodes
in the AST.
Commit: 35d68517076a38f0f34b6518bf1dd760df65ae8c
https://github.com/llvm/llvm-project/commit/35d68517076a38f0f34b6518bf1dd760df65ae8c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add support for --incompatible_disallow_empty_glob (#85999)
This bazel flag, that should be flipped in an upcoming release
https://github.com/bazelbuild/bazel/pull/15327, fails if globs have no
matches. This helps find libraries where you are accidentally not
including files because of typos. This change removes the various globs
that were not matching anything, and uncovered some targets that were
doing nothing because their source files were deleted. There are a few
cases where globs were intentionally optional in the case of loops that
expanded to different potential options, so those now use `allow_empty =
True`. This allows downstream consumers to also flip this flags for
their own builds, where previously this would fail in LLVM instead.
The downside to this change is that if files are added in these
relatively standard locations, manual work will have to be done to add
this patterns back. If folks prefer we could instead add `allow_empty =
True` to every glob.
Commit: 98ac5ec56d73de3cbff22a24b56b34d8ace4076a
https://github.com/llvm/llvm-project/commit/98ac5ec56d73de3cbff22a24b56b34d8ace4076a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/C/C11/n1365.c
Log Message:
-----------
Removing accidental code from 527a624205748814dd9309eda7ee308b40b2359a
Commit: d5ca71487756fda2b4d27f947b025436238ef920
https://github.com/llvm/llvm-project/commit/d5ca71487756fda2b4d27f947b025436238ef920
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Refactor parent code to separate function (#86232)
This patch refactors the parent code to a separate function in the
subprocess executor to make the code more clear and easy to follow.
Commit: 262b1012c814f4ce66d6d723f566246eee0d1dc0
https://github.com/llvm/llvm-project/commit/262b1012c814f4ce66d6d723f566246eee0d1dc0
Author: Sacha Coppey <sacha.coppey at oracle.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
Log Message:
-----------
[RISCV][NFC] Add generateMCInstSeq in RISCVMatInt (#84462)
This allows to avoid duplicating the code handling the instructions
outputted by `generateInstSeq` when emitting `MCInst`s.
Commit: 21c8c1ad84db5287f9dd3f2774845accf562983a
https://github.com/llvm/llvm-project/commit/21c8c1ad84db5287f9dd3f2774845accf562983a
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Refactor parent code to separate function (#86232)"
This reverts commit bd493756fa51e538575fc320aae50d75394f0567.
Causes build failures on non-X86 platforms.
https://lab.llvm.org/buildbot/#/changes/128363
Commit: 356e1b103c2e973b439b748deae28688a5f1fe63
https://github.com/llvm/llvm-project/commit/356e1b103c2e973b439b748deae28688a5f1fe63
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
Reland "[llvm-exegesis] Refactor parent code to separate function (#86232)"
This reverts commit c3a41aac5f32475b9a0499e6e888e713763566dc.
This relands commit bd493756fa51e538575fc320aae50d75394f0567.
Apparently I forgot to update a couple values, so this change failed on
every builder that builds those sections (should be every Linux
platform) rather than something architecture specific like originally
thought. I swore I updated the values and ran check-llvm before merging.
Wondering If I forgot to push those changes...
Commit: 4f05634560a1ac6f8ed72e502195a9a0b847ae91
https://github.com/llvm/llvm-project/commit/4f05634560a1ac6f8ed72e502195a9a0b847ae91
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
A mlir/test/Dialect/Linalg/flatten-unsupported.mlir
Log Message:
-----------
[mlir][transform] Emit error message with `emitSilenceableFailure` (#86146)
The previous implementation used a `notifyMatchFailure` to emit failure
message inappropriately and then used the
`emitDefaultSilenceableFailure`. This patch changes this to use the more
appropriate `emitSilenceableFailure` with error message. Additionally a
failure test has been added.
Commit: 40c53ed8d96215ef64363c9ba2d6ae97ef86c3d0
https://github.com/llvm/llvm-project/commit/40c53ed8d96215ef64363c9ba2d6ae97ef86c3d0
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Allow shortcut for "introductory issue" and request linking to issue in PR (#84635)
The answer to many requests in issues to be assigned to users is often
"just create a pull request". That's in contradiction to the
"introductory issue" instructions posted by the GitHub bot.
This change updates the instructions, mentioning the shortcut of "just
creating a PR". Moreover, it now explains linking PRs to issues in order
to close them automatically upon merge.
Commit: 5a39f27e491152357e6cca99fd3096a90ad94cb8
https://github.com/llvm/llvm-project/commit/5a39f27e491152357e6cca99fd3096a90ad94cb8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[Target] Move SubRegIdxRanges from MCSubtargetInfo to TargetInfo. (#86245)
I'm planning to add HwMode support to SubRegIdxRanges for RISC-V GPR
pairs. The MC layer is currently unaware of the HwMode for registers and
I'd like to keep it that way.
This information is not used by the MC layer so I think it is safe to
move it.
Commit: 8caeb6426fe698c36692b0fc373993c8f98dda39
https://github.com/llvm/llvm-project/commit/8caeb6426fe698c36692b0fc373993c8f98dda39
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
Log Message:
-----------
Missed a null-ptr check in previous PR for Debuginfod testing (#86292)
@GeorgeHuyubo noticed an unchecked shared pointer result in
https://github.com/llvm/llvm-project/pull/85693/. This is the fix for
that issue.
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 8ffbfb4183df5ac2ae6c7330d22b9c51a2924e94
https://github.com/llvm/llvm-project/commit/8ffbfb4183df5ac2ae6c7330d22b9c51a2924e94
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
Fix typo (#86319)
Im working on the floating point fmaximum and fminimum functions right
now in a different pr and I ran the individual tests by doing
```
ninja libc.test.src.math.smoke.<func>_test.__unit__
```
Commit: e6f1d5013590b2e1c3eb7c54ee9175d70ecd93f5
https://github.com/llvm/llvm-project/commit/e6f1d5013590b2e1c3eb7c54ee9175d70ecd93f5
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/stdc.td
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
M libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
Log Message:
-----------
[libc] Implement strfromd() and strfroml() (#86113)
Follow up to #85438.
Implements the functions `strfromd()` and `strfroml()` introduced in
C23, and unifies the testing framework for `strfrom*()` functions.
Commit: 9dd0297a382c27cd56c18e5141110963b89f595d
https://github.com/llvm/llvm-project/commit/9dd0297a382c27cd56c18e5141110963b89f595d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
Log Message:
-----------
[RISCV] Move the RISCVSchedule.td include after RISCVRegisterInfo.td. NFC
Registers shouldn't depend on the scheduler, but a scheduler
predicate could depend on a register.
This would make it possible to move VLDSX0Pred out of the SiFive7
scheduler model to RISCVSchedule.td if another model needed it.
Commit: 62ed83970da3fc373215335fc005515c1609c046
https://github.com/llvm/llvm-project/commit/62ed83970da3fc373215335fc005515c1609c046
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A .github/workflows/issue-write.yml
M .github/workflows/pr-code-format.yml
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
Reapply [workflows] Split pr-code-format into two parts to make it more secure (#78215) (#80495)
Actions triggered by pull_request_target events have access to all
repository secrets, so it is unsafe to use them when executing untrusted
code. The pr-code-format workflow does not execute any untrusted code,
but it passes untrused input into clang-format. An attacker could use
this to exploit a flaw in clang-format and potentially gain access to
the repository secrets.
By splitting the workflow, we can use the pull_request target which is
more secure and isolate the issue write permissions in a separate job.
The pull_request target also makes it easier to test changes to the
code-format-helepr.py script, because the version of the script from the
pull request will be used rather than the version of the script from
main.
Fixes #77142
Commit: 583aaba49f79d297612eef240ca325f477ae730f
https://github.com/llvm/llvm-project/commit/583aaba49f79d297612eef240ca325f477ae730f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
Log Message:
-----------
Revert "[bazel] Update to 7.x (#86297)" (#86325)
Reverting for
https://github.com/llvm/llvm-project/pull/86297#issuecomment-2015660662
This reverts commit ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39.
Commit: 6123e2b8f9d92f273fc939cfc8e9581f469e8482
https://github.com/llvm/llvm-project/commit/6123e2b8f9d92f273fc939cfc8e9581f469e8482
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
Log Message:
-----------
Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"
This reverts commit 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883.
This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.
This was causing build failures on one of the ARMv8 builders. Still not
completely sure why, but relanding it to see if the failure pops up
again. If it does, the plan is to fix forward by disabling tests on ARM
temporarily as llvm-exegesis does not currently use SubprocessMemory
on ARM.
Commit: 532ecbd3b66c89f86fe0718ec6d38a73f24c6a6b
https://github.com/llvm/llvm-project/commit/532ecbd3b66c89f86fe0718ec6d38a73f24c6a6b
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
A llvm/test/CodeGen/SystemZ/readcyclecounter.ll
Log Message:
-----------
[SystemZ] Add support for llvm.readcyclecounter
The llvm.readcyclecounter intrinsic can be implemented via the
STORE CLOCK FAST (STCKF) instruction.
Commit: 7179756b64be0094c49279505617a4a36db1fb00
https://github.com/llvm/llvm-project/commit/7179756b64be0094c49279505617a4a36db1fb00
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc] fix missing macro dependency in bazel (#86298)
![image](https://github.com/llvm/llvm-project/assets/20108837/94cb5718-3526-4bae-8a79-f5b1d19b352d)
Commit: 618bcd768b5c94c87a1092095ae9c9b56b724cb9
https://github.com/llvm/llvm-project/commit/618bcd768b5c94c87a1092095ae9c9b56b724cb9
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP][AIX] Affinity implementation for AIX (#84984)
This patch implements `affinity` for AIX, which is quite different from
platforms such as Linux.
- Setting CPU affinity through masks and related functions are not
supported. System call `bindprocessor()` is used to bind a thread to one
CPU per call.
- There are no system routines to get the affinity info of a thread. The
implementation of `get_system_affinity()` for AIX gets the mask of all
available CPUs, to be used as the full mask only.
- Topology is not available from the file system. It is obtained through
system SRAD (Scheduler Resource Allocation Domain).
This patch has run through the libomp LIT tests successfully with
`affinity` enabled.
Commit: 2fd4542b65d45d150844cfde2ed4a3bbe38a95a9
https://github.com/llvm/llvm-project/commit/2fd4542b65d45d150844cfde2ed4a3bbe38a95a9
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-tlsdesc-relax.s
M lld/test/ELF/riscv-tlsdesc.s
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV][lld] Set the type of TLSDESC relocation's referenced local symbol to STT_NOTYPE
When adding fixups for RISCV_TLSDESC_ADD_LO and RISCV_TLSDESC_LOAD_LO,
the local label added for RISCV TLSDESC relocations have STT_TLS set,
which is incorrect. Instead, these labels should have `STT_NOTYPE`.
This patch stops adding such fixups and avoid setting the STT_TLS on
these symbols. Failing to do so can cause LLD to emit an error `has an
STT_TLS symbol but doesn't have an SHF_TLS section`. We additionally,
adjust how LLD services these relocations to avoid errors with
incompatible relocation and symbol types.
Reviewers: topperc, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/85817
Commit: 216e35abed811bd6eb50c6db1b72d8b9d46191eb
https://github.com/llvm/llvm-project/commit/216e35abed811bd6eb50c6db1b72d8b9d46191eb
Author: Chao Chen <chao.chen at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
Add XeGPU scattered ops
Compare: https://github.com/llvm/llvm-project/compare/bce9dace38f6%5E...216e35abed81
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list