[all-commits] [llvm/llvm-project] e4fa2e: [DAG] isGuaranteedNotToBeUndefOrPoisonForTargetNod...
David Berard via All-commits
all-commits at lists.llvm.org
Fri Mar 22 13:00:33 PDT 2024
Branch: refs/heads/users/alexey-bataev/spr/slpimprove-minbitwidth-analysis-for-abssminsmaxuminumax
Home: https://github.com/llvm/llvm-project
Commit: e4fa2e3562f20106f0fe4a4d09df03a548db4eae
https://github.com/llvm/llvm-project/commit/e4fa2e3562f20106f0fe4a4d09df03a548db4eae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 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: 7678e6e562811688b472ad19900fa64cd00b7c06
https://github.com/llvm/llvm-project/commit/7678e6e562811688b472ad19900fa64cd00b7c06
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: c04807c84e2a2653ab325f1b8ec73916565e6c54
https://github.com/llvm/llvm-project/commit/c04807c84e2a2653ab325f1b8ec73916565e6c54
Author: aniplcc <aniplccode at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 50801f1095d33e712c3a51fdeef82569bd09007f
https://github.com/llvm/llvm-project/commit/50801f1095d33e712c3a51fdeef82569bd09007f
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-21 (Thu, 21 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: 7650a01927b8488b1d6d0930109e78c695193faf
https://github.com/llvm/llvm-project/commit/7650a01927b8488b1d6d0930109e78c695193faf
Author: timoh-ba <t.habighorst at beckhoff.com>
Date: 2024-03-21 (Thu, 21 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: 0c8dfc85c3740bd8905e21642f616e6fd54854e0
https://github.com/llvm/llvm-project/commit/0c8dfc85c3740bd8905e21642f616e6fd54854e0
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: 556fe5f290ea88dcbb7ced16b0f057dcebce1fd0
https://github.com/llvm/llvm-project/commit/556fe5f290ea88dcbb7ced16b0f057dcebce1fd0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-21 (Thu, 21 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: 6295e677220bb6ec1fa8abe2f4a94b513b91b786
https://github.com/llvm/llvm-project/commit/6295e677220bb6ec1fa8abe2f4a94b513b91b786
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: 38f8a3cf0d75cd25e13d3757027f7356e4466cb9
https://github.com/llvm/llvm-project/commit/38f8a3cf0d75cd25e13d3757027f7356e4466cb9
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: 6317c780d81327bd06701a6aa374fc92aa3d73ad
https://github.com/llvm/llvm-project/commit/6317c780d81327bd06701a6aa374fc92aa3d73ad
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-03-21 (Thu, 21 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: f5c90f3000bc75a344bf01bd4e0401e3fb7f9453
https://github.com/llvm/llvm-project/commit/f5c90f3000bc75a344bf01bd4e0401e3fb7f9453
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: 81bd799819f498a55e32599bce51fa98b2e73238
https://github.com/llvm/llvm-project/commit/81bd799819f498a55e32599bce51fa98b2e73238
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lldb/source/Symbol/LineEntry.cpp
Log Message:
-----------
[lldb] Add missing initialization in LineEntry ctor
Commit: d8b0d8d6713d474cfd622e03090a7ad5206ee574
https://github.com/llvm/llvm-project/commit/d8b0d8d6713d474cfd622e03090a7ad5206ee574
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-21 (Thu, 21 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: d9f0d9a1452ed78e943423c9fbbd63674625f7f5
https://github.com/llvm/llvm-project/commit/d9f0d9a1452ed78e943423c9fbbd63674625f7f5
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-03-21 (Thu, 21 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: 12836467b76c56872b4c22a6fd44bcda696ea720
https://github.com/llvm/llvm-project/commit/12836467b76c56872b4c22a6fd44bcda696ea720
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: 9a87d4d546a4382879b1beb96687acbad0ef4cc0
https://github.com/llvm/llvm-project/commit/9a87d4d546a4382879b1beb96687acbad0ef4cc0
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 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: c1c2551a2876f536b5a06f48fa809aeedbc3d7ba
https://github.com/llvm/llvm-project/commit/c1c2551a2876f536b5a06f48fa809aeedbc3d7ba
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 6eff53b4f07c1d8f6ae271254499ec087f40cc83
https://github.com/llvm/llvm-project/commit/6eff53b4f07c1d8f6ae271254499ec087f40cc83
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: 69429276098df2f2cf67dcab1c96ce8f56280c11
https://github.com/llvm/llvm-project/commit/69429276098df2f2cf67dcab1c96ce8f56280c11
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 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: 4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
https://github.com/llvm/llvm-project/commit/4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-03-21 (Thu, 21 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: 797336b1278cb7a8b788e467f8fbbc11939143a8
https://github.com/llvm/llvm-project/commit/797336b1278cb7a8b788e467f8fbbc11939143a8
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: c8772940ee4d85b1a4578b3faea7c825300ce59f
https://github.com/llvm/llvm-project/commit/c8772940ee4d85b1a4578b3faea7c825300ce59f
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 86d479fd7c837e97be116ffb9e4c92812b87360f
https://github.com/llvm/llvm-project/commit/86d479fd7c837e97be116ffb9e4c92812b87360f
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: aa571a1e8f03faa311fb135ea4b24b9414db1b74
https://github.com/llvm/llvm-project/commit/aa571a1e8f03faa311fb135ea4b24b9414db1b74
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 797336b1278c
Commit: e84a985cbf4b26c10812e9bd339db9cfd037f581
https://github.com/llvm/llvm-project/commit/e84a985cbf4b26c10812e9bd339db9cfd037f581
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-03-21 (Thu, 21 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: 3218570620a320573dfd3315da8277600a010bc1
https://github.com/llvm/llvm-project/commit/3218570620a320573dfd3315da8277600a010bc1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/oddshuffles.ll
Log Message:
-----------
[X86] Add shuffle test case for Issue #86068
Commit: aa7f8200ac29823e6c662d1f41763c2509514161
https://github.com/llvm/llvm-project/commit/aa7f8200ac29823e6c662d1f41763c2509514161
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-21 (Thu, 21 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: ac13e5c0f698c1e3f759e622d2d3cf36ab3b77f3
https://github.com/llvm/llvm-project/commit/ac13e5c0f698c1e3f759e622d2d3cf36ab3b77f3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-21 (Thu, 21 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: b3ee127e7dead25fa284b26d2c5a067671d0e896
https://github.com/llvm/llvm-project/commit/b3ee127e7dead25fa284b26d2c5a067671d0e896
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 796efa8cd5800a42eb8362564be64f3d72512a05
https://github.com/llvm/llvm-project/commit/796efa8cd5800a42eb8362564be64f3d72512a05
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: f5ef9bd26d531d104f44f9e5b283bd2f80c024be
https://github.com/llvm/llvm-project/commit/f5ef9bd26d531d104f44f9e5b283bd2f80c024be
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-21 (Thu, 21 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: 999d4f840777bf8de26d45947192aa0728edc0fb
https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-21 (Thu, 21 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: 3fefeafa49299ef924414bfa1b678e0f656b3618
https://github.com/llvm/llvm-project/commit/3fefeafa49299ef924414bfa1b678e0f656b3618
Author: dmaclach <dmaclach at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 22e7e68a40b8b1aac8b44137685d21ac4b98bd17
https://github.com/llvm/llvm-project/commit/22e7e68a40b8b1aac8b44137685d21ac4b98bd17
Author: lorenzo chelini <lchelini at nvidia.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
Log Message:
-----------
[mlir][Affine] Fix unused variable warning (NFC)
Commit: c96b61adc33b9d4ab26e2d0e4bce929b31c48768
https://github.com/llvm/llvm-project/commit/c96b61adc33b9d4ab26e2d0e4bce929b31c48768
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 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: 3eb58d15b353534fd42a3a0d1eeb7cd33d128b34
https://github.com/llvm/llvm-project/commit/3eb58d15b353534fd42a3a0d1eeb7cd33d128b34
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 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: 536cb1fad3ea3edaba8264992c8de2f4b07abc84
https://github.com/llvm/llvm-project/commit/536cb1fad3ea3edaba8264992c8de2f4b07abc84
Author: Michele Scandale <michele.scandale at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 85ccfb5ed5389a5fb2d58eab12a9266e7ea064ce
https://github.com/llvm/llvm-project/commit/85ccfb5ed5389a5fb2d58eab12a9266e7ea064ce
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-21 (Thu, 21 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: 6d939a6ec69adf284cdbef2034b49fd02ba503fc
https://github.com/llvm/llvm-project/commit/6d939a6ec69adf284cdbef2034b49fd02ba503fc
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: 2ab106cbd428984df3dda2f6983d5f956917cb69
https://github.com/llvm/llvm-project/commit/2ab106cbd428984df3dda2f6983d5f956917cb69
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-21 (Thu, 21 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: 6b1cf0040059c407264d2609403c4fc090673167
https://github.com/llvm/llvm-project/commit/6b1cf0040059c407264d2609403c4fc090673167
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-21 (Thu, 21 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: 70a9c527b8c9857fb63a87b2d2025bf9defea7f2
https://github.com/llvm/llvm-project/commit/70a9c527b8c9857fb63a87b2d2025bf9defea7f2
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 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: 628068113710d501e88b63a1506d66dd20ce7e94
https://github.com/llvm/llvm-project/commit/628068113710d501e88b63a1506d66dd20ce7e94
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-21 (Thu, 21 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: cde54df39cab3a1d60a3e1862ab341609bee3cc3
https://github.com/llvm/llvm-project/commit/cde54df39cab3a1d60a3e1862ab341609bee3cc3
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-21 (Thu, 21 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: b19bf3e888f95c35bf641cd0eee18a8da702f6fe
https://github.com/llvm/llvm-project/commit/b19bf3e888f95c35bf641cd0eee18a8da702f6fe
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-03-21 (Thu, 21 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: b609a4d7ea8b716f5f0ec83d10945362f42e730d
https://github.com/llvm/llvm-project/commit/b609a4d7ea8b716f5f0ec83d10945362f42e730d
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: e4a672ef85f76c3402b81640e1e83e5d3069d1b9
https://github.com/llvm/llvm-project/commit/e4a672ef85f76c3402b81640e1e83e5d3069d1b9
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 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: e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
https://github.com/llvm/llvm-project/commit/e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-21 (Thu, 21 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: b8e53630f899ddb8a2ec0d37bcb86608d58c4960
https://github.com/llvm/llvm-project/commit/b8e53630f899ddb8a2ec0d37bcb86608d58c4960
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-21 (Thu, 21 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: c56211b2430cf63ba3a469a4ae89cf2e829e9332
https://github.com/llvm/llvm-project/commit/c56211b2430cf63ba3a469a4ae89cf2e829e9332
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-03-21 (Thu, 21 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: 00f3454bbe04ae8cf0eeda981c439e7f97390bd4
https://github.com/llvm/llvm-project/commit/00f3454bbe04ae8cf0eeda981c439e7f97390bd4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-21 (Thu, 21 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: 6f9297fc4da9df776aef7ee9a18ac426053aaed4
https://github.com/llvm/llvm-project/commit/6f9297fc4da9df776aef7ee9a18ac426053aaed4
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-21 (Thu, 21 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: 8d1affb87181b9636b87e04a245bcde06f8a7d47
https://github.com/llvm/llvm-project/commit/8d1affb87181b9636b87e04a245bcde06f8a7d47
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-03-21 (Thu, 21 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: 1538b82fd395a2fba90842b8a8010b8dcc919499
https://github.com/llvm/llvm-project/commit/1538b82fd395a2fba90842b8a8010b8dcc919499
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-21 (Thu, 21 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: dc74bf7a5412df82223f7062d9a6b814abbfca45
https://github.com/llvm/llvm-project/commit/dc74bf7a5412df82223f7062d9a6b814abbfca45
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Add myself as codeowner for InstallAPI & TextAPI
Commit: 06d245242e3e24cd4558f545fb5ceba0582c4f03
https://github.com/llvm/llvm-project/commit/06d245242e3e24cd4558f545fb5ceba0582c4f03
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: 51d5b6581912c8495360a09a0e6be978e0374d90
https://github.com/llvm/llvm-project/commit/51d5b6581912c8495360a09a0e6be978e0374d90
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: d22cf4365ca58ccf1db21341d63ac49921f1c47a
https://github.com/llvm/llvm-project/commit/d22cf4365ca58ccf1db21341d63ac49921f1c47a
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-21 (Thu, 21 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: e66b670f3bf9312f696e66c31152ae535207d6bb
https://github.com/llvm/llvm-project/commit/e66b670f3bf9312f696e66c31152ae535207d6bb
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-21 (Thu, 21 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: 3942bd2fb56380aa050977dc6aede011e191d9b0
https://github.com/llvm/llvm-project/commit/3942bd2fb56380aa050977dc6aede011e191d9b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-21 (Thu, 21 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: 7564566779eb07e9daf41a351b09cf7607871845
https://github.com/llvm/llvm-project/commit/7564566779eb07e9daf41a351b09cf7607871845
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-21 (Thu, 21 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: 8cb2d436ca50117026a8dc901c8039d9bd39b507
https://github.com/llvm/llvm-project/commit/8cb2d436ca50117026a8dc901c8039d9bd39b507
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: a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
https://github.com/llvm/llvm-project/commit/a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
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: 3e4caa9da4356247444e973eb470a25adae083b0
https://github.com/llvm/llvm-project/commit/3e4caa9da4356247444e973eb470a25adae083b0
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: 8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
https://github.com/llvm/llvm-project/commit/8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
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: 718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
https://github.com/llvm/llvm-project/commit/718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-21 (Thu, 21 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: 4d7f28a2c4b187f0bef3877081100786156defc7
https://github.com/llvm/llvm-project/commit/4d7f28a2c4b187f0bef3877081100786156defc7
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: 40beb9b001a3c67c60b98fae9e999dcaa2d88717
https://github.com/llvm/llvm-project/commit/40beb9b001a3c67c60b98fae9e999dcaa2d88717
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-21 (Thu, 21 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: 4865dab04cad1c5ce47468b0a52ea968e5a5503b
https://github.com/llvm/llvm-project/commit/4865dab04cad1c5ce47468b0a52ea968e5a5503b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-21 (Thu, 21 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: c67ed2f1e12e1b0e16b25606e67b67a47ca848d5
https://github.com/llvm/llvm-project/commit/c67ed2f1e12e1b0e16b25606e67b67a47ca848d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
https://github.com/llvm/llvm-project/commit/e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
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: 4e165dd5ab7f7c022e23b645cd8f4676b03a9ec4
https://github.com/llvm/llvm-project/commit/4e165dd5ab7f7c022e23b645cd8f4676b03a9ec4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 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: 90454a609894ab278a87be2b9f5c49714caba8df
https://github.com/llvm/llvm-project/commit/90454a609894ab278a87be2b9f5c49714caba8df
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: 0289ae51aa375fd297f1d03d27ff517223e5e998
https://github.com/llvm/llvm-project/commit/0289ae51aa375fd297f1d03d27ff517223e5e998
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: c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
https://github.com/llvm/llvm-project/commit/c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
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: 5f1b2cffe5fab0aa733fc8d5f1546c1c800faac4
https://github.com/llvm/llvm-project/commit/5f1b2cffe5fab0aa733fc8d5f1546c1c800faac4
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: 99d8c25b3104fc07f46532bd681515c5f3c71133
https://github.com/llvm/llvm-project/commit/99d8c25b3104fc07f46532bd681515c5f3c71133
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: 465ea0bfa69aa48afef58666b084467a1c96c81b
https://github.com/llvm/llvm-project/commit/465ea0bfa69aa48afef58666b084467a1c96c81b
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: de7a50fb88faa1dafee33f10149561936214062b
https://github.com/llvm/llvm-project/commit/de7a50fb88faa1dafee33f10149561936214062b
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: 66f88de80599ec4461b0fdac3d1e396b6e83052d
https://github.com/llvm/llvm-project/commit/66f88de80599ec4461b0fdac3d1e396b6e83052d
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: cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
https://github.com/llvm/llvm-project/commit/cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
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: 6e755c51a916dc521ffe89738bcab47a5442ad06
https://github.com/llvm/llvm-project/commit/6e755c51a916dc521ffe89738bcab47a5442ad06
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: a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
https://github.com/llvm/llvm-project/commit/a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
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: 730ca47a0cc7380def6df1d25b30c1378fd8bf14
https://github.com/llvm/llvm-project/commit/730ca47a0cc7380def6df1d25b30c1378fd8bf14
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: d8e5c0b4e546c73b2d10956a9517f1f2727702ae
https://github.com/llvm/llvm-project/commit/d8e5c0b4e546c73b2d10956a9517f1f2727702ae
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: 79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
https://github.com/llvm/llvm-project/commit/79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
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: db33444ffa7e210e7040d8def958a14171f52eef
https://github.com/llvm/llvm-project/commit/db33444ffa7e210e7040d8def958a14171f52eef
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: e925968e7815ac3810fdb54bb884b8a8bed02eb5
https://github.com/llvm/llvm-project/commit/e925968e7815ac3810fdb54bb884b8a8bed02eb5
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: 74c3150ffc86a149abc68acdf8af1eed1ea0f038
https://github.com/llvm/llvm-project/commit/74c3150ffc86a149abc68acdf8af1eed1ea0f038
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: ceabaa7e7a2d02b20cbd2b31e8336dedb1d4d9f5
https://github.com/llvm/llvm-project/commit/ceabaa7e7a2d02b20cbd2b31e8336dedb1d4d9f5
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: c41286af3f30e099556c6edbef0001466afaefcb
https://github.com/llvm/llvm-project/commit/c41286af3f30e099556c6edbef0001466afaefcb
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: d03f470cbdbae3f86469ea4d79bb54d3ef680512
https://github.com/llvm/llvm-project/commit/d03f470cbdbae3f86469ea4d79bb54d3ef680512
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: d51f1c442b1dc999267726a33e25b7d019726c89
https://github.com/llvm/llvm-project/commit/d51f1c442b1dc999267726a33e25b7d019726c89
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: fe64b26df9429c82f706424dcdae3d65723c3e5e
https://github.com/llvm/llvm-project/commit/fe64b26df9429c82f706424dcdae3d65723c3e5e
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: e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
https://github.com/llvm/llvm-project/commit/e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
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: 83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
https://github.com/llvm/llvm-project/commit/83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
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: 04a6e0f1634f9a53120c27a30250d26dff4ada1c
https://github.com/llvm/llvm-project/commit/04a6e0f1634f9a53120c27a30250d26dff4ada1c
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: 31a9a4b83720af79110941824abe28fc6ff42355
https://github.com/llvm/llvm-project/commit/31a9a4b83720af79110941824abe28fc6ff42355
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: 3b3de48fd84b8269d5f45ee0a9dc6b7448368424
https://github.com/llvm/llvm-project/commit/3b3de48fd84b8269d5f45ee0a9dc6b7448368424
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: b3f98dff75469b115e3d4b1f10cbf270c8ee81af
https://github.com/llvm/llvm-project/commit/b3f98dff75469b115e3d4b1f10cbf270c8ee81af
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: a277dd82d89a17849cf99fb335660ea0b8894878
https://github.com/llvm/llvm-project/commit/a277dd82d89a17849cf99fb335660ea0b8894878
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: f82d0187a7e581d4f8f825021dbcb08e8eb37d61
https://github.com/llvm/llvm-project/commit/f82d0187a7e581d4f8f825021dbcb08e8eb37d61
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: e54af608160350baa7ae1b8069f916eb625beadd
https://github.com/llvm/llvm-project/commit/e54af608160350baa7ae1b8069f916eb625beadd
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: 46b853a82ce64e5213f8dfa2c12c6e6a950018a0
https://github.com/llvm/llvm-project/commit/46b853a82ce64e5213f8dfa2c12c6e6a950018a0
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: d231e3b10ead90e4360f7ceb88e4bca9d42d7d04
https://github.com/llvm/llvm-project/commit/d231e3b10ead90e4360f7ceb88e4bca9d42d7d04
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: 8612fa0d84c730a753d04de012a8372ba5a10677
https://github.com/llvm/llvm-project/commit/8612fa0d84c730a753d04de012a8372ba5a10677
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: 71db97152173a524a3e16e02b7fdc50f405c8695
https://github.com/llvm/llvm-project/commit/71db97152173a524a3e16e02b7fdc50f405c8695
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: 9c0a0659d40f613e873e416833d2293365b48e06
https://github.com/llvm/llvm-project/commit/9c0a0659d40f613e873e416833d2293365b48e06
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: 6f44bb7717897191be25aa01161831c67cdf5b84
https://github.com/llvm/llvm-project/commit/6f44bb7717897191be25aa01161831c67cdf5b84
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: b44771f480385fa93ba7719a57e759e19747e709
https://github.com/llvm/llvm-project/commit/b44771f480385fa93ba7719a57e759e19747e709
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: cdbec7baf1bc31b59526442c9d4d5f53aac746eb
https://github.com/llvm/llvm-project/commit/cdbec7baf1bc31b59526442c9d4d5f53aac746eb
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: 4318f7e5301fb737a7abaacb3b43b6a9289055f3
https://github.com/llvm/llvm-project/commit/4318f7e5301fb737a7abaacb3b43b6a9289055f3
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: 6e28ecd79995a72a8dbde8f16a1afc18309442a1
https://github.com/llvm/llvm-project/commit/6e28ecd79995a72a8dbde8f16a1afc18309442a1
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: f66d631bf8dc0fe33c6ba88c3dc7f00ac5946065
https://github.com/llvm/llvm-project/commit/f66d631bf8dc0fe33c6ba88c3dc7f00ac5946065
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: b0e23639c5b19030bee2b307173802914f64aad6
https://github.com/llvm/llvm-project/commit/b0e23639c5b19030bee2b307173802914f64aad6
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: cb300c33059c1d14f72392ce5dffcf050ad7567d
https://github.com/llvm/llvm-project/commit/cb300c33059c1d14f72392ce5dffcf050ad7567d
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: ceba3a38e8f7b378ad20641832d568460892af1d
https://github.com/llvm/llvm-project/commit/ceba3a38e8f7b378ad20641832d568460892af1d
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: 2091c74796b1dac68e622284c63a870b88b7554f
https://github.com/llvm/llvm-project/commit/2091c74796b1dac68e622284c63a870b88b7554f
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: 3054d0dae7a813c493d2bb8e969aa2321145a83b
https://github.com/llvm/llvm-project/commit/3054d0dae7a813c493d2bb8e969aa2321145a83b
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: 631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
https://github.com/llvm/llvm-project/commit/631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
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: 01b1b0c1f728e2c2639edc654424f50830295989
https://github.com/llvm/llvm-project/commit/01b1b0c1f728e2c2639edc654424f50830295989
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: ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
https://github.com/llvm/llvm-project/commit/ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
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: 26857582e5ee7980a71133ef8f8f579bcd90bdc8
https://github.com/llvm/llvm-project/commit/26857582e5ee7980a71133ef8f8f579bcd90bdc8
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: 8155ec13968b6457c61b8507f2ae8ba3ac3b748b
https://github.com/llvm/llvm-project/commit/8155ec13968b6457c61b8507f2ae8ba3ac3b748b
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: 7269570e4b2a5197201c959652c3e86804ed1eeb
https://github.com/llvm/llvm-project/commit/7269570e4b2a5197201c959652c3e86804ed1eeb
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: d2f684685afeffcffba7e889e7267bce1d905911
https://github.com/llvm/llvm-project/commit/d2f684685afeffcffba7e889e7267bce1d905911
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: 527a624205748814dd9309eda7ee308b40b2359a
https://github.com/llvm/llvm-project/commit/527a624205748814dd9309eda7ee308b40b2359a
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: 72c729f354d71697a1402720c90b57ff521b6739
https://github.com/llvm/llvm-project/commit/72c729f354d71697a1402720c90b57ff521b6739
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: 5184e6ad69b0ca69dfba6fb0982a675c595f49a2
https://github.com/llvm/llvm-project/commit/5184e6ad69b0ca69dfba6fb0982a675c595f49a2
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: bd493756fa51e538575fc320aae50d75394f0567
https://github.com/llvm/llvm-project/commit/bd493756fa51e538575fc320aae50d75394f0567
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: d2f8ba7d6dc7251815f1431cf8715053576615f4
https://github.com/llvm/llvm-project/commit/d2f8ba7d6dc7251815f1431cf8715053576615f4
Author: Sacha Coppey <sacha.coppey at oracle.com>
Date: 2024-03-23 (Sat, 23 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: c3a41aac5f32475b9a0499e6e888e713763566dc
https://github.com/llvm/llvm-project/commit/c3a41aac5f32475b9a0499e6e888e713763566dc
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: 36a6afdd2c7fa02548260ebe4c993b705c6e6e38
https://github.com/llvm/llvm-project/commit/36a6afdd2c7fa02548260ebe4c993b705c6e6e38
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: bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
https://github.com/llvm/llvm-project/commit/bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
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: cd8286a667d568c4319b09baa63ba899e3101a19
https://github.com/llvm/llvm-project/commit/cd8286a667d568c4319b09baa63ba899e3101a19
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: fb329f18445cb33d242cc500ca618d03674b22ad
https://github.com/llvm/llvm-project/commit/fb329f18445cb33d242cc500ca618d03674b22ad
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: b1575f9082071702bd6aaa2600ce9fe011a091e9
https://github.com/llvm/llvm-project/commit/b1575f9082071702bd6aaa2600ce9fe011a091e9
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: 721f149596f27f3d4c5c28ec2a2fac33340fb876
https://github.com/llvm/llvm-project/commit/721f149596f27f3d4c5c28ec2a2fac33340fb876
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: 83e96977cdb6041196366fc01e8abdca52cadb2e
https://github.com/llvm/llvm-project/commit/83e96977cdb6041196366fc01e8abdca52cadb2e
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: e64e15ee597370a9731fcba0b2b8a514f26125e7
https://github.com/llvm/llvm-project/commit/e64e15ee597370a9731fcba0b2b8a514f26125e7
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: 2120f574103c487787390263b3692c4b167f6bdf
https://github.com/llvm/llvm-project/commit/2120f574103c487787390263b3692c4b167f6bdf
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: 80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
https://github.com/llvm/llvm-project/commit/80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
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: 50e6218132d6d9cfc2645fa19cf72d0437a62d95
https://github.com/llvm/llvm-project/commit/50e6218132d6d9cfc2645fa19cf72d0437a62d95
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: 4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
https://github.com/llvm/llvm-project/commit/4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
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: ee9fa38554f8427f5361708b28551e70ff0e1256
https://github.com/llvm/llvm-project/commit/ee9fa38554f8427f5361708b28551e70ff0e1256
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: d394f3a162b871668d0c8e8bf6a94922fa8698ae
https://github.com/llvm/llvm-project/commit/d394f3a162b871668d0c8e8bf6a94922fa8698ae
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: dfe4ca9b7f4a422500d78280dc5eefd1979939e6
https://github.com/llvm/llvm-project/commit/dfe4ca9b7f4a422500d78280dc5eefd1979939e6
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: 476a0c2d1ae0d0aa9df183590307f58df96134bc
https://github.com/llvm/llvm-project/commit/476a0c2d1ae0d0aa9df183590307f58df96134bc
Author: David Berard <dberard at meta.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/CODEOWNERS
A .github/workflows/issue-write.yml
M .github/workflows/pr-code-format.yml
M bolt/docs/BAT.md
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.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/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.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
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/linux-static-keys.s
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Format/Format.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/Basic/LangStandards.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
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/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/FrontendOptions.cpp
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaType.cpp
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/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
A clang/test/Analysis/cxx23-static-operator.cpp
A clang/test/Analysis/getline-unixapi.c
M clang/test/Analysis/inlining/false-positive-suppression.cpp
M clang/test/Analysis/stream.c
A clang/test/C/C11/n1282.c
A clang/test/C/C11/n1365.c
M clang/test/C/drs/dr0xx.c
A clang/test/C/drs/dr290.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/ubsan-builtin-checks.c
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
A clang/test/Driver/riscv-profiles.c
M clang/test/Driver/unsupported-option-gpu.c
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
R clang/test/Sema/builtin-popcountg.c
A clang/test/Sema/count-builtins.c
M clang/test/Sema/warn-cast-function-type-strict.c
M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
A clang/test/SemaObjC/attr-objc-NSObject.m
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/www/c_dr_status.html
M clang/www/c_status.html
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
M compiler-rt/lib/tsan/tests/CMakeLists.txt
M flang/include/flang/Common/Version.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/LangOptions.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.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/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Semantics/tools.cpp
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
M flang/test/Lower/HLFIR/cray-pointers.f90
A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/cray-pointer.f90
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/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/math-macros.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
M libc/spec/stdc.td
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M libc/src/math/docs/add_math_function.md
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/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/exit.cpp
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/stdio/CMakeLists.txt
A libc/test/src/stdio/rename_test.cpp
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
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
M libcxx/include/__memory/allocator.h
M libcxx/include/tuple
M libcxx/modules/CMakeLists.txt
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
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
M lld/ELF/Relocations.cpp
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
M lld/test/ELF/riscv-tlsdesc-relax.s
M lld/test/ELF/riscv-tlsdesc.s
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
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/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.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
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
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
M llvm/docs/DirectX/DXILArchitecture.rst
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
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/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
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
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
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/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.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/AArch64/insert-subvector.ll
A llvm/test/CodeGen/AArch64/misched-bundle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
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_iterative_scan_fp.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
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
A llvm/test/CodeGen/DirectX/abs-vec.ll
A llvm/test/CodeGen/DirectX/abs.ll
A llvm/test/CodeGen/DirectX/cos.ll
A llvm/test/CodeGen/DirectX/cos_error.ll
A llvm/test/CodeGen/DirectX/fabs.ll
A llvm/test/CodeGen/DirectX/floor.ll
A llvm/test/CodeGen/DirectX/floor_error.ll
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
A llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect-explicitsect.ll
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/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.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-bitcast.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
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
M llvm/test/CodeGen/RISCV/spill-fill-fold.ll
A llvm/test/CodeGen/RISCV/zdinx-large-spill.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
A llvm/test/CodeGen/SystemZ/readcyclecounter.ll
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/addcarry.ll
M llvm/test/CodeGen/X86/apx/domain-reassignment.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/oddshuffles.ll
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/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
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
M llvm/test/MC/AArch64/coff-relocations.s
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
A llvm/test/MC/COFF/dwarf5lineinfo.s
A llvm/test/MachineVerifier/test_adjustsstack.mir
A llvm/test/Transforms/Float2Int/pr79158.ll
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/shuffle_select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shuffle_select.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/small-tree-not-schedulable-bv-node.ll
A llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/tools/CMakeLists.txt
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/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/IR/ConstantRangeTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
M llvm/utils/TableGen/InfoByHwMode.cpp
M llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/git/code-format-helper.py
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
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
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Dialect/LLVMIR/sroa.mlir
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
A mlir/test/Dialect/Linalg/flatten-unsupported.mlir
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/mlir-opt/split-markers.mlir
M mlir/test/mlir-pdll/split-markers.pdll
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
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
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/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/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:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/eb6ccb0c1ab5...476a0c2d1ae0
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