[all-commits] [llvm/llvm-project] 8fc3a7: [IR] Add block number traits to CFG (#102758)
Craig Topper via All-commits
all-commits at lists.llvm.org
Tue Aug 13 11:44:52 PDT 2024
Branch: refs/heads/users/aengelke/spr/main.instcombine-dont-look-at-constantdata-users
Home: https://github.com/llvm/llvm-project
Commit: 8fc3a7974701f12f46f3f7c1f967001b0cb22847
https://github.com/llvm/llvm-project/commit/8fc3a7974701f12f46f3f7c1f967001b0cb22847
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/CFG.h
Log Message:
-----------
[IR] Add block number traits to CFG (#102758)
This enables the use of the more efficient dominator tree node access.
Commit: 64d9713637ab98e2b65c9c4317a50ddba0ba0dbc
https://github.com/llvm/llvm-project/commit/64d9713637ab98e2b65c9c4317a50ddba0ba0dbc
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Types.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Unify symlink handling (#102615)
We were using tryGetRealPathName in certain places, which resolves
symlinks (sometimes). This was resulting in discrepancies in behavior,
depending on how a file was first reached.
This path migrates all usages of tryGetRealPathName to regular getName
instead.
This implies one backward incompatible change for header-filtering. Our
ignore-header option used to filter against suffixes of absolute paths,
whereas now filter can receive working-directory relative paths in some
cases, possibly braking existing filters.
Chances of really braking users is pretty low:
- We'll still filter against absolute paths when header is outside the
working directory (e.g. /usr/bin/include/some/linux/header.h.)
- Most projects run builds in a working directory that's nested inside
the repository, hence relative paths still contain all the segments
relative to repository root and anything else is unlikely to be
meaningful. e.g. if a header is in
`$HOME/work/llvm-project/clang-tools-extra/header.h` with builds being
run in `$home/work/llvm-project/build`, we'll still filter against
`../clang-tools-extra/header.h` which has all the useful segments as a
suffix.
- This is also a change in how we handle symlinks, but this is aligned
with what we do in rest of our tools (clangd, tidy checks etc.). We
tend to not resolve any symlinks for the file.
Commit: b7863d13df2ec51fe0966f2de011965c0322c8b6
https://github.com/llvm/llvm-project/commit/b7863d13df2ec51fe0966f2de011965c0322c8b6
Author: qazwsxedcrfvtg14 <qazwsxedcrfvtg14 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
Log Message:
-----------
[mlir] Fix misleading comment for type trait (#103041)
We are using `has_initialize` to check the class has `initialize`
function instead of the `getOperationName` function.
Commit: 103cdd45fcdb8024f73f43bddf1764e26bfa0053
https://github.com/llvm/llvm-project/commit/103cdd45fcdb8024f73f43bddf1764e26bfa0053
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
A clang/test/SemaCXX/matrix-index-operator-sign-conversion.cpp
Log Message:
-----------
[Matrix] Add test showing unintended implicit sign conversion warning.
Commit: 778a1f29fc29bb184634eae14db1b39f70b7bc45
https://github.com/llvm/llvm-project/commit/778a1f29fc29bb184634eae14db1b39f70b7bc45
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Fix windows buildbots after 64d9713637ab9
Commit: 875b551de73e1b38cd40b2d39d9144c6fd0b27ec
https://github.com/llvm/llvm-project/commit/875b551de73e1b38cd40b2d39d9144c6fd0b27ec
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make computeMinimumValueSizes and collectValuesToDemote support vector instructions. (#103005)
Commit: d550ada5ab6cd6e49de71ac4c9aa27ced4c11de0
https://github.com/llvm/llvm-project/commit/d550ada5ab6cd6e49de71ac4c9aa27ced4c11de0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
Log Message:
-----------
[CodeGen][ARM64EC] Define hybrid_patchable EXP thunk symbol as a function. (#102898)
This is needed for MSVC link.exe to generate redirection metadata for hybrid patchable thunks.
Commit: dc8c217db6329f03a116ef63dafa6de02913d311
https://github.com/llvm/llvm-project/commit/dc8c217db6329f03a116ef63dafa6de02913d311
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/docs/APINotes.rst
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/swift-import-as.cpp
Log Message:
-----------
[APINotes] Support C++ tag conformances to Swift protocols
This allows adding a Clang attribute
`swift_attr("conforms_to:ModuleName.ProtocolName")` to C++ structs via
API Notes.
The Swift compiler respects this attribute when importing C++ types into
Swift by automatically declaring the C++ type as a conforming type to
the given Swift protocol.
rdar://131388824
Commit: ed7ad0a1a0584f90a211ca5a87bc46968e169e5d
https://github.com/llvm/llvm-project/commit/ed7ad0a1a0584f90a211ca5a87bc46968e169e5d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/CodeGen/X86/cttz.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/pr89877.ll
M llvm/test/CodeGen/X86/pr90847.ll
Log Message:
-----------
[X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32)) (#102900) (REAPPLIED)
On 64bit targets we can promote i32 CTTZ nodes to i64 CTTZ_ZERO_UNDEF by setting the 32nd bit.
#57811 also queried about whether we should use BTS instead of MOVABS+OR to avoid a i64 immediate - I'm willing to tweak the DAGToDAG isel peephole for these cases if reviewers think it worthwhile. But most recent CPUs can actually handle MOVABS faster than BTS/C/R.......
Reapplied with missing costmodel changes - the cost tables can probably be improved in a follow up patch.
Fixes #57811
Commit: 4197386dbde3a59e6b3133604b7a0ae10eb4ed74
https://github.com/llvm/llvm-project/commit/4197386dbde3a59e6b3133604b7a0ae10eb4ed74
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
Log Message:
-----------
[LLVM][SelectionDAG] Remove scalable vector restriction from poison analysis. (#102504)
The following functions have an early exit for scalable vectors:
SelectionDAG::canCreateUndefOrPoison
SelectionDAG:isGuaranteedNotToBeUndefOrPoison
The implementations of these don't look to be sensitive to the
vector type other than some uses of demanded elts analysis that
doesn't fully support scalable types. That said the initial
calculation demands all elements and so I've followed the same
scheme as used by TargetLowering::SimplifyDemandedBits.
Commit: 2256d00a1445e751f20040cb4292aa325dd83c8e
https://github.com/llvm/llvm-project/commit/2256d00a1445e751f20040cb4292aa325dd83c8e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Use VL.front()->getType() as ScalarTy. (#102437)
VL.front()->getType() may be FixedVectorType when revec is enabled.
Fix "Expected item in MinBWs.".
Commit: b4edfc19202cf44f8b49d2a953113b167395b595
https://github.com/llvm/llvm-project/commit/b4edfc19202cf44f8b49d2a953113b167395b595
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
[LTO] Run ObjCARCContractPass according to the callgraph (#103034)
This matches other IR codegen passes and avoids a Dominator Tree
Construction in AMDGPU O2/O3 builds.
Commit: f0f5afe9685c2085a4ca51eeb40262f1def61377
https://github.com/llvm/llvm-project/commit/f0f5afe9685c2085a4ca51eeb40262f1def61377
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Add more tests for ConvertVectorToLLVM (3/n) (#102854)
Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
* vector.extractelement
* vector.extract
I have also renamed some function names from `@extract_element{}` to
`@extractelement{}` - that's to make a clearer distinction between
tests for `vector.extractelement` (tested by `@extractelement{}`) and
`vector.extract` (tested by `@extract_element{}`).
Commit: 53c41f95db3ab3f4a5d4562fd76f7f4115c52bad
https://github.com/llvm/llvm-project/commit/53c41f95db3ab3f4a5d4562fd76f7f4115c52bad
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
Log Message:
-----------
[MemoryBuiltins] Use getAllOnesValue()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 4d97ad59f9ef4a26a52be8ff9bfcfa58d5039eb4
https://github.com/llvm/llvm-project/commit/4d97ad59f9ef4a26a52be8ff9bfcfa58d5039eb4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[InstCombine] Use APInt::getSplat()
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: 7990a7e58f0656f752178f22a767c6250b6aa8dc
https://github.com/llvm/llvm-project/commit/7990a7e58f0656f752178f22a767c6250b6aa8dc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Log Message:
-----------
[IndVars] Use getSigned() in FP transform
This transform is working on signed integer, so this is the
logically correct API.
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: adb4cfe0b61859eb0911b34c6f27eb5925cb9d94
https://github.com/llvm/llvm-project/commit/adb4cfe0b61859eb0911b34c6f27eb5925cb9d94
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Use getAllOnesValue()
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: 5c3a0fa7e5ad0b3de7c6a76c6637e63890709e97
https://github.com/llvm/llvm-project/commit/5c3a0fa7e5ad0b3de7c6a76c6637e63890709e97
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Log Message:
-----------
[GlobalISel] IRTranslator: Use RAIIMFObsDelInstaller (#102379)
Similar to #102156.
runOnMachineFunction() installs the Observer correctly manually.
finishPendingPhis() doesn't install into the MF, but this currently
can't cause issues because DILocationVerifier doesn't care about changed
instructions.
Switch to RAIIMFObsDelInstaller in both places for consistency.
Commit: 6aad4918e8d65bdebd30de3fe06b1e2f3c9e525b
https://github.com/llvm/llvm-project/commit/6aad4918e8d65bdebd30de3fe06b1e2f3c9e525b
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make MinBWs support vector instructions. (#103049)
If ScalarTy is FixedVectorType, it should remain as FixedVectorType.
Commit: b53fe2ca8c4d56be42d98c4ef5a183f90b3fb628
https://github.com/llvm/llvm-project/commit/b53fe2ca8c4d56be42d98c4ef5a183f90b3fb628
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M flang/test/Evaluate/fold-out_of_range.f90
Log Message:
-----------
[flang][test] Restrict Evaluate/fold-out_of_range.f90 to x86_64 (#102890)
`Flang :: Evaluate/fold-out_of_range.f90` currently `FAIL`s on
Linux/sparc64. This seems to be the same issue that led to disabling the
test on Solaris in 27549ee989d7e0803d41c206cf636f0b689210f1. In fact,
the generic Solaris disablement was over-eager: the test `PASS`es just
fine on Solaris/amd64.
Since the use of `REAL*10` makes the test x86-specific, this patch
actually implements that requirement.
Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: f117f0a746177bdc8b5f658e6da84cd02909aff1
https://github.com/llvm/llvm-project/commit/f117f0a746177bdc8b5f658e6da84cd02909aff1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
A libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Add a script to synchronize status-tracking CSVs with Github issues (#101704)
This script can be run manually to synchronize the CSV files that we use
to track Standards Conformance with the Github issues that track our
implementation of LWG issues and papers.
Commit: 40897638837fdc5d64d8932fd892f3b9a687ee84
https://github.com/llvm/llvm-project/commit/40897638837fdc5d64d8932fd892f3b9a687ee84
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
A llvm/test/Transforms/GlobalMerge/private-global.ll
Log Message:
-----------
[GlobalMerge] Update the GlobalMerge pass to merge private global variables. (#101222)
This patch updates the GlobalMerge pass to be able to handle private
global variables, which is required for a follow-up PowerPC specific
GlobalMerge patch to merge internal and private globals.
A new LIT test is also added to exhibit the ability to merge private
globals.
Commit: 5dbec8c6ce473352cac2d89d6a5b81f65182df59
https://github.com/llvm/llvm-project/commit/5dbec8c6ce473352cac2d89d6a5b81f65182df59
Author: xusheng <xusheng at vector35.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestStopPCs.py
Log Message:
-----------
[lldb] Claim to support swbreak and hwbreak packets when debugging a gdbremote (#102873)
This fixes https://github.com/llvm/llvm-project/issues/56125 and
https://github.com/vadimcn/codelldb/issues/666, as well as the
downstream issue in our binary ninja debugger:
https://github.com/Vector35/debugger/issues/535
Basically, lldb does not claim to support the `swbreak` packet so the
gdbserver would not use it. As a result, the gdbserver always sends the
unmodified program counter value which, on systems like x86, causes the
program counter to be off-by-one (or otherwise wrong). For reference,
the lldb-server always sends the modified program counter value so it
works perfectly with lldb.
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Stop-Reply-Packets.html#swbreak-stop-reason
No new code is added to add support `swbreak`, since the way lldb works
already expects the remote to have adjusted the program counter. The
change just lets the gdbserver know that lldb supports it, so that it
will send the adjusted program counter.
To test this PR, you can use lldb to connect to a gdbserver running on
e.g., Ubuntu 22.04, and see the program counter is off-by-one without
the patch. With the patch, things work as expected
Commit: f807c5e492878240fe6d7be23b930c78c4e62eba
https://github.com/llvm/llvm-project/commit/f807c5e492878240fe6d7be23b930c78c4e62eba
Author: J. Ryan Stinnett <jryans at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_implicit_pointer.yaml
Log Message:
-----------
[DebugInfo] Add expression decoding for `DW_OP_implicit_pointer` (#102923)
This allows `llvm-dwarfdump` to decode the DWARF 5 opcode
`DW_OP_implicit_pointer` (0xa0). GCC makes use of this opcode in recent
versions. LLVM contains some (unfinished) support as well. With existing
usage in the ecosystem, adding decoding support here seems reasonable.
Commit: f364b2ee22209e4072c39a153b3385806974f8b0
https://github.com/llvm/llvm-project/commit/f364b2ee22209e4072c39a153b3385806974f8b0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/GlobalStatus.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LLVM] Don't peek through bitcast on pointers and gep with zero indices. NFC. (#102889)
Since we are using opaque pointers now, we don't need to peek through
bitcast on pointers and gep with zero indices.
Commit: 560ed8ce3d21d5291546a946ee00ec602e11579c
https://github.com/llvm/llvm-project/commit/560ed8ce3d21d5291546a946ee00ec602e11579c
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/expm1f16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expf16.cpp
A libc/src/math/generic/expm1f16.cpp
M libc/src/math/generic/expxf16.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/expm1f16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/expm1f16_test.cpp
Log Message:
-----------
[libc][math][c23] Add expm1f16 C23 math function (#102387)
Part of #95250.
Commit: d97df40f346ee6761c3ea9cc6c60e9ee8225a6fc
https://github.com/llvm/llvm-project/commit/d97df40f346ee6761c3ea9cc6c60e9ee8225a6fc
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
Log Message:
-----------
[mlir][AMDGPU] Relax restrictions on raw_buffer_load (#102229)
The buffer load operation might temporarily admit "illegal" types, like
i4, or types not yet known to the rewrite pattern (like f8E5M2) and then
be rewritten to legal types before lowering to LLVM. This patch removes
the verifier restriction that prevents this pattern. This harmonizes the
definition of `amdgpu.raw_buffer_load` with the definition of
`amdgpu.raw_buffer_store`.
Commit: ac26c661ead4c5fb05d13c7d07a706f2a305970a
https://github.com/llvm/llvm-project/commit/ac26c661ead4c5fb05d13c7d07a706f2a305970a
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[compiler-rt][SME] Correct .variant_pcs directives. (#103047)
Commit: d385485450652dd75e0946d543c6bb4e0f3abf68
https://github.com/llvm/llvm-project/commit/d385485450652dd75e0946d543c6bb4e0f3abf68
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
Log Message:
-----------
[SCEV] Autogenerate a test for ease of upcoming update
Commit: 0f28aa632cde6fa085060383998f98ed7f8fb814
https://github.com/llvm/llvm-project/commit/0f28aa632cde6fa085060383998f98ed7f8fb814
Author: Lei Wang <wlei at fb.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-missing-probe.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-missing-probe.ll
Log Message:
-----------
[CSSPGO] Return error_code for missing probe profile (#102085)
We should undo this https://reviews.llvm.org/D102007 after undoing
https://reviews.llvm.org/D104477 to use missing probe to represent
unknown count, zero count and unknown count are different to profile
inference.
It only affects post-inline(linker) pipeline(with
`--overwrite-existing-weights` on ) and flow-sensitive FDO.
Commit: b89853b50459112a9c270616b350e25cc07671bf
https://github.com/llvm/llvm-project/commit/b89853b50459112a9c270616b350e25cc07671bf
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LLVM] Fix whitespace issues in VPBlendRecipe::execute.
Commit: 4371c79d45e8fca88957eaac42da1211c830b076
https://github.com/llvm/llvm-project/commit/4371c79d45e8fca88957eaac42da1211c830b076
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/elf.h.def
A libc/include/link.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/link-macros.h
A libc/newhdrgen/yaml/elf.yaml
A libc/newhdrgen/yaml/link.yaml
Log Message:
-----------
[libc] Reapply ELF/LINK header changes (#102765)
This is based on @izaakschroeder previous patch but I only select macro
definitions for now. We need these definitions for VDSO work, which has
been delayed for a very long time.
Co-authored-by: Izaak Schroeder <izaak.schroeder at gmail.com>
Commit: 03d51019d0c50a9a573a0d7c0848bb424cb21a18
https://github.com/llvm/llvm-project/commit/03d51019d0c50a9a573a0d7c0848bb424cb21a18
Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/test/fuzzer/fork-sigusr.test
M compiler-rt/test/fuzzer/merge-sigusr.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
Log Message:
-----------
Add REQUIRES: shell to Tests Requiring Full Shell Functionality with lit Internal Shell (#102988)
This patch adds the `REQUIRES: shell` directive to compiler-rt's fuzzer
tests that require full shell functionality when using the lit internal
shell. These tests depend on features such as background processes,
signal handling, and session management, which are not supported by
lit's internal shell. The addition of this directive ensures that these
tests are only executed in environments that provide the necessary shell
capabilities.
**Details of the Change:**
The following considerations were addressed:
- **Background Processes (`&`):** The tests run commands in the
background using the `&` operator, which allows the shell to execute
commands concurrently without waiting for each one to finish. In a
standard Unix-like shell, this is a common feature that facilitates
multitasking. However, lit's internal shell does not fully support
background job control, which can lead to unpredictable behavior or test
failures. Without proper handling of background processes, subsequent
commands that depend on the status of these processes may not function
correctly.
- **Signal Handling (`kill -SIGUSR1`, `kill -SIGUSR2`, `kill
-SIGINT`):** These tests involve sending specific signals like
`SIGUSR1`, `SIGUSR2`, and `SIGINT` to running processes. These signals
are used to trigger certain behaviors in the processes, such as pausing,
resuming, or terminating. However, lit's internal shell may not handle
these signals properly—it might not send the signal correctly, or the
process might not respond as it should. This could lead to the test
failing, not because the process is incorrect, but because the shell
didn't manage the signals as required.
- **Session Management (`setsid`):** The tests use `setsid` to create
new sessions, detaching processes from their controlling terminal and
isolating them into their own process groups. However, the internal
shell in lit does not support session management features like `setsid`,
this can't correctly isolate and manage processes as required by these
tests.
This change is relevant for enabling the lit internal shell by default,
as outlined in [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
Commit: 1ae507d1091377f560c1f458487472da1730e1be
https://github.com/llvm/llvm-project/commit/1ae507d1091377f560c1f458487472da1730e1be
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
Log Message:
-----------
AMDGPU: Do not create phi user for atomicrmw with no uses (#103061)
Commit: 17dc43d623281cc7169c80574ac5058aa0f78b56
https://github.com/llvm/llvm-project/commit/17dc43d623281cc7169c80574ac5058aa0f78b56
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
Log Message:
-----------
[clang] Stop adjusting the module cache path (#102540)
This patch stops adjustments of the module cache path beyond what is
done in `ParseHeaderSearchArgs` (making it absolute and removing dots).
This enables more efficient implementation of the caching VFS in
https://github.com/llvm/llvm-project/pull/88800.
Commit: 55323ca6c8b9d21d85591f3499b299b62463321f
https://github.com/llvm/llvm-project/commit/55323ca6c8b9d21d85591f3499b299b62463321f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps] Only bypass scanning VFS for the module cache (#88800)
The scanning VFS doesn't cache stat failures of paths with no extension.
This was originally implemented to avoid caching the non-existence of
the modules cache directory that the modular scanner will eventually
create if it does not exist.
However, this prevents caching of the non-existence of all directories
and notably also header files from the standard C++ library, which can
lead to sub-par performance.
This patch adds an API to the scanning VFS that allows clients to
configure path prefix for which to bypass the scanning VFS and use the
underlying VFS directly.
Commit: 2d7a2c1212d3539a59afec7e998af8caaa7ea1c0
https://github.com/llvm/llvm-project/commit/2d7a2c1212d3539a59afec7e998af8caaa7ea1c0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
Log Message:
-----------
AtomicExpand: Refactor atomic instruction handling (#102914)
Move the processing of an instruction into a helper function. Also
avoid redundant checking for all types of atomic instructions.
Including the assert, it was effectively performing the same check
3 times.
Commit: 246f345152e933aa40fd20929b59b5c8ef04ce38
https://github.com/llvm/llvm-project/commit/246f345152e933aa40fd20929b59b5c8ef04ce38
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make CastInst support vector instructions. (#103216)
Commit: ba400539e2880274bde7d70244269a82347dca31
https://github.com/llvm/llvm-project/commit/ba400539e2880274bde7d70244269a82347dca31
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/test/Interpreter/const.cpp
Log Message:
-----------
[Interp] Mark the test unsupported with Asan (#102859)
It's very flaky recently.
10 bulds are OK, then 3 failed:
https://lab.llvm.org/buildbot/#/builders/52/builds/1524
https://lab.llvm.org/buildbot/#/builders/52/builds/1525
https://lab.llvm.org/buildbot/#/builders/52/builds/1526
then 3 OK
https://lab.llvm.org/buildbot/#/builders/52/builds/1531
https://lab.llvm.org/buildbot/#/builders/52/builds/1532
then 2 green again
We need to stop to spam blame list by disabling the test,
and investigate later if Asan is valuable for the test.
Issue #102858
Commit: fa9f6b58285b86de794f956daa7f4027e2fc6baa
https://github.com/llvm/llvm-project/commit/fa9f6b58285b86de794f956daa7f4027e2fc6baa
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
Log Message:
-----------
[AArch64][NEON] Add famax/famin codegen patterns (#103027)
- min(abs(a), abs(b)) -> famin(a, b), max(abs(a), abs(b))-> famax(a, b)
- Changes to LLVM
- llvm/lib/Target/AArch64InstrInfo.td
- Add pattern for NEON types
- +llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
- Add tests with and without +faminmax flag.
Commit: 277ca48f2f2ab78290c0702d45b6db54a32c99cf
https://github.com/llvm/llvm-project/commit/277ca48f2f2ab78290c0702d45b6db54a32c99cf
Author: David Green <david.green at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
R llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-uaddlv.mir
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
Log Message:
-----------
[AArch64] Additional saddlv store tests. NFC
The select-intrinsic-uaddlv.mir test now lower via G_SADDLV / G_UADDLV so is no
longer needed.
Commit: 248e88523518ae66a20d02bd3636cd0a15453958
https://github.com/llvm/llvm-project/commit/248e88523518ae66a20d02bd3636cd0a15453958
Author: Mosè Giordano <mose at gnu.org>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/timing.h
Log Message:
-----------
[compiler-rt] Define `__STDC_FORMAT_MACROS` to ensure `PRId64` is available (#102980)
In
https://github.com/JuliaPackaging/Yggdrasil/pull/9246#issuecomment-2284894139
we ran into
```
[20:54:03] [ 65%] Building CXX object lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o
[20:54:03] cd /workspace/srcdir/compiler-rt-17.0.6.src/build/lib/scudo/standalone && /opt/bin/x86_64-linux-gnu-libgfortran5-cxx11/x86_64-linux-gnu-g++ --sysroot=/opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/ -I/workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/../.. -I/workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/include -Wall -Wno-unused-parameter -O3 -DNDEBUG -m64 -Werror=conversion -Wall -Wextra -pedantic -g -nostdinc++ -fvisibility=hidden -fno-exceptions -Wno-pedantic -fno-lto -O3 -fno-omit-frame-pointer -DGWP_ASAN_HOOKS -std=c++17 -MD -MT lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -MF CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o.d -o CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -c /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.cpp
[...]
[20:54:03] In file included from /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.cpp:9:
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h: In member function ‘void scudo::TimingManager::printImpl(scudo::ScopedString&, scudo::u32, scudo::u32)’:
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:21: error: expected ‘)’ before ‘PRId64’
[20:54:03] Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
[20:54:03] ~ ^~~~~~~
[20:54:03] )
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:16: warning: conversion lacks type at end of format [-Wformat=]
[20:54:03] Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
[20:54:03] ^~~~~
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:16: warning: too many arguments for format [-Wformat-extra-args]
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:186:23: error: expected ‘)’ before ‘PRId64’
[20:54:03] Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
[20:54:03] ~ ^~~~~~~
[20:54:03] )
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:186:16: warning: spurious trailing ‘%’ in format [-Wformat=]
[20:54:03] Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
[20:54:03] ^~~~~~~
```
when compiling compiler-rt with GCC 8. This was resolved by defining
`__STDC_FORMAT_MACROS`.
Commit: afd42fb3038904e8c09c0fb735e713bc052ec0e4
https://github.com/llvm/llvm-project/commit/afd42fb3038904e8c09c0fb735e713bc052ec0e4
Author: Brox Chen <broxigarchen at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
Log Message:
-----------
[AMDGPU][True16][CodeGen] Support AND/OR/XOR and LDEXP True16 format (#102620)
Support AND/OR/XOR true16 and LDEXP true/fake16 format.
These instructions are previously implemented with fake16 profile.
Fixing the implementation.
Added a RA hint so that when using 16bit register in a 32bit
instruction, try to use the register directly without an extra 16bit
move
---------
Co-authored-by: guochen2 <guochen2 at amd.com>
Commit: dcc27ea41ebc7244a10f15114f60f5e8d6b93b34
https://github.com/llvm/llvm-project/commit/dcc27ea41ebc7244a10f15114f60f5e8d6b93b34
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
M offload/test/offloading/bug51781.c
M offload/test/offloading/bug51982.c
Log Message:
-----------
[LinkerWrapper] Always pass `-flto` if the linker supports it (#102972)
Summary;
Now that we use the linker to do LTO / device linking, we need to inform
the `clang` invocation to use `-flto` so it forwards arguments like
`-On` correctly.
Commit: b4c4c799ab084f0bbd975e724384684b3ee4facb
https://github.com/llvm/llvm-project/commit/b4c4c799ab084f0bbd975e724384684b3ee4facb
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expxf16.h
Log Message:
-----------
[libc][math] Fix missing LIBC_INLINE on exp_range_reduction() function (#103305)
See Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/73/builds/3669.
Commit: 7e236136ab2896dee12bbe96d5994bb65c326e9f
https://github.com/llvm/llvm-project/commit/7e236136ab2896dee12bbe96d5994bb65c326e9f
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
Log Message:
-----------
[lldb] Skip libcxx tests with older versions of clang
Commit: 80c51fad3b683c8c9ee4c26aa41eda2f78a29627
https://github.com/llvm/llvm-project/commit/80c51fad3b683c8c9ee4c26aa41eda2f78a29627
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
Log Message:
-----------
AtomicExpand: Regenerate baseline checks (#103063)
Commit: a9604cd3212beb6cdb41a79f248723140ab9939d
https://github.com/llvm/llvm-project/commit/a9604cd3212beb6cdb41a79f248723140ab9939d
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
A llvm/unittests/Support/DynamicLibrary/DynamicLibraryTests.exports
Log Message:
-----------
[CMake] Fix DynamicLibraryTests exports symbol when plugins are enabled (#102941)
Exporting symbols from tools directory never worked with
`LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=On`. When that options is on, only
symbols from the static library is linked is exported due to the export
symbols computation script. DynamicLibraryTests needs to export a symbol
from the tools/executable directory, so update it to use export list
instead.
Commit: f0ef1d3bae02cd7623e87e759db19432717f51bf
https://github.com/llvm/llvm-project/commit/f0ef1d3bae02cd7623e87e759db19432717f51bf
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
Log Message:
-----------
[CompilerRT][Darwin] Silence the warnings for deprecated APIs (#102977)
Silence deprecated API warnings in compiler-rt on Darwin platforms.
Commit: b1aa0b0b88a0bca2553f8c6d6c52ec3b7205064b
https://github.com/llvm/llvm-project/commit/b1aa0b0b88a0bca2553f8c6d6c52ec3b7205064b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Module.cpp
M llvm/unittests/IR/DataLayoutTest.cpp
Log Message:
-----------
[DataLayout] Remove `clear` and `reset` methods (NFC) (#102993)
`clear` was never necessary as it is always called on a fresh instance
of the class or just before freeing an instance's memory. `reset` is
effectively the same as the constructor.
Pull Reuquest: https://github.com/llvm/llvm-project/pull/102993
Commit: dbe8a10c06be56d9a2a45a08ce8c95c5f0b1c21c
https://github.com/llvm/llvm-project/commit/dbe8a10c06be56d9a2a45a08ce8c95c5f0b1c21c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
Log Message:
-----------
[TypePromotion] Use return value from SmallPtrSet::insert to avoid a call to SmallPtrSet::count. NFC (#103008)
Commit: f58f92c2138ed0b3e802d0c45ba3652e72e208c4
https://github.com/llvm/llvm-project/commit/f58f92c2138ed0b3e802d0c45ba3652e72e208c4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Move SelectionDAG::getAllOnesConstant out of line. NFC (#102995)
This function has to get the scalar size and create an APInt. I don't
think it belongs inline.
Commit: 00a4042212898a26e43ba0c13ad69677e65f271b
https://github.com/llvm/llvm-project/commit/00a4042212898a26e43ba0c13ad69677e65f271b
Author: vporpo <vporpodas at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement AtomicCmpXchgInst (#102710)
This patch implements sandboxir::AtomicCmpXchgInst which mirrors
llvm::AtomiCmpXchgInst.
Commit: 494eec0255d0e270ed877e960843177759f0ee73
https://github.com/llvm/llvm-project/commit/494eec0255d0e270ed877e960843177759f0ee73
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
Log Message:
-----------
[lldb][NFCI] Simplify ProcessElfCore::GetAuxvData() (#102263)
There is no need to clone the content and set extraction properties
because `m_auxv` is already in the required form.
Commit: 6807ca8e937e6949af838995964613fab2fbe0dc
https://github.com/llvm/llvm-project/commit/6807ca8e937e6949af838995964613fab2fbe0dc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/ctxprof.ll
Log Message:
-----------
[nfc][ctx_prof] Use one flag for the "use" scenario (#103377)
No need to have two flags, one for the thinlink and one for compilation.
Commit: edded8d7b5cb310524494cca317dd3582234b56f
https://github.com/llvm/llvm-project/commit/edded8d7b5cb310524494cca317dd3582234b56f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/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/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
R llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll
Log Message:
-----------
AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (#101699)
This is now autoupgraded to annotate atomicrmw instructions in
old bitcode.
Commit: 661dda9df13c65ce021407bb726b558c7a414731
https://github.com/llvm/llvm-project/commit/661dda9df13c65ce021407bb726b558c7a414731
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
Log Message:
-----------
[clang] Add frontend flag to enable support for broken external resugarers (#103219)
Forked from https://github.com/llvm/llvm-project/pull/102510 by
[mizvekov](https://github.com/mizvekov). Changes are captured as a fixup
commit.
There are some external projects that can't rely on our own sugar
propagation for templated entities, because they need to resugar types
which only exist within their framework, and so are entirely invisible
to our internal tooling.
This new flag is meant to prevent our transforms from removing any
Subst*
nodes.
For this, this is wired only to template type alias subsititutions.
Note that our AST does represent enough information to correctly
resugar template type alias, so any users of this are limited in their
capacity to reconstruct the parameter substitutions fully.
---------
Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>
Commit: 2c8bd4a729a042ed823547ea0eacad429c50d7bf
https://github.com/llvm/llvm-project/commit/2c8bd4a729a042ed823547ea0eacad429c50d7bf
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGenHLSL/export.hlsl
Log Message:
-----------
[HLSL] Mark exported functions with "hlsl.export" attribute (#102275)
Marks exported functions with `"hlsl.export"` attribute. This
information will be later used by DXILFinalizeLinkage pass (coming soon)
to determine which functions should have internal linkage in the final
DXIL code.
Related to #llvm/llvm-project#92071
Commit: 0aa22dcd2f6ec5f46b8ef18fee88066463734935
https://github.com/llvm/llvm-project/commit/0aa22dcd2f6ec5f46b8ef18fee88066463734935
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP][AArch64] Fix branch protection in microtasks (#102317)
Start __kmp_invoke_microtask with PACBTI in order to identify the
function as a valid branch target. Before returning, SP is
authenticated.
Also add the BTI and PAC markers to z_Linux_asm.S.
With this patch, libomp.so can now be generated with DT_AARCH64_BTI_PLT
when built with -mbranch-protection=standard.
The implementation is based on the code available in compiler-rt.
Commit: ae466a61d39454d9f311e2e4b624e256bbd5d18b
https://github.com/llvm/llvm-project/commit/ae466a61d39454d9f311e2e4b624e256bbd5d18b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/ValueTypes.cpp
Log Message:
-----------
[SelectionDAG] Add getFltSemantics to MVT and EVT. NFC
This will be used to replace SelectionDAG::EVTToAPFloatSemantics
A similar method exists in IR's Type class.
Commit: 51bad732dc78d777b5dc25fd840f00b61110e4f2
https://github.com/llvm/llvm-project/commit/51bad732dc78d777b5dc25fd840f00b61110e4f2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Replace EVTToAPFloatSemantics with MVT/EVT::getFltSemantics. (#103001)
Commit: b806aa08692e961962a561fec438ed884e698be7
https://github.com/llvm/llvm-project/commit/b806aa08692e961962a561fec438ed884e698be7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/Driver/linker-wrapper.c
M clang/test/Interpreter/const.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/scudo/standalone/timing.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
M compiler-rt/test/fuzzer/fork-sigusr.test
M compiler-rt/test/fuzzer/merge-sigusr.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/elf.h.def
A libc/include/link.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/link-macros.h
A libc/newhdrgen/yaml/elf.yaml
A libc/newhdrgen/yaml/link.yaml
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expxf16.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
M llvm/cmake/modules/AddLLVM.cmake
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-uaddlv.mir
A llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.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/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
M llvm/test/ThinLTO/X86/ctxprof.ll
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
R llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
M llvm/unittests/IR/DataLayoutTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
A llvm/unittests/Support/DynamicLibrary/DynamicLibraryTests.exports
M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
M offload/test/offloading/bug51781.c
M offload/test/offloading/bug51982.c
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5-bogner
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/b7da0e982675...b806aa08692e
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